/* Home-only additions. Shared shell (header, drawer, sections, footer, form) comes from signage-solutions.css. */

.home-hero__inner { max-width: min(60rem, 100%); }
.home-hero h1 { color: var(--paper); }
.home-hero__sub { font-size: clamp(1.0625rem, 1.6vw, 1.375rem); color: rgba(255,255,255,.88); max-width: 46ch; }

/* Services */
.home-svc { display: grid; gap: var(--grid-gap); margin-top: clamp(2rem, 4vw, 3rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.home-svc__item {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-top: 3px solid var(--ink-950);
  transition: border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);
}
.home-svc__item:hover { border-top-color: var(--surface-brand); box-shadow: var(--shadow-2); transform: translateY(-1px); }
.home-svc__item--feature { grid-column: span 1; }
@media (min-width: 1024px) { .home-svc__item--feature { grid-column: span 2; } }
.home-svc__media { position: relative; aspect-ratio: 16 / 9; }
.home-svc__body { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-6); flex: 1; }
.home-svc__num { font-family: var(--font-mono); font-size: var(--text-caption); color: var(--text-muted); }
.home-svc__body p { color: var(--text-secondary); font-size: var(--text-body-sm); }
.home-svc__link { display: inline-flex; align-items: center; gap: var(--space-2); font-weight: var(--weight-semibold); font-size: var(--text-body-sm); }

/* Markets */
.home-markets { display: grid; gap: clamp(1.5rem, 4vw, 3rem); }
@media (min-width: 900px) { .home-markets { grid-template-columns: .85fr 1.15fr; } }
.home-markets__list { display: grid; gap: 1px; background: rgba(255,255,255,.14); }
@media (min-width: 640px) { .home-markets__list { grid-template-columns: 1fr 1fr; } }
.home-markets__list li { background: var(--ink-950); padding: var(--space-5); }
.home-markets__list h3 { font-family: var(--font-display); font-weight: var(--weight-semibold); font-size: var(--text-h4); color: var(--paper); }
.home-markets__list p { font-size: var(--text-body-sm); color: rgba(255,255,255,.72); margin-top: var(--space-2); }

/* Testimonial slider */
.home-tst { margin-top: clamp(2rem, 4vw, 3rem); }
.home-tst__viewport { border: 1px solid var(--border-subtle); background: var(--paper); padding: clamp(1.5rem, 4vw, 3rem); }
.home-tst__slide { display: flex; flex-direction: column; gap: var(--space-5); }
.home-tst__slide[hidden] { display: none; }
.home-tst__mark { width: 72px; height: 4px; background: var(--gradient-spectrum); }
.home-tst__slide blockquote { font-family: var(--font-display); font-weight: var(--weight-semibold); font-size: clamp(1.125rem, 2vw, 1.625rem); line-height: 1.34; letter-spacing: var(--tracking-tight); max-width: var(--measure-wide); }
.home-tst__slide figcaption { font-size: var(--text-body-sm); color: var(--text-secondary); }
.home-tst__controls { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.home-tst__dots { display: flex; gap: var(--space-2); margin-left: auto; }
.home-tst__dot { width: 44px; height: 44px; display: grid; place-items: center; background: transparent; border: 0; cursor: pointer; padding: 0; }
.home-tst__dot::before { content: ""; width: 100%; max-width: 28px; height: 3px; background: var(--ink-300); transition: background-color var(--duration-fast) var(--ease-out); }
.home-tst__dot[aria-current="true"]::before { background: var(--red-600); }
.home-tst__count { font-family: var(--font-mono); font-size: var(--text-caption); color: var(--text-muted); }

/* Partner wall */
.home-caps { display: grid; gap: var(--space-6); grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); margin-top: clamp(1.5rem, 3vw, 2.5rem); }
.home-caps h3 { font-family: var(--font-display); font-weight: var(--weight-semibold); font-size: var(--text-h3); }
.home-caps p { font-size: var(--text-body-sm); color: var(--text-secondary); margin-top: var(--space-2); max-width: 34ch; }
.home-caps__rule { width: 48px; height: 4px; background: var(--ink-950); margin-bottom: var(--space-4); }

/* Home facts: Coverage and Scope share one stacked column. */
#trust-title ~ .sig-facts .sig-facts__column { display: flex; flex-direction: column; align-items: flex-start; }
#trust-title ~ .sig-facts .sig-facts__column dt:not(:first-child) { margin-top: var(--space-5); }

.home-svc__cta { margin-top: auto; padding-top: var(--space-4); }

/* Trust split: landscape photo slider */
@media (min-width: 900px) { .home-trust { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; } }
.home-gal { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.home-gal__viewport { position: relative; overflow: hidden; border-radius: var(--radius-lg); background: var(--paper-warm-deep); outline-offset: 2px; }
.home-gal__viewport:focus-visible { outline: 3px solid var(--focus-ring); }
.home-gal__track { display: flex; transition: transform var(--duration-slow, 320ms) var(--ease-out); touch-action: pan-y; }
.home-gal__slide { flex: 0 0 100%; aspect-ratio: 3 / 2; margin: 0; position: relative; }
.home-gal__image { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-gal__bar { display: flex; align-items: center; gap: var(--space-4); }
.home-gal__count { font-family: var(--font-mono); font-size: var(--text-caption); color: var(--text-muted); font-variant-numeric: tabular-nums; min-width: 7ch; }
.home-gal__progress { flex: 1; display: flex; gap: var(--space-1); }
.home-gal__dot { flex: 1; height: 44px; display: grid; align-items: center; background: transparent; border: 0; padding: 0; cursor: pointer; }
.home-gal__dot::before { content: ""; height: 3px; background: var(--ink-200, var(--border-subtle)); transition: background-color var(--duration-fast) var(--ease-out); }
.home-gal__dot:hover::before { background: var(--ink-400, var(--ink-300)); }
.home-gal__dot[aria-current="true"]::before { background: var(--red-600); }
.home-gal__nav { display: flex; gap: var(--space-2); }
@media (prefers-reduced-motion: reduce) { .home-gal__track { transition: none; } }


.home-gal__image { display: block; object-fit: cover; }
.home-gal__bar[hidden] { display: none; }
.home-gal__nav button { min-width: 44px; min-height: 44px; }
