.scr-home .home-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 32px; align-items: center; }
.home-hero { padding-block: 12px; }
.home-eyebrow { display: inline-block; font-size: var(--fs-small); border: 1px solid var(--brass-500); color: var(--brass-600); border-radius: 999px; padding: 2px 14px; margin-block-end: 14px; }
.home-title { font-size: 56px; margin-block-end: 4px; color: var(--ink-900); }
.home-brand { font-size: 22px; color: var(--brass-600); margin-block-end: 18px; }
.home-tagline { font-size: 30px; line-height: 1.4; margin-block-end: 10px; color: var(--ink-800); }
.home-line { font-size: 19px; color: var(--ink-500); margin-block-end: 26px; }
.home-diagram { padding: 18px 20px; }
.home-diagram h2 { font-size: 22px; }
.maestro-diagram { inline-size: 100%; block-size: auto; display: block; }
.md-line { stroke: var(--sand-300); stroke-width: 1.5; stroke-dasharray: 5 7; animation: md-flow 4.5s linear infinite; }
@keyframes md-flow { 0% { stroke: var(--sand-300); stroke-dashoffset: 0; } 20% { stroke: var(--brass-500); } 40%, 100% { stroke: var(--sand-300); stroke-dashoffset: -48; } }
.md-node circle { fill: var(--white); stroke: var(--ink-700); stroke-width: 2; animation: md-node 4.5s ease-in-out infinite; animation-delay: inherit; }
.md-node { animation: none; }
.md-node .md-ico { stroke: var(--ink-800); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.md-node text { font-size: 15px; fill: var(--ink-800); font-family: var(--font-sans); }
@keyframes md-node { 0%, 100% { fill: var(--white); stroke: var(--ink-700); } 15%, 30% { fill: #fbf0d6; stroke: var(--brass-500); } }
.md-halo { fill: rgba(176,138,62,.14); animation: md-halo 3s ease-in-out infinite; transform-origin: center; }
@keyframes md-halo { 50% { r: 52px; fill: rgba(176,138,62,.24); } }
.md-core { fill: var(--ink-900); }
.md-ico-c { stroke: var(--brass-400); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.md-ct { fill: var(--sand-50); font-size: 14px; font-family: var(--font-sans); }
.home-caps { margin-block-start: 36px; }
.caps-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.cap { padding: 16px 18px; }
.cap h3 { font-size: 18px; margin-block: 8px 4px; }
.cap p { margin: 0; line-height: 1.5; }
.cap-ico { display: inline-grid; place-items: center; inline-size: 40px; block-size: 40px; border-radius: 10px; background: var(--sand-100); color: var(--brass-600); }
.cap-ico .icon { inline-size: 22px; block-size: 22px; }
.home-dev { margin-block-start: 24px; }
.dev-out { margin-block-start: 12px; min-block-size: 3em; }
@media (max-width: 1100px) { .scr-home .home-top { grid-template-columns: 1fr; } .caps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
