.aaia-home {
  --home-blue: #214bd8;
  --home-ink: #17243e;
  color: var(--home-ink);
  background: #f7f9fd;
  padding: 158px 0 clamp(36px, 6vw, 74px);
  position: relative;
}
.home-grid {
  width: min(1280px, 90%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, .93fr) minmax(0, 1.12fr);
  align-items: center;
  gap: clamp(24px, 5vw, 72px);
}
.home-pitch h1 {
  font-size: clamp(36px, 4.3vw, 66px);
  line-height: 1.04;
  letter-spacing: -.064em;
  font-weight: 760;
  text-wrap: balance;
}
.home-pitch h1 em { color: var(--home-blue); }
.home-pitch .eyebrow { color: var(--home-blue); margin-bottom: 16px; }
.home-pitch p:not(.eyebrow) { color: #425574; font-size: 16px; max-width: 45ch; margin: 24px 0; }
.home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.home-actions .button { background: var(--home-blue); border-color: var(--home-blue); border-radius: 8px; gap: 14px; }
.home-actions .text-link { color: #23429d; font-weight: 650; }
.home-demo {
  background: #fff;
  border: 1px solid #dce5f3;
  border-radius: 22px;
  padding: clamp(14px, 2.4vw, 23px);
  box-shadow: 0 18px 55px #24447713;
  min-width: 0;
}
.home-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin-bottom: 12px; }
.home-tabs button, .home-controls button {
  border: 1px solid transparent;
  border-radius: 8px;
  color: #364c70;
  background: #f0f4fb;
  padding: 9px 4px;
  font-size: 12px;
  font-weight: 650;
  min-height: 44px;
}
.home-tabs button[aria-selected="true"], .home-controls button:last-child { background: var(--home-blue); color: #fff; }
.home-stage {
  --stage-bg: #e7effe;
  display: grid;
  place-items: center;
  min-height: 282px;
  padding: 24px 16px;
  position: relative;
  background: radial-gradient(ellipse at 70% 15%, #fff, transparent 63%), var(--stage-bg);
  border-radius: 14px;
  perspective: 900px;
  overflow: hidden;
}
.home-board {
  width: min(370px, 97%);
  min-width: 0;
  background: #fff;
  border: 1px solid #bacbea;
  border-radius: 13px;
  box-shadow: 4px 6px 0 #c3d3ef, 9px 13px 0 #aebfe1, 15px 24px 32px #375f9f2b;
  transform: rotateX(9deg) rotateY(-8deg);
  transform-style: preserve-3d;
}
.home-board-head { padding: 11px 13px; color: #1b3e86; font-size: 12px; font-weight: 750; border-bottom: 1px solid #e2eaf8; }
.home-board ol { list-style: none; margin: 0; padding: 10px; display: grid; gap: 7px; }
.home-node { display: flex; align-items: center; gap: 8px; width: 100%; min-width: 0; min-height: 44px; text-align: start; background: #f3f6fb; border: 1px solid #e1e8f6; border-radius: 8px; padding: 7px; color: #2b4166; font-size: 12px; line-height: 1.25; }
.home-node b { display: grid; place-items: center; min-width: 25px; height: 25px; border-radius: 6px; background: #dce7ff; color: #2145ad; }
.home-node.is-current { border-color: #7295f2; background: #e9f0ff; color: #163a9b; box-shadow: 2px 3px 0 #c2d5ff; transform: translateZ(13px); }
.home-node.is-current b { background: #214bd8; color: white; }
.home-stage[data-scene="hub"] { --stage-bg: #e1eff9; }
.home-stage[data-scene="hub"] ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.home-stage[data-scene="application"] { --stage-bg: #e3e9ff; }
.home-stage[data-scene="application"] ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.home-stage[data-scene="web"] { --stage-bg: #e0edf3; }
.home-stage[data-scene="web"] ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.home-stage[data-scene="web"] .home-board-head::before { content: '● ● ●'; letter-spacing: 2px; margin-right: 10px; color: #5978b4; font-size: 8px; }
.home-scene-preview {
  display: none;
  height: 67px;
  margin: 10px 10px 0;
  background: #edf3ff;
  border-radius: 7px;
  padding: 8px;
  gap: 7px;
  position: relative;
}
.home-scene-preview i { display: block; min-width: 0; border-radius: 4px; }
[data-scene="hub"] .home-scene-preview { display: grid; grid-template-columns: 1fr 1.25fr 1fr; align-items: center; }
[data-scene="hub"] .home-scene-preview::before { content: ''; position: absolute; left: 14%; right: 14%; top: 50%; border-top: 2px dashed #7592dc; }
[data-scene="hub"] .home-scene-preview i { height: 29px; background: #b4cbff; position: relative; }
[data-scene="hub"] .home-scene-preview i:nth-child(2) { background: #214bd8; height: 41px; box-shadow: 3px 4px 0 #9cb9fa; }
[data-scene="hub"] .home-scene-preview i:nth-child(2)::after { content: 'HUB IA'; color: white; display: grid; place-items: center; height: 100%; font-size: 11px; font-weight: 750; }
[data-scene="application"] .home-scene-preview { display: grid; grid-template-columns: .4fr 1fr 1fr; }
[data-scene="application"] .home-scene-preview i:first-child { background: #244cbd; }
[data-scene="application"] .home-scene-preview i:not(:first-child) { background: repeating-linear-gradient(#adc4f7 0 7px, #fff 7px 15px); border: 4px solid white; }
[data-scene="web"] .home-scene-preview { display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: 1fr 1fr; }
[data-scene="web"] .home-scene-preview i:first-child { grid-row: span 2; background: linear-gradient(145deg, #2652c0, #6798ed); }
[data-scene="web"] .home-scene-preview i:not(:first-child) { background: #b7d4ff; }
.home-stage:not([data-scene="automation"]) .home-node { align-items: flex-start; flex-direction: column; }
.home-detail { padding: 14px 2px 10px; }
.home-detail h2 { font-size: clamp(19px, 2vw, 24px); letter-spacing: -.025em; font-weight: 700; }
.home-detail p { margin: 6px 0 0; color: #435574; font-size: 14px; min-height: 3.2em; }
.home-controls { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px; }
.home-controls button { padding: 7px 10px; }
.home-controls button:disabled { opacity: .5; cursor: default; }
.home-counter { color: #425574; font-size: 12px; font-weight: 650; }
.home-demo-caption { margin: 10px 0 0; color: #52637d; font-size: 11px; }
.home-shortcuts { margin: 25px 0 0; color: #405270; font-size: 13px; }
@media (max-width: 820px) {
  .aaia-home { padding-top: 140px; }
  .home-grid { grid-template-columns: 1fr; }
}
@media (max-width: 450px) {
  .home-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-stage { min-height: 211px; padding: 16px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-board { transform: none; }
  .home-node.is-current { transform: none; }
}
