.hero { min-height: calc(100vh - 4.75rem); display: grid; align-items: center; padding-block: clamp(4rem, 8vw, 8rem); }
.hero-layout { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(22rem, .82fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; }
.hero-actions { display: flex; gap: var(--apj-space-3); flex-wrap: wrap; }

.kernel { position: relative; aspect-ratio: 1; display: grid; place-items: center; }
.kernel-ring { position: absolute; border: 1px solid var(--apj-color-line); border-radius: 50%; }
.kernel-ring--outer { inset: 0; animation: orbit 38s linear infinite; }
.kernel-ring--inner { inset: 15%; animation: orbit 26s linear infinite reverse; }
.kernel-ring::after { content:""; position:absolute; width:.6rem; height:.6rem; border-radius:50%; background:var(--apj-color-accent); left:50%; top:0; }
.kernel-core { width: 42%; aspect-ratio: 1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; border:1px solid var(--apj-color-line); border-radius:28%; background:var(--apj-color-surface); box-shadow:var(--apj-shadow-2); backdrop-filter:blur(16px); }
.kernel-core img { width: 58%; }
.node { position:absolute; padding:.55rem .8rem; border:1px solid var(--apj-color-line); border-radius:var(--apj-radius-pill); background:var(--apj-color-bg); color:var(--apj-color-text-secondary); font-size:.72rem; }
.node--owner { top:1%; left:50%; transform:translateX(-50%); }
.node--board { right:0; top:50%; transform:translateY(-50%); }
.node--evidence { bottom:1%; left:50%; transform:translateX(-50%); }
.node--execution { left:0; top:50%; transform:translateY(-50%); }

.architecture-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--apj-space-4); margin-top:var(--apj-space-7); }
.domains-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--apj-space-4); margin-top:var(--apj-space-7); }
.domain { min-height:13rem; padding:var(--apj-space-5); border-top:1px solid var(--apj-color-line); display:flex; flex-direction:column; justify-content:flex-end; }
.domain h3 { margin:auto 0 .5rem; font-size:1.75rem; }
.domain p { margin:0; color:var(--apj-color-text-secondary); }
.domain--reserved { opacity:.48; border-style:dashed; }

.method-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(18rem,.7fr); gap:clamp(3rem,7vw,8rem); align-items:start; }
.method-list { border-top:1px solid var(--apj-color-line); }
.method-list > div { padding-block:1.4rem; border-bottom:1px solid var(--apj-color-line); }
.method-list p { margin:.45rem 0 0; color:var(--apj-color-text-secondary); }

@keyframes orbit { to { transform:rotate(360deg); } }

@media (max-width: 62rem) {
  .hero-layout, .method-layout { grid-template-columns:1fr; }
  .kernel { width:min(100%,34rem); justify-self:center; }
  .architecture-grid { grid-template-columns:repeat(2,1fr); }
  .domains-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 38rem) {
  .architecture-grid, .domains-grid { grid-template-columns:1fr; }
}
