.ix-graph-v234-shell {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: block;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 46% 48%, color-mix(in srgb, var(--ix-blue) 4%, transparent), transparent 38%),
    radial-gradient(circle at 78% 34%, color-mix(in srgb, var(--ix-green) 2.2%, transparent), transparent 32%),
    linear-gradient(180deg, color-mix(in srgb, var(--ix-paper-2) 22%, transparent), transparent 30%);
}
.ix-graph-v234-shell[hidden] { display: none !important; }
.ix-graph-v234 { position: relative; width: 100%; height: 100%; min-width: 0; min-height: 300px; overflow: hidden; }
.ix-v4-root,
.ix-v4-graph-pane,
.ix-graph-v234 .react-flow,
.ix-graph-v234 .react-flow__renderer,
.ix-graph-v234 .react-flow__container { width: 100%; height: 100%; }
.ix-v4-root { position: relative; isolation: isolate; }
.ix-graph-v234 .react-flow { background: transparent; }
.ix-graph-v234 .react-flow__pane { cursor: grab; }
.ix-graph-v234 .react-flow__pane.dragging { cursor: grabbing; }
.ix-graph-v234 .react-flow__attribution { display: none; }
.ix-graph-v234 .react-flow__background pattern circle { opacity: .2; }
.ix-graph-v234 .react-flow__node { transition: transform .58s cubic-bezier(.16,.84,.2,1), opacity .24s ease; will-change: transform; }

.ix-v4-toolbar {
  position: absolute;
  z-index: 10;
  top: 14px;
  left: 16px;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  max-width: calc(100% - 110px);
  pointer-events: none;
  opacity: .7;
}
.ix-v4-toolbar span { color: color-mix(in srgb, var(--ix-green) 72%, var(--ix-muted)); font-size: 5.8px; font-weight: 900; letter-spacing: .17em; white-space: nowrap; }
.ix-v4-toolbar span::before { content: ''; display: inline-block; width: 5px; height: 5px; margin-right: 5px; border-radius: 50%; background: var(--ix-green); box-shadow: 0 0 8px color-mix(in srgb, var(--ix-green) 42%, transparent); vertical-align: 1px; }
.ix-v4-toolbar b { overflow: hidden; color: var(--ix-muted); font-size: 6px; font-weight: 650; letter-spacing: .02em; text-overflow: ellipsis; white-space: nowrap; }

/* Universal semantic nodes */
.ix-v4-node {
  --ix-v4-accent: color-mix(in srgb, var(--ix-blue) 68%, #72dcff);
  --ix-v4-soft: color-mix(in srgb, var(--ix-v4-accent) 10%, transparent);
  position: relative;
  display: grid;
  grid-template-columns: 43px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 100%;
  padding: 9px 12px 9px 10px;
  border: 1px solid color-mix(in srgb, var(--ix-v4-accent) 27%, var(--ix-line-strong));
  border-radius: 15px;
  color: var(--ix-ink);
  background:
    linear-gradient(128deg, color-mix(in srgb, var(--ix-v4-accent) 7%, transparent), transparent 48%),
    color-mix(in srgb, var(--ix-paper-2) 72%, transparent);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--ix-shadow) 38%, transparent), inset 0 1px 0 color-mix(in srgb, var(--ix-ink) 4%, transparent);
  backdrop-filter: blur(11px);
}
.ix-v4-node::before { content: ''; position: absolute; inset: 8px auto 8px -1px; width: 2px; border-radius: 0 4px 4px 0; background: var(--ix-v4-accent); opacity: .84; }
.ix-v4-node[data-tone="green"] { --ix-v4-accent: #2fc88e; }
.ix-v4-node[data-tone="blue"] { --ix-v4-accent: #4b82ff; }
.ix-v4-node[data-tone="cyan"] { --ix-v4-accent: #46c7f4; }
.ix-v4-node[data-tone="violet"] { --ix-v4-accent: #9b7cff; }
.ix-v4-node[data-tone="teal"] { --ix-v4-accent: #40c9bb; }
.ix-v4-node[data-tone="amber"] { --ix-v4-accent: #e4ae51; }
.ix-v4-node[data-tone="fuchsia"] { --ix-v4-accent: #ed5c91; }
.ix-v4-node[data-tone="red"] { --ix-v4-accent: #ef6464; }
.ix-v4-node[data-tone="neutral"] { --ix-v4-accent: color-mix(in srgb, var(--ix-muted) 70%, var(--ix-ink)); }
.ix-v4-node[data-emphasis="structural"] { border-color: color-mix(in srgb, var(--ix-v4-accent) 44%, var(--ix-line-strong)); box-shadow: 0 14px 34px color-mix(in srgb, var(--ix-shadow) 44%, transparent), 0 0 0 1px color-mix(in srgb, var(--ix-v4-accent) 5%, transparent); }
.ix-v4-node__icon { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid color-mix(in srgb, var(--ix-v4-accent) 20%, var(--ix-line)); border-radius: 12px; color: var(--ix-v4-accent); background: color-mix(in srgb, var(--ix-v4-accent) 8%, var(--ix-panel)); }
.ix-v4-node__copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ix-v4-node__eyebrow { color: color-mix(in srgb, var(--ix-v4-accent) 72%, var(--ix-muted)); font-size: 5.6px; font-weight: 900; letter-spacing: .15em; }
.ix-v4-node__copy strong { overflow: hidden; color: var(--ix-ink); font-size: 10.2px; font-weight: 800; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.ix-v4-node__copy small { overflow: hidden; color: var(--ix-muted); font-size: 6.9px; font-weight: 570; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.ix-v4-node__topology { position: absolute; top: 6px; right: 7px; padding: 2px 5px; border: 1px solid color-mix(in srgb, var(--ix-v4-accent) 18%, var(--ix-line)); border-radius: 999px; color: color-mix(in srgb, var(--ix-v4-accent) 76%, var(--ix-muted)); background: color-mix(in srgb, var(--ix-paper-2) 82%, transparent); font-size: 4.7px; font-weight: 900; letter-spacing: .08em; }
.ix-v4-node__details { display: none; gap: 3px; margin-top: 5px; }
.ix-v4-node[data-density="detail"] .ix-v4-node__details { display: flex; }
.ix-v4-node__details span { display: flex; gap: 4px; align-items: baseline; }
.ix-v4-node__details b { color: var(--ix-muted); font-size: 5px; font-weight: 700; text-transform: uppercase; }
.ix-v4-node__details em { overflow: hidden; color: var(--ix-ink); font-size: 5.7px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.ix-v4-node[data-density="compact"] { grid-template-columns: 35px minmax(0,1fr); gap: 7px; padding: 7px 9px; }
.ix-v4-node[data-density="compact"] .ix-v4-node__icon { width: 31px; height: 31px; border-radius: 10px; }
.ix-v4-node[data-density="compact"] .ix-v4-node__copy small,
.ix-v4-node[data-density="compact"] .ix-v4-node__topology { display: none; }

.ix-v4-handle { width: 7px !important; height: 7px !important; border: 1px solid color-mix(in srgb, var(--ix-v4-accent, var(--ix-blue)) 62%, var(--ix-paper-2)) !important; background: color-mix(in srgb, var(--ix-v4-accent, var(--ix-blue)) 78%, var(--ix-paper-2)) !important; box-shadow: 0 0 0 2px color-mix(in srgb, var(--ix-paper-2) 80%, transparent); }
.ix-v4-handle--target { left: -4px !important; }
.ix-v4-handle--source { right: -4px !important; }

/* Semantic edges */
.ix-v4-edge-path { fill: none; stroke: color-mix(in srgb, var(--ix-muted) 54%, transparent); stroke-width: 1.35; transition: stroke .25s ease, stroke-width .25s ease, opacity .25s ease; }
.ix-v4-edge--conditional { stroke: color-mix(in srgb, var(--ix-green) 70%, var(--ix-muted)); }
.ix-v4-edge--handoff { stroke: #d7a54e; }
.ix-v4-edge--integration { stroke: #8973d8; stroke-dasharray: 5 5; }
.ix-v4-edge--data { stroke: #43afa7; }
.ix-v4-edge--notification { stroke: #4f80e8; stroke-dasharray: 2 4; }
.ix-v4-edge--dependency { stroke: #55b3ce; stroke-dasharray: 4 4; }
.ix-v4-edge--comparison { stroke: #d85b91; stroke-dasharray: 7 4; }
.ix-v4-edge--loop { stroke: #d85b91; stroke-dasharray: 3 4; }
.ix-v4-edge--recent { stroke-width: 2; animation: ix-v4-edge-focus 1.15s ease-out both; }
@keyframes ix-v4-edge-focus { 0% { opacity: .18; stroke-width: 3.1; } 55% { opacity: 1; } 100% { opacity: 1; stroke-width: 1.55; } }
.ix-v4-edge-label { position: absolute; z-index: 8; max-width: 110px; padding: 4px 7px; border: 1px solid color-mix(in srgb, var(--ix-line-strong) 70%, transparent); border-radius: 999px; color: var(--ix-muted-strong); background: color-mix(in srgb, var(--ix-paper-2) 92%, transparent); box-shadow: 0 6px 18px color-mix(in srgb, var(--ix-shadow) 24%, transparent); font-size: 6px; font-weight: 800; line-height: 1; pointer-events: none; white-space: nowrap; }
.ix-v4-edge-label--conditional { color: color-mix(in srgb, var(--ix-green) 82%, var(--ix-ink)); border-color: color-mix(in srgb, var(--ix-green) 28%, var(--ix-line)); }

.ix-v4-empty { position: absolute; inset: 0; display: grid; place-content: center; gap: 7px; text-align: center; pointer-events: none; }
.ix-v4-empty span { color: var(--ix-green); font-size: 6px; font-weight: 900; letter-spacing: .18em; }
.ix-v4-empty strong { font-size: clamp(20px, 3vw, 34px); font-weight: 820; letter-spacing: -.04em; }
.ix-v4-empty small { color: var(--ix-muted); font-size: 9px; }

/* Resource / multimedia projections */
.ix-v4-resource,
.ix-v4-spotlight { position: absolute; inset: 46px 18px 18px; overflow: hidden; border: 1px solid var(--ix-line); border-radius: 24px; background: color-mix(in srgb, var(--ix-paper-2) 78%, transparent); box-shadow: 0 18px 54px color-mix(in srgb, var(--ix-shadow) 34%, transparent); backdrop-filter: blur(14px); }
.ix-v4-resource { display: grid; grid-template-rows: auto minmax(0,1fr) auto; padding: 22px; gap: 16px; }
.ix-v4-resource__head { display: grid; gap: 7px; max-width: 820px; }
.ix-v4-resource__head > span,
.ix-v4-spotlight__copy > span { color: var(--ix-green); font-size: 6.4px; font-weight: 900; letter-spacing: .18em; }
.ix-v4-resource__head strong { font-size: clamp(19px, 2.7vw, 34px); font-weight: 850; letter-spacing: -.045em; }
.ix-v4-resource__head p { margin: 0; max-width: 760px; color: var(--ix-muted); font-size: clamp(8px, 1vw, 11px); line-height: 1.6; }
.ix-v4-resource__cta { justify-self: start; display: inline-flex; gap: 8px; align-items: center; padding: 8px 12px; border: 1px solid var(--ix-line-strong); border-radius: 999px; color: var(--ix-ink); text-decoration: none; font-size: 7px; font-weight: 800; transition: transform .2s var(--ix-ease), background .2s var(--ix-ease); }
.ix-v4-resource__cta:hover { transform: translateY(-1px); background: var(--ix-panel); }

.ix-v4-gallery__grid { min-height: 0; overflow: auto; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; padding-right: 2px; }
.ix-v4-person { min-width: 0; overflow: hidden; border: 1px solid var(--ix-line); border-radius: 16px; background: color-mix(in srgb, var(--ix-paper) 68%, transparent); }
.ix-v4-person__photo { aspect-ratio: 1 / 1; overflow: hidden; background: var(--ix-panel); display:grid; place-items:center; }
.ix-v4-person__photo img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: 50% 50%; filter: saturate(.86) contrast(1.02); transition: transform .45s var(--ix-ease), filter .3s ease; }
.ix-v4-person:hover img { transform: scale(1.035); filter: saturate(1) contrast(1.04); }
.ix-v4-person__meta { display: grid; gap: 3px; padding: 9px 10px 11px; }
.ix-v4-person__meta strong { overflow: hidden; font-size: 8px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.ix-v4-person__meta small { color: var(--ix-muted); font-size: 5.6px; line-height: 1.35; }

.ix-v4-map__frame,
.ix-v4-media__frame { min-height: 0; overflow: hidden; border: 1px solid var(--ix-line); border-radius: 18px; background: #090a0c; }
.ix-v4-map__frame iframe,
.ix-v4-media__frame iframe { width: 100%; height: 100%; min-height: 240px; border: 0; display: block; }
.ix-v4-media__frame { aspect-ratio: 16 / 8.5; }

.ix-v4-spotlight { display: grid; grid-template-columns: minmax(120px, .58fr) minmax(0, 1.42fr); align-items: center; gap: clamp(24px, 5vw, 74px); padding: clamp(28px, 5vw, 70px); }
.ix-v4-spotlight__icon { justify-self: center; display: grid; place-items: center; width: clamp(96px, 13vw, 160px); aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--ix-blue) 24%, var(--ix-line)); border-radius: 32px; color: var(--ix-blue); background: radial-gradient(circle at 50% 36%, color-mix(in srgb, var(--ix-blue) 16%, transparent), transparent 64%), var(--ix-panel); box-shadow: 0 26px 70px color-mix(in srgb, var(--ix-shadow) 30%, transparent); }
.ix-v4-spotlight[data-tone="green"] .ix-v4-spotlight__icon { color: var(--ix-green); border-color: color-mix(in srgb, var(--ix-green) 26%, var(--ix-line)); }
.ix-v4-spotlight[data-tone="violet"] .ix-v4-spotlight__icon { color: #9b7cff; }
.ix-v4-spotlight[data-tone="fuchsia"] .ix-v4-spotlight__icon { color: var(--ix-fuchsia); }
.ix-v4-spotlight__copy { display: grid; align-content: center; gap: 10px; max-width: 720px; }
.ix-v4-spotlight__copy h4 { margin: 0; font-size: clamp(28px, 5vw, 64px); font-weight: 900; letter-spacing: -.065em; line-height: .98; }
.ix-v4-spotlight__copy p { margin: 0; color: var(--ix-muted); font-size: clamp(9px, 1.25vw, 13px); line-height: 1.6; }
.ix-v4-spotlight__bullets { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 4px; }
.ix-v4-spotlight__bullets span { padding: 6px 9px; border: 1px solid var(--ix-line); border-radius: 999px; color: var(--ix-muted-strong); background: var(--ix-panel-soft); font-size: 6.5px; font-weight: 700; }
.ix-v4-spotlight .ix-v4-resource__cta { margin-top: 5px; }

/* Hybrid graph + resource */
.ix-v4-hybrid { position: absolute; inset: 40px 12px 12px; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(240px, .75fr); gap: 10px; min-height: 0; }
.ix-v4-hybrid > .ix-v4-graph-pane,
.ix-v4-hybrid__resource { min-height: 0; overflow: hidden; border: 1px solid var(--ix-line); border-radius: 20px; background: color-mix(in srgb, var(--ix-paper-2) 50%, transparent); }
.ix-v4-hybrid__resource { position: relative; }
.ix-v4-hybrid__resource .ix-v4-resource { position: absolute; inset: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; padding: 14px; gap: 10px; }
.ix-v4-hybrid__resource .ix-v4-resource__head strong { font-size: 18px; }
.ix-v4-hybrid__resource .ix-v4-resource__head p { font-size: 7px; }
.ix-v4-hybrid__resource .ix-v4-gallery__grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
.ix-v4-hybrid__resource .ix-v4-person__meta { padding: 6px 7px 8px; }
.ix-v4-hybrid__resource .ix-v4-person__meta strong { font-size: 6.5px; }
.ix-v4-hybrid__resource .ix-v4-person__meta small { font-size: 4.8px; }
.ix-v4-hybrid__resource .ix-v4-map__frame iframe,
.ix-v4-hybrid__resource .ix-v4-media__frame iframe { min-height: 180px; }

.ix-canvas-v4-engine { position: absolute; inset: 0; display: grid; place-content: center; gap: 8px; padding: 30px; text-align: center; }
.ix-canvas-v4-engine span { color: var(--ix-green); font-size: 6px; font-weight: 900; letter-spacing: .18em; }
.ix-canvas-v4-engine strong { font-size: 24px; }
.ix-canvas-v4-engine small { color: var(--ix-muted); font-size: 8px; }
.ix-canvas-v4-engine--error span { color: #ef6464; }

@media (max-width: 900px) {
  .ix-v4-gallery__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .ix-v4-hybrid { grid-template-columns: minmax(0, 1.3fr) minmax(210px, .8fr); }
}
@media (max-width: 680px) {
  .ix-v4-toolbar { top: 9px; left: 10px; }
  .ix-v4-resource,
  .ix-v4-spotlight { inset: 36px 8px 8px; border-radius: 18px; }
  .ix-v4-resource { padding: 14px; }
  .ix-v4-gallery__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ix-v4-spotlight { grid-template-columns: 1fr; align-content: center; text-align: center; gap: 18px; padding: 24px 18px; }
  .ix-v4-spotlight__icon { width: 90px; border-radius: 24px; }
  .ix-v4-spotlight__copy { justify-items: center; }
  .ix-v4-spotlight__copy h4 { font-size: clamp(28px, 10vw, 44px); }
  .ix-v4-spotlight__bullets { justify-content: center; }
  .ix-v4-hybrid { inset: 34px 6px 6px; grid-template-columns: 1fr; grid-template-rows: minmax(230px, 1fr) minmax(210px, .8fr); }
  .ix-v4-hybrid__resource .ix-v4-gallery__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}


/* Presentation state v5 */
.ix-v4-process-snapshot { position:absolute; z-index:8; top:40px; left:12px; right:12px; min-height:38px; display:flex; align-items:center; gap:10px; padding:7px 10px; border:1px solid var(--ix-line); border-radius:12px; background:color-mix(in srgb, var(--ix-paper-2) 88%, transparent); backdrop-filter: blur(12px); box-shadow:0 8px 26px color-mix(in srgb,var(--ix-shadow) 12%,transparent); }
.ix-v4-process-snapshot__label { flex:0 0 auto; color:var(--ix-muted-soft); font-size:5.5px; font-weight:900; letter-spacing:.16em; }
.ix-v4-process-snapshot__flow { min-width:0; display:flex; align-items:center; gap:6px; overflow:hidden; white-space:nowrap; }
.ix-v4-process-snapshot__flow b { max-width:150px; overflow:hidden; text-overflow:ellipsis; color:var(--ix-muted-strong); font-size:6.5px; font-weight:750; }
.ix-v4-process-snapshot__flow i { color:var(--ix-green); font-size:8px; font-style:normal; }
.ix-v4-process-snapshot small { margin-left:auto; color:var(--ix-muted-soft); font-size:5.5px; white-space:nowrap; }
.ix-v4-root:has(.ix-v4-process-snapshot) > .ix-v4-graph-pane { top:84px; }
.ix-v4-snapshot-only { position:absolute; inset:40px 12px 12px; display:grid; place-items:start stretch; }
.ix-v4-snapshot-only .ix-v4-process-snapshot { position:relative; inset:auto; top:auto; left:auto; right:auto; margin-top:22px; }
.ix-v4-widget__frame { min-height:0; flex:1 1 auto; overflow:hidden; border:1px solid var(--ix-line); border-radius:14px; background:var(--ix-panel); }
.ix-v4-widget__frame iframe { display:block; width:100%; height:100%; min-height:360px; border:0; background:#fff; }

@media (prefers-reduced-motion: reduce) {
  .ix-graph-v234 .react-flow__node,
  .ix-v4-person__photo img,
  .ix-v4-resource__cta { transition: none !important; }
  .ix-v4-edge--recent { animation: none !important; }
}

/* INDEX2 V4 / PRESERVED HOME ENTRY
   The legacy atomic composer stylesheet used to own these rules even though
   they belong to the Index2 shell. Keep the Paula entry self-contained here
   while the old Canvas styles remain retired. */
.ix-home--paula-entry {
  width: min(1240px, calc(100% - 72px));
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  grid-template-rows: 1fr;
  align-items: center;
  gap: clamp(46px, 7vw, 110px);
}

.ix-home--paula-entry .ix-home__copy {
  align-self: center;
  max-width: 850px;
}

.ix-home--paula-entry h1 {
  font-size: clamp(48px, 5.4vw, 82px);
}

.ix {
  --ix-paula-entry-orb-size: 286px;
}

.ix-home-paula {
  position: relative;
  z-index: 4;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 16px;
  min-width: 0;
  transition: opacity .46s var(--ix-ease), transform .62s var(--ix-ease);
}

.ix-home-paula__trigger {
  appearance: none;
  display: grid;
  justify-items: center;
  gap: 8px;
  width: min(100%, var(--ix-paula-entry-orb-size));
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ix-ink);
  cursor: pointer;
}

.ix-home-paula__orb {
  position: relative;
  display: block;
  width: min(100%, var(--ix-paula-entry-orb-size));
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
  transition: transform .5s var(--ix-ease), filter .5s var(--ix-ease);
}

.ix-home-paula__orb::before {
  content: "";
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(111,78,255,.11), transparent 68%);
  filter: blur(24px);
}

.ix-home-paula__orb img,
.ix-home-paula__orb video {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 22px 38px rgba(50,31,135,.2));
}

.ix-home-paula__orb .ix-home-paula__video {
  object-fit: cover;
  object-position: 50% 50%;
  transform: scale(2.15);
  transform-origin: 50% 50%;
}

.ix-home-paula__trigger strong {
  font-size: clamp(18px, 1.65vw, 24px);
  line-height: 1;
  letter-spacing: -.035em;
  font-weight: 800;
}

.ix-home-paula__trigger::after {
  content: "↗";
  margin-top: 2px;
  color: var(--ix-muted);
  font-size: 15px;
  transition: transform .32s var(--ix-ease), color .32s var(--ix-ease);
}

.ix-home-paula__trigger:hover .ix-home-paula__orb,
.ix-home-paula__trigger:focus-visible .ix-home-paula__orb {
  transform: scale(1.035);
  filter: brightness(1.08);
}

.ix-home-paula__trigger:hover .ix-home-paula__video,
.ix-home-paula__trigger:focus-visible .ix-home-paula__video {
  filter: brightness(1.08) drop-shadow(0 24px 42px rgba(62,38,160,.24));
}

.ix-home-paula__trigger:hover::after,
.ix-home-paula__trigger:focus-visible::after {
  color: var(--ix-ink);
  transform: translate(3px,-3px);
}

.ix-home-paula__traditional {
  color: var(--ix-muted-strong);
  font-size: 11px;
  line-height: 1;
  letter-spacing: .02em;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .28s var(--ix-ease), border-color .28s var(--ix-ease), opacity .28s var(--ix-ease);
}

.ix-home-paula__traditional:hover,
.ix-home-paula__traditional:focus-visible {
  color: var(--ix-ink);
  border-bottom-color: var(--ix-line-strong);
}

.ix.is-entering-voice .ix-home-paula {
  opacity: 0;
  transform: translateY(-10px);
}

@media (max-width: 1100px) {
  .ix { --ix-paula-entry-orb-size: 205px; }
  .ix-home--paula-entry {
    grid-template-columns: minmax(0,1fr) minmax(260px,.55fr);
    gap: 30px;
  }
}

@media (max-width: 820px) {
  .ix { --ix-paula-entry-orb-size: 230px; }
  .ix-home--paula-entry {
    width: min(100% - 34px, 760px);
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    align-content: center;
    gap: 24px;
    padding: 30px 0 24px;
    overflow-y: auto;
  }
  .ix-home--paula-entry .ix-home__copy {
    text-align: center;
    justify-self: center;
  }
  .ix-home--paula-entry .ix-home__intro {
    margin-left: auto;
    margin-right: auto;
  }
  .ix-home-paula { gap: 11px; }
}

@media (max-width: 560px) {
  .ix { --ix-paula-entry-orb-size: 210px; }
  .ix-home--paula-entry {
    width: calc(100% - 28px);
    gap: 16px;
    padding: 22px 0 18px;
  }
  .ix-home--paula-entry h1 { font-size: clamp(34px,10.8vw,50px); }
  .ix-home--paula-entry .ix-home__intro,
  .ix-home--paula-entry .ix-home__command { font-size: 13px; line-height: 1.45; }
  .ix-home-paula__trigger strong { font-size: 18px; }
}


/* Canvas v4.1 — one active interest at a time. Pills are navigation for the
   semantic presentation, not links away from the conversation. */
.ix .ix-solution-chip.is-active-interest {
  border-color: color-mix(in srgb, var(--solution-tone) 58%, var(--ix-line-strong));
  background: color-mix(in srgb, var(--solution-tone) 10%, var(--ix-panel));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--solution-tone) 11%, transparent), 0 8px 28px color-mix(in srgb, var(--solution-tone) 8%, transparent);
}
.ix .ix-solution-chip.is-active-interest::before { opacity: 1; }
.ix .ix-solution-chip.is-active-interest strong { color: var(--ix-ink); }
.ix .ix-solution-chip.is-active-interest i {
  color: var(--solution-tone);
  font-size: 7px;
  transform: none;
}
.ix .ix-solution-chip:not(.is-active-interest) { opacity: .72; }
.ix .ix-solution-chip:not(.is-active-interest):hover,
.ix .ix-solution-chip:not(.is-active-interest):focus-visible { opacity: 1; }

@media (max-width: 680px) {
  .ix-v4-root { overflow: visible; }
  .ix-v4-graph-pane { overflow: hidden; }
  .ix-v4-process-snapshot { top:36px; left:7px; right:7px; padding:7px 8px; align-items:flex-start; }
  .ix-v4-process-snapshot__flow { overflow-x:auto; scrollbar-width:none; }
  .ix-v4-process-snapshot__flow::-webkit-scrollbar { display:none; }
  .ix-v4-process-snapshot__flow b { max-width:120px; font-size:6px; }
  .ix-v4-root:has(.ix-v4-process-snapshot) > .ix-v4-graph-pane { top:82px; }
  .ix-v4-widget__frame iframe { min-height:520px; }
  .ix-v4-hybrid { grid-template-rows:minmax(310px,1fr) minmax(300px,.9fr); }
  .ix-graph-v234 .react-flow__controls { transform:scale(.86); transform-origin:bottom right; }
}

/* UX v5: reserve physical Canvas space for the compact current-process snapshot. */
.ix-v4-root > .ix-v4-graph-pane { position:absolute; inset:0; }
.ix-v4-root:has(.ix-v4-process-snapshot) > .ix-v4-graph-pane { top:84px; height:auto; }
.ix-v4-root:has(.ix-v4-process-snapshot) > .ix-v4-hybrid { top:84px; }
@media (max-width: 680px) {
  .ix-v4-root:has(.ix-v4-process-snapshot) > .ix-v4-graph-pane { top:82px; height:auto; }
  .ix-v4-root:has(.ix-v4-process-snapshot) > .ix-v4-hybrid { top:82px; }
}


/* INDEX2 V6 / react-flow controls visual fix */
.ix-graph-v234 .react-flow__controls {
  right: 12px;
  bottom: 12px;
  border: 1px solid color-mix(in srgb, var(--ix-line) 82%, transparent);
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in srgb, var(--ix-paper) 86%, transparent);
  box-shadow: 0 10px 26px color-mix(in srgb, var(--ix-shadow) 22%, transparent);
  backdrop-filter: blur(10px);
}

.ix-graph-v234 .react-flow__controls-button {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--ix-line) 92%, transparent);
  background: transparent !important;
  color: var(--ix-ink) !important;
  box-shadow: none;
  transition: background-color .18s var(--ix-ease), color .18s var(--ix-ease);
}

.ix-graph-v234 .react-flow__controls-button:hover {
  background: color-mix(in srgb, var(--ix-panel) 78%, transparent) !important;
}

.ix-graph-v234 .react-flow__controls-button:last-child {
  border-bottom: 0;
}

.ix-graph-v234 .react-flow__controls-button svg {
  width: 16px;
  height: 16px;
  display: block;
}

.ix-graph-v234 .react-flow__controls-button svg,
.ix-graph-v234 .react-flow__controls-button svg * {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8;
  vector-effect: non-scaling-stroke;
}

@media (max-width: 680px) {
  .ix-graph-v234 .react-flow__controls {
    right: 8px;
    bottom: 8px;
    transform: scale(.82);
    transform-origin: bottom right;
  }
}

/* INDEX2 V6 / resource fitting and modal Calendly launcher */
.ix-v4-person__photo {
  aspect-ratio: 9 / 10;
  padding: 3px 3px 0;
}
.ix-v4-person__photo img {
  object-fit: contain !important;
  object-position: 50% 50% !important;
}

.ix-v4-widget--launcher {
  grid-template-rows: auto minmax(0, 1fr);
}
.ix-v4-widget-launcher {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(18px, 4vw, 54px);
  padding: clamp(18px, 4vw, 48px);
  border: 1px solid var(--ix-line);
  border-radius: 20px;
  background:
    radial-gradient(circle at 80% 24%, color-mix(in srgb, var(--ix-fuchsia) 10%, transparent), transparent 34%),
    color-mix(in srgb, var(--ix-panel) 78%, transparent);
}
.ix-v4-widget-launcher__copy { min-width: 0; display: grid; gap: 9px; }
.ix-v4-widget-launcher__copy span { color: var(--ix-fuchsia); font-size: 6px; font-weight: 900; letter-spacing: .17em; }
.ix-v4-widget-launcher__copy strong { font-size: clamp(19px, 3vw, 34px); font-weight: 840; letter-spacing: -.045em; }
.ix-v4-widget-launcher__copy p { max-width: 560px; margin: 0; color: var(--ix-muted); font-size: clamp(8px, 1vw, 11px); line-height: 1.6; }
.ix-v4-widget-launcher__icon {
  width: clamp(86px, 11vw, 132px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--ix-fuchsia) 28%, var(--ix-line));
  border-radius: 30px;
  color: var(--ix-fuchsia);
  background: color-mix(in srgb, var(--ix-fuchsia) 7%, var(--ix-paper-2));
}
.ix-v4-widget--launcher .ix-v4-resource__cta { margin-top: 5px; }
.ix-v4-resource__cta[type="button"] { font-family: inherit; cursor: pointer; background: transparent; }

.ix-v4-external-placeholder {
  min-height: 0;
  height: 100%;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 9px;
  padding: 24px;
  text-align: center;
  border: 1px solid var(--ix-line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--ix-panel) 78%, transparent);
}
.ix-v4-external-placeholder strong { font-size: 15px; }
.ix-v4-external-placeholder p { max-width: 430px; margin: 0; color: var(--ix-muted); font-size: 8px; line-height: 1.55; }
.ix-v4-external-placeholder button { margin-top: 4px; }

@media (min-width: 1280px) and (min-height: 720px) {
  .ix-v4-gallery__grid {
    grid-template-columns: repeat(7, minmax(105px, 1fr));
    align-content: center;
    overflow: hidden;
    gap: 9px;
  }
  .ix-v4-person__meta { padding: 8px 8px 9px; }
  .ix-v4-person__meta strong { font-size: 7.5px; }
  .ix-v4-person__meta small { font-size: 5.1px; }
}

@media (max-height: 760px) and (min-width: 681px) {
  .ix-v4-resource { inset: 42px 12px 12px; padding: 16px; gap: 10px; }
  .ix-v4-resource__head { gap: 4px; }
  .ix-v4-resource__head strong { font-size: clamp(18px, 2.2vw, 27px); }
  .ix-v4-gallery__grid { gap: 8px; }
  .ix-v4-person__meta { padding: 6px 8px 8px; }
}

@media (max-width: 680px) {
  .ix-v4-widget-launcher { grid-template-columns: 1fr; justify-items: start; padding: 18px; }
  .ix-v4-widget-launcher__icon { width: 72px; border-radius: 22px; }
  .ix-v4-gallery__grid { align-content: start; }
}


/* INDEX2 V10 / resource fitting at the same compact breakpoint as the shell. */
@media (max-width: 820px) {
  .ix-v4-resource,
  .ix-v4-spotlight {
    inset: 36px 8px 8px;
    border-radius: 18px;
  }

  .ix-v4-resource {
    padding: 14px;
  }

  .ix-v4-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 8px;
  }

  .ix-v4-spotlight {
    grid-template-columns: 1fr;
    align-content: center;
    gap: 16px;
    padding: 22px 18px;
    text-align: center;
  }

  .ix-v4-spotlight__copy {
    justify-items: center;
  }

  .ix-v4-spotlight__bullets {
    justify-content: center;
  }

  .ix-v4-hybrid {
    inset: 34px 6px 6px;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(300px, 1fr) minmax(260px, .85fr);
  }

  .ix-v4-hybrid__resource .ix-v4-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 420px) {
  .ix-v4-resource,
  .ix-v4-spotlight {
    inset: 34px 5px 5px;
    padding: 12px;
  }

  .ix-v4-gallery__grid {
    gap: 6px;
  }

  .ix-v4-person__meta {
    padding: 6px 7px 8px;
  }

  .ix-v4-hybrid {
    inset: 32px 4px 4px;
    grid-template-rows: minmax(280px, 1fr) minmax(240px, .85fr);
  }
}


/* INDEX2 V12 / readable semantic Canvas typography */
.ix-v4-toolbar span { font-size: 8px; }
.ix-v4-toolbar b { font-size: 8.5px; }
.ix-v4-node__eyebrow { font-size: 7px; }
.ix-v4-node__copy strong { font-size: 10.5px; }
.ix-v4-node__copy small { font-size: 8px; }
.ix-v4-node__topology { font-size: 6.8px; }
.ix-v4-node__details b { font-size: 7px; }
.ix-v4-node__details em { font-size: 7.6px; }
.ix-v4-edge-label { font-size: 7.5px; }
.ix-v4-empty span { font-size: 8px; }
.ix-v4-empty small { font-size: 10px; }
.ix-v4-spotlight__copy > span { font-size: 8px; }
.ix-v4-resource__head p { font-size: clamp(10px, 1vw, 12px); }
.ix-v4-resource__cta { font-size: 9px; }
.ix-v4-person__meta strong { font-size: 10px; }
.ix-v4-person__meta small { font-size: 8px; }
.ix-v4-spotlight__copy p { font-size: clamp(10px, 1.25vw, 13px); }
.ix-v4-spotlight__bullets span { font-size: 8.5px; }
.ix-v4-hybrid__resource .ix-v4-resource__head p { font-size: 9px; }
.ix-v4-hybrid__resource .ix-v4-person__meta strong { font-size: 9px; }
.ix-v4-hybrid__resource .ix-v4-person__meta small { font-size: 7.5px; }
.ix-v4-process-snapshot__label { font-size: 8px; }
.ix-v4-process-snapshot__flow b { font-size: 8.5px; }
.ix-v4-process-snapshot small { font-size: 8px; }
.ix-v4-widget-launcher__copy span { font-size: 8px; }
.ix-v4-widget-launcher__copy p { font-size: clamp(10px, 1vw, 12px); }
.ix-v4-external-placeholder p { font-size: 10px; }

@media (max-width: 820px) {
  .ix-v4-toolbar span { font-size: 8px; }
  .ix-v4-toolbar b { font-size: 8px; }
  .ix-v4-node__copy strong { font-size: 11px; }
  .ix-v4-node__copy small { font-size: 8.5px; }
  .ix-v4-edge-label { font-size: 8px; }
  .ix-v4-process-snapshot__label,
  .ix-v4-process-snapshot small { font-size: 8px; }
  .ix-v4-process-snapshot__flow b { font-size: 9px; }
}
