/* Homepage composition. Shared controls and colors remain owned by the theme. */
.home-composition { overflow: clip; }
.home-services, .home-demo, .home-journal, .home-process, .home-faq { padding-block: var(--home-section); }
.home-section-heading { display: grid; grid-template-columns: 1.3fr 1fr; align-items: end; gap: var(--space-16); margin-bottom: var(--space-12); }
.home-section-heading h2 { max-width: 19ch; font-weight: var(--weight-title); }
.home-section-heading > p, .home-section-heading > div > p { max-width: 48ch; font-size: var(--text-base); }
.home-section-heading > div > .text-link { margin-top: var(--space-4); }
.home-section-heading > .text-link { justify-self: end; }
.home-domains { display: grid; grid-template-columns: 1.18fr 1fr; gap: var(--space-5); }
.home-domain { display: flex; flex-direction: column; padding: var(--home-panel-space); border: var(--stroke) solid var(--border); background: var(--surface-raised); border-radius: var(--radius-md); min-width: 0; }
.domain-kicker { display: flex; justify-content: space-between; align-items: center; gap: var(--space-5); margin-bottom: var(--space-10); font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text-muted); }
.domain-icon { width: var(--space-8); height: var(--space-8); flex-shrink: 0; color: var(--accent); }
.domain-intro h3 { font-size: clamp(1.8rem, 3.1vw, 2.8rem); font-weight: 450; max-width: 17ch; }
.domain-intro p { max-width: 42ch; font-size: var(--text-sm); margin-top: var(--space-5); }
.domain-services { list-style: none; padding: var(--space-8) 0 0; margin: auto 0 0; }
.domain-services li { border-bottom: var(--stroke) solid var(--border); }
.domain-services li:last-child { border: 0; }
.domain-services a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); min-height: var(--control); padding-block: var(--space-3); font-size: var(--text-sm); }
.domain-services a > span:last-child { color: var(--accent); transition: transform var(--duration) var(--ease); }
.domain-services a:hover > span:last-child { transform: translate(.15rem, -.15rem); }
.domain-services a:active { opacity: .75; }
.home-domain--automation { background: var(--surface-inverse); color: var(--text-inverse); border-color: var(--surface-inverse); }
.home-domain--automation p, .home-domain--automation .domain-kicker, .home-domain--automation .domain-icon, .home-domain--automation a > span:last-child { color: var(--text-inverse); }
.home-domain--automation .domain-services li { border-color: color-mix(in srgb, var(--text-inverse) 20%, var(--transparent)); }
.home-domain--automation a:hover { color: var(--text-inverse); text-decoration: underline; text-underline-offset: .25em; }
.home-domain--automation a:focus-visible { outline-color: var(--text-inverse); }
.domain-flow { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); border-block: var(--stroke) solid color-mix(in srgb, var(--text-inverse) 20%, var(--transparent)); padding-block: var(--space-5); margin-top: var(--space-8); font-size: var(--text-xs); }
.domain-flow b { font-weight: 400; }
.home-domain--intelligence, .home-domain--operations { background: var(--surface); }
.home-domain--intelligence .domain-kicker, .home-domain--operations .domain-kicker { margin-bottom: var(--space-8); }
.home-services-note { display: flex; justify-content: space-between; align-items: center; gap: var(--space-5); font-size: var(--text-sm); color: var(--text-dim); margin-top: var(--space-6); }
.home-deployment { background: var(--surface-raised); padding-block: var(--home-section); border-block: var(--stroke) solid var(--border); }
.home-deployment-grid { display: grid; grid-template-columns: 1fr 1fr; }
.home-mode { display: flex; flex-direction: column; align-items: start; padding-block: var(--space-8); padding-right: var(--space-16); border-block: var(--stroke) solid var(--border); }
.home-mode + .home-mode { padding-right: 0; padding-left: var(--space-16); border-left: var(--stroke) solid var(--border); }
.mode-top { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: var(--space-8); }.mode-top .eyebrow { margin: 0; color: var(--accent); }.mode-top > span:last-child { font-size: var(--text-h3); font-family: var(--font-mono); color: var(--text-dim); }
.home-mode h3 { margin-bottom: var(--space-5); font-size: var(--text-h3); }.home-mode p { font-size: var(--text-sm); max-width: 49ch; }
.home-mode ul { padding-left: var(--space-5); margin-block: var(--space-6); color: var(--text-muted); font-size: var(--text-sm); }.home-mode li + li { margin-top: var(--space-3); }.home-mode .text-link { margin-top: auto; color: var(--accent); }
.home-deployment-bottom { display: flex; align-items: start; justify-content: space-between; gap: var(--space-12); margin-top: var(--space-8); }.home-deployment-bottom p { max-width: 72ch; font-size: var(--text-xs); }.home-deployment-bottom .button { flex-shrink: 0; }
.home-demo .conversation-shell { max-width: var(--container); margin-top: 0; }.home-demo .conversation-card { border-radius: var(--radius-md); box-shadow: none; }.home-demo-link { text-align: right; margin-top: var(--space-5); }
.home-group { display: grid; grid-template-columns: .8fr 1.2fr; gap: var(--space-20); border-top: var(--stroke) solid var(--border); padding-block: var(--home-section); }
.group-signature > a { display: inline-flex; align-items: center; gap: var(--space-6); margin-top: var(--space-10); min-height: var(--control); }.group-signature .intecracy-logo { width: clamp(13rem, 24vw, 20rem); }.group-signature > a > span { color: var(--accent); font-size: var(--text-xl); }
.home-group-copy h2 { font-size: var(--text-h3); font-weight: 450; max-width: 25ch; }.home-group-copy > p { margin-top: var(--space-6); max-width: 55ch; }
.home-competencies { margin-block: var(--space-8) var(--space-5); }.home-competencies > div { display: grid; grid-template-columns: .8fr 1.2fr; gap: var(--space-6); border-top: var(--stroke) solid var(--border); padding-block: var(--space-5); }.home-competencies h3 { font-size: var(--text-base); line-height: 1.5; letter-spacing: -.02em; }.home-competencies p { font-size: var(--text-sm); }

.home-process ol { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; gap: var(--space-8); padding: 0; margin: 0; }.home-process li { border-top: var(--stroke) solid var(--border); padding-top: var(--space-5); }.home-process li > span { font-size: var(--text-xs); font-family: var(--font-mono); color: var(--accent); }.home-process h3 { font-size: var(--text-md); line-height: 1.5; letter-spacing: -.02em; margin-top: var(--space-6); max-width: 20ch; }
.home-journal { padding-top: 0; }.home-journal .news-image { border-radius: var(--radius-sm); }.home-journal .news-card p { -webkit-line-clamp: 2; }.home-journal .news-card h3 { font-weight: 500; }
.home-journal .news-artwork { width: 100%; height: 100%; padding: var(--space-6); color: var(--accent); background: var(--surface-raised); }
.home-journal .news-artwork svg { width: 100%; height: 100%; }
.home-journal .news-card:nth-child(2) .news-artwork { color: var(--text-muted); background: var(--surface-high); }
.home-journal .news-card:nth-child(3) .news-artwork { color: var(--accent); background: var(--surface); }

.home-faq { padding-top: 0; }.home-faq h2 { font-size: var(--text-h3); }
.home-finale { border-top: var(--stroke) solid var(--border); padding-block: var(--home-section); }.home-finale > div { display: flex; align-items: center; justify-content: space-between; gap: var(--space-10); }.home-finale h2 { font-size: var(--text-statement); font-weight: 450; max-width: 15ch; line-height: 1.08; }.home-finale > p { max-width: 49ch; margin-top: var(--space-8); }.home-finale > .text-link { margin-top: var(--space-5); }.finale-link { display: grid; place-items: center; border: var(--stroke) solid var(--border); border-radius: 50%; width: var(--space-32); height: var(--space-32); flex: 0 0 auto; font-size: var(--text-h2); color: var(--accent); transition: background var(--duration), color var(--duration); }.finale-link:hover { background: var(--surface-inverse); color: var(--text-inverse); }.finale-link:active { transform: scale(.97); }
@media (max-width: 64rem) {
  
  .home-section-heading { gap: var(--space-8); }.home-mode { padding-right: var(--space-8); }.home-mode + .home-mode { padding-left: var(--space-8); }.home-group { gap: var(--space-10); }
}
@media (max-width: 48rem) {
  .home-section-heading { grid-template-columns: 1fr; gap: var(--space-6); margin-bottom: var(--space-8); }.home-section-heading h2 { max-width: 21ch; }.home-section-heading > .text-link { justify-self: start; }.home-domains { grid-template-columns: 1fr; gap: var(--space-4); }.domain-kicker { margin-bottom: var(--space-8); }.domain-intro h3 { font-size: var(--text-h3); max-width: 20ch; }.domain-flow { margin-top: var(--space-6); }.domain-services { padding-top: var(--space-6); }.home-services-note { flex-direction: column; align-items: start; gap: var(--space-2); }
  .home-deployment-grid { grid-template-columns: 1fr; }.home-mode, .home-mode + .home-mode { padding: var(--space-8) 0; border-inline: 0; }.home-mode + .home-mode { border-top: 0; }.mode-top { margin-bottom: var(--space-5); }.home-deployment-bottom { flex-direction: column; gap: var(--space-5); }.home-group { grid-template-columns: 1fr; gap: var(--space-8); }.group-signature > a { margin-top: var(--space-4); }.home-competencies > div { grid-template-columns: 1fr; gap: var(--space-2); }.home-process ol { grid-template-columns: repeat(2, 1fr); gap: var(--space-8) var(--space-5); }.home-process h3 { margin-top: var(--space-4); font-size: var(--text-base); }.home-finale > div { gap: var(--space-5); }.home-finale h2 { font-size: clamp(2.4rem, 8vw, 3.6rem); }.finale-link { width: var(--space-16); height: var(--space-16); font-size: var(--text-xl); }
}
@media (max-width: 25rem) {
  .domain-flow { flex-wrap: wrap; justify-content: start; column-gap: var(--space-3); }.home-finale > div { align-items: end; }.home-finale h2 { font-size: 2.4rem; }.finale-link { width: var(--space-12); height: var(--space-12); }
}
@media (prefers-reduced-motion: reduce) { .home-composition *, .home-composition *::before, .home-composition *::after { transition: none; } }

.voice-example-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-bottom: var(--space-5); }
.voice-example-choices[hidden] { display: none; }
.voice-example-choices button { display: flex; align-items: center; gap: var(--space-3); appearance: none; font: inherit; font-size: var(--text-sm); text-align: left; color: var(--text-muted); background: var(--surface); border: var(--stroke) solid var(--border); border-radius: var(--radius-sm); padding: var(--space-3) var(--space-4); min-height: var(--control); cursor: pointer; transition: background-color var(--duration), border-color var(--duration); }
.voice-example-choices button:hover { border-color: var(--accent); color: var(--text); }
.voice-example-choices button[aria-pressed='true'] { background: var(--accent-soft); border-color: var(--accent); color: var(--text); }
.voice-choice-index { font-family: var(--font-mono); color: var(--accent); font-size: var(--text-sm); }
.voice-choice-check { flex-shrink: 0; width: var(--space-5); height: var(--space-5); margin-left: auto; visibility: hidden; color: var(--accent); }
.voice-example-choices button[aria-pressed='true'] .voice-choice-check { visibility: visible; }
@media (max-width: 48rem) {
  .voice-example-choices { grid-template-columns: 1fr; gap: var(--space-2); }
  .voice-example-choices button { min-height: var(--control-sm); }
  .voice-examples[data-enhanced] .agent-preview:not([data-selected]) { display: none; }
}
@media (prefers-reduced-motion: reduce) { .voice-example-choices button { transition: none; } }

/* Full-width signal field, with a quiet center for the headline and actions. */
.home-hero { position: relative; isolation: isolate; display: grid; align-items: center; min-height: var(--hero-home-height); color: var(--voice-white); background: var(--voice-canvas); padding-block: var(--space-12); }
.home-hero-main { position: relative; z-index: 1; text-align: center; pointer-events: none; }
.home-hero-main a, .home-hero-main button { pointer-events: auto; }
.home-hero .project-signature { display: inline-flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-4); border: var(--stroke) solid var(--voice-line); border-radius: var(--radius-pill); background: var(--voice-panel); color: var(--voice-muted); font: var(--text-xs) var(--font-mono); letter-spacing: .1em; }
.home-hero .project-signature .intecracy-logo { width: 11.75rem; }
.home-hero h1 { margin: 0 auto var(--space-6); max-width: none; white-space: nowrap; font-size: var(--text-hero); line-height: 1.06; font-weight: var(--weight-title); letter-spacing: -.045em; text-wrap: balance; }
.home-hero h1 span { display: inline; color: var(--voice-blue); }
.home-hero-copy > p { color: var(--voice-muted); max-width: 56ch; margin-inline: auto; font-size: var(--text-md); text-wrap: pretty; }
.home-hero .actions { justify-content: center; gap: var(--space-3); margin-block: var(--space-8) var(--space-4); }
.home-hero .button { min-height: var(--space-12); border-radius: var(--radius-sm); padding-inline: var(--space-6); font-size: var(--text-base); background: var(--voice-white); color: var(--voice-canvas); border-color: var(--voice-white); }
.home-hero .button--secondary { color: var(--voice-white); background: var(--voice-canvas); border-color: var(--voice-line-strong); }
.home-hero .button:hover { background: var(--voice-blue); color: var(--voice-canvas); border-color: var(--voice-blue); }
.hero-deployment { display: inline-flex; align-items: center; gap: var(--space-3); min-height: var(--control-sm); padding: var(--space-2) var(--space-4); border: var(--stroke) solid var(--voice-line); border-radius: var(--space-1); background: var(--voice-panel); color: var(--voice-white); font: 500 var(--text-sm)/1.6 var(--font-sans); }
.hero-deployment:hover { border-color: var(--voice-blue); color: var(--voice-white); }
.listen-symbol { display: inline-flex; gap: .15rem; align-items: center; height: var(--space-5); }
.listen-symbol i { width: .13rem; height: 40%; background: currentColor; }.listen-symbol i:nth-child(2n) { height: 70%; }.listen-symbol i:nth-child(3) { height: 100%; }
.hero-technologies { text-align: center; padding-block: var(--space-8) var(--space-12); }
.hero-technologies > span { font: var(--text-xs) var(--font-mono); letter-spacing: var(--tracking-label); color: var(--text-dim); }
.hero-technologies ul { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-6) var(--space-8); list-style: none; padding: var(--space-6) 0 0; margin: var(--space-6) 0 0; border-top: var(--stroke) solid var(--border); }
.hero-technologies li { font-size: var(--text-md); font-weight: 500; color: var(--text-muted); letter-spacing: -.035em; }
.voice-network { position: absolute; inset: 0; z-index: 0; }
.network-diagram, .network-streams { position: absolute; inset: 0; width: 100%; height: 100%; }
.network-diagram { overflow: clip; pointer-events: none; }
.network-streams { color: var(--voice-blue); }
.network-route { stroke: currentColor; stroke-width: .65; opacity: .14; }
.network-packet { stroke: var(--voice-blue); stroke-width: 2; stroke-linecap: round; stroke-dasharray: .16 16; opacity: .5; animation: network-transmit calc(var(--packet-duration) * var(--network-pace, 2)) linear infinite; animation-delay: var(--packet-delay); animation-play-state: paused; }
.voice-network[data-network-running] .network-packet { animation-play-state: running; }
.network-endpoints { opacity: .7; }.network-stars { opacity: .35; }
.network-phone { position: absolute; top: 53.3%; left: 17%; transform: translate(-50%,-50%); width: var(--space-12); height: var(--space-12); display: grid; place-items: center; border: var(--stroke) solid var(--voice-blue); color: var(--voice-blue); background: var(--voice-panel); border-radius: 50%; box-shadow: 0 0 var(--space-8) var(--voice-glow); }
.network-phone svg { width: var(--space-5); height: var(--space-5); }
.network-label { position: absolute; display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); background: var(--voice-panel); color: var(--voice-muted); border: var(--stroke) solid var(--voice-line); border-radius: var(--radius-pill); font: var(--text-xs) var(--font-mono); }
.network-label i { width: var(--space-1); height: var(--space-1); background: var(--voice-blue); border-radius: 50%; box-shadow: 0 0 var(--space-2) var(--voice-blue); }
.network-label--crm { left: 3%; top: 13%; }.network-label--order { right: 3%; top: 15%; }.network-label--calendar { left: 3%; bottom: 13%; }.network-label--team { right: 3%; bottom: 13%; }
@keyframes network-transmit { to { stroke-dashoffset: -100; } }
@media (max-width: 64rem) {
  .network-label { font-size: var(--text-xs); }
  .network-label--crm, .network-label--order { top: 6%; }.network-label--calendar, .network-label--team { bottom: 6%; }
  .network-phone { left: 10%; }
}
@media (max-width: 48rem) {
  .home-hero { min-height: 36rem; padding-block: var(--space-12) var(--space-20); }
  .home-hero h1 { white-space: normal; font-size: clamp(2.6rem,9.5vw,4rem); max-width: 18ch; margin-inline: auto; margin-top: var(--space-6); }
  .home-hero h1 span { display: block; }
  .home-hero-copy > p { font-size: var(--text-base); max-width: 42ch; color: var(--voice-white); text-shadow: 0 var(--stroke) var(--space-2) var(--voice-canvas); }
  .network-streams { opacity: .6; }
  .home-hero .project-signature { font-size: .65rem; padding-inline: var(--space-3); }
  .home-hero .project-signature .intecracy-logo { width: 10rem; }
  .home-hero .actions { flex-wrap: wrap; }
  .home-hero .button { min-width: 13rem; }
  .hero-deployment { max-width: 30rem; font: 500 var(--text-sm)/1.6 var(--font-sans); text-align: left; }
  .network-label { display: none; }.network-phone { left: 5%; top: 53%; width: var(--space-8); height: var(--space-8); opacity: .5; }
  .network-route { opacity: .2; }.network-packet { opacity: .3; }
  .hero-technologies { padding-block: var(--space-6) var(--space-8); }
  .hero-technologies ul { justify-content: center; gap: var(--space-4) var(--space-6); }.hero-technologies li { font-size: var(--text-base); }
}
@media (prefers-reduced-motion: reduce) { .network-packet { animation: none; } }
.hero-technologies li { display: inline-flex; align-items: center; gap: var(--space-2); }
/* Flowing light behind the hero network; purely decorative. */
.hero-aurora { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .5; pointer-events: none; }
