/* Kansas City SEO Services, homepage v2 and blog hub styles */

/* 1. Clean non-video hero (overrides dark video scrim rules in site.css) */
.hero.hero-clean {
  overflow-x: clip;
  padding: 4rem 0 3.25rem;
}
.hero.hero-clean::before {
  display: block;
}
.hero.hero-clean > div:first-of-type h1,
.hero.hero-clean h1 {
  color: var(--ink);
}
.hero.hero-clean .kicker {
  color: var(--brick);
}
.hero.hero-clean .lede,
.hero.hero-clean .offer-note {
  color: var(--muted);
}
.hero.hero-clean .lede a,
.hero.hero-clean .offer-note a {
  color: var(--brick-dark);
  font-weight: 600;
}
.hero.hero-clean .hero-chip {
  background: linear-gradient(90deg, var(--cream), var(--warm-2));
  border-color: rgba(154, 42, 26, 0.22);
  color: var(--brick-dark);
}
.hero.hero-clean .hero-actions .btn-ghost {
  color: var(--ink);
  border-color: rgba(154, 42, 26, 0.35);
  background: var(--cream);
}
.hero.hero-clean .hero-actions .btn-ghost:hover {
  background: var(--brick);
  border-color: var(--brick);
  color: var(--cream);
}
.hero.hero-clean .trust-item {
  background: var(--card);
  color: var(--ink);
}
.hero.hero-clean .trust-item span {
  color: var(--muted);
}

/* 2. Pricing Tiers: 4 equal columns on desktop, 2x2 on tablet, 1 col on mobile */
.price-grid.price-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}
.price-grid.price-grid-4 .price {
  height: 100%;
  padding: 1.65rem 1.35rem;
  display: flex;
  flex-direction: column;
}
.price-grid.price-grid-4 .price h3 {
  font-family: var(--display);
  font-size: 1.55rem;
  margin: 0 0 0.25rem;
  letter-spacing: -0.02em;
}
.price-grid.price-grid-4 .price .amt {
  font-size: 2.35rem;
  line-height: 1.05;
  margin: 0.25rem 0 0.2rem;
}
.price-grid.price-grid-4 .price .per {
  min-height: 2.75rem;
  margin: 0 0 1rem;
  line-height: 1.35;
}
.price-grid.price-grid-4 .price ul {
  flex: 1 1 auto;
  margin: 0 0 1.4rem;
}
.price-grid.price-grid-4 .price .btn {
  margin-top: auto;
  width: 100%;
}
.price-grid.price-grid-4 .price.featured {
  transform: none;
  border: 2px solid var(--brick-dark);
  box-shadow: var(--shadow-warm);
}
.price-grid.price-grid-4 .price.featured:hover {
  transform: translateY(-4px);
}

@media (max-width: 1120px) {
  .price-grid.price-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .price-grid.price-grid-4 {
    grid-template-columns: 1fr;
  }
  .price-grid.price-grid-4 .price .per {
    min-height: 0;
  }
}

/* 3. Click-to-play video section lower on the page */
.video-band {
  padding: 4.5rem 0;
}
.video-band .wrap::before {
  display: none;
}
.reel-frame {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--ink);
  box-shadow: var(--shadow-warm);
}
.reel-player {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: var(--ink);
}

/* 4. Kansas City photo mosaic: matched heights, object-fit cover, no dead space */
.kc-mosaic.kc-mosaic-equal {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
  margin-top: 2rem;
  align-items: stretch;
}
.kc-mosaic.kc-mosaic-equal .kc-photo {
  aspect-ratio: 4 / 3;
  height: 100%;
  display: block;
}
.kc-mosaic.kc-mosaic-equal .kc-photo picture,
.kc-mosaic.kc-mosaic-equal .kc-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.office-bar {
  margin-top: 1.75rem;
  padding: 1.35rem 1.5rem;
  border-radius: var(--radius-lg);
  background: rgba(22, 19, 15, 0.26);
  border: 1px solid rgba(255, 252, 247, 0.22);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}
.office-bar .kicker {
  color: var(--sun);
  margin-bottom: 0.35rem;
}
.office-bar h3 {
  margin: 0 0 0.25rem;
  color: var(--cream);
}
.office-bar p {
  margin: 0;
  color: var(--paper);
}
.office-bar .map-link {
  margin: 0;
}
.office-bar .map-link a.btn {
  text-decoration: none;
}

/* 5. Guides and articles section + /blog/ hub */
.article-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}
.article-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.article-date {
  display: inline-block;
  font-family: var(--mono);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brick);
  margin-bottom: 0.55rem;
}
.article-card h3 {
  font-size: 1.22rem;
  line-height: 1.25;
  margin: 0 0 0.55rem;
}
.article-card p {
  color: var(--muted);
  font-size: 0.94rem;
}

.blog-group + .blog-group {
  padding-top: 0;
}
.cta-box {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 2rem;
  box-shadow: var(--shadow-warm);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.cta-box h2 {
  margin: 0 0 0.5rem;
}
.cta-box p {
  margin: 0;
  color: var(--muted);
  max-width: 38rem;
}
.cta-box-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* Nav tightening so 9 items + phone + CTA fit cleanly between 901px and 1280px */
@media (min-width: 901px) and (max-width: 1240px) {
  .nav-inner { gap: 0.55rem; }
  .nav-links { gap: 0.55rem; }
  .nav-links a, .nav-phone { font-size: 0.8rem !important; }
  .nav-links .nav-cta, .nav-call { padding: 0 0.65rem; font-size: 0.8rem; }
  .brand-sub { display: none; }
}

@media (max-width: 900px) {
  .hero.hero-clean {
    padding: 2.5rem 0 2rem;
  }
  .kc-mosaic.kc-mosaic-equal,
  .article-grid {
    grid-template-columns: 1fr;
  }
  .video-band {
    padding: 3.25rem 0;
  }
}

/* Review fixes 2026-10-19 (post-Argon) */
@media (min-width: 901px) and (max-width: 1320px) {
  .nav-inner { gap: 0.55rem; }
  .nav-links { gap: 0.55rem; }
  .nav-links a, .nav-phone { font-size: 0.8rem !important; }
  .nav-links .nav-cta, .nav-call { padding: 0 0.65rem; font-size: 0.8rem; }
  .brand-sub { display: none; }
}
.brand-mark { white-space: nowrap; }
.video-band .section-head .kicker { display: inline-block; position: static; margin: 0 0 0.85rem; transform: none; }
@media (max-width: 900px) {
  .kc-mosaic.kc-mosaic-equal { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
  .kc-mosaic.kc-mosaic-equal .kc-photo:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
  .kc-mosaic.kc-mosaic-equal .kc-photo figcaption { font-size: 0.68rem; }
}

/* Latest articles block (generated by build_blog.py) */
.latest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.latest-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem 1.25rem 1.1rem;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.latest-card .kicker{margin-bottom:.5rem}.latest-card h3{font-size:1.2rem;margin:0 0 .5rem}.latest-card h3 a{color:var(--ink);text-decoration:none}.latest-card h3 a:hover{color:var(--brick)}.latest-card p{margin:0 0 .75rem;color:var(--muted);font-size:.95rem}.latest-card time{margin-top:auto;font-size:.8rem;color:var(--muted)}@media (max-width:900px){.latest-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.latest-grid{grid-template-columns:1fr}}
.convai-yield{opacity:0!important;pointer-events:none!important;transition:opacity .2s ease}elevenlabs-convai{transition:opacity .2s ease}
