/* Home: layout follows the available content width, including large displays.
   Shared Chat artwork and gallery surfaces remain in their own components. */
.hero .hero-content {
  display: grid;
  gap: clamp(1.5rem, 3cqw, 3rem);
  max-width: none;
  width: 100%;
  margin-inline: 0;
  align-items: center;
}
.hero .hero-intro { min-width: 0; }
.hero .hero-intro .hero-description { margin-bottom: 0; }
/* Floating SVGs keep landing.css's responsive insets inside the hero. */
.hero .float-shape-2 { left: max(4rem, clamp(4%, 7vw, 12%)); }
.hero .float-shape-3 { right: max(4rem, clamp(2%, 10vw, 18%)); top: 50%; }
.hero .hero-cta-section {
  container-type: inline-size;
  container-name: hero-actions;
  display: grid;
  gap: 1rem;
  width: 100%;
  min-width: 0;
  margin-bottom: 0;
  align-items: stretch;
}
.hero .hero-cta-featured {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 1rem;
}
.hero .hero-cta-section .hero-cta {
  width: 100%;
  min-width: 0;
  max-width: none;
  align-items: stretch;
}
.hero .hero-cta-section .btn-large {
  min-height: 9rem;
  height: 100%;
  padding: 1.35rem clamp(1rem, 4cqi, 2rem);
}
.hero .hero-cta-section .btn-main { gap: clamp(.6rem, 2cqi, 1rem); }
.hero .hero-cta-section .btn-large .btn-icon { width: clamp(2.75rem, 8cqi, 4.25rem); height: auto; aspect-ratio: 28 / 22; }
.hero .hero-cta-section .cta-logo { padding-right: clamp(1.85rem, 5cqi, 2.8rem); }
.hero .hero-cta-section .cta-logo-strong { font-size: clamp(2.4rem, 9cqi, 3.6rem); }
.hero .hero-cta-section .cta-logo-script { font-size: clamp(1.65rem, 6.8cqi, 2.6rem); }
.hero .hero-cta-section .btn-subtitle { font-size: clamp(.8rem, 2.2cqi, .95rem); }
.hero .hero-cta-section .gallery-entry {
  width: 100%;
  min-height: 8rem;
  height: 100%;
  grid-template-columns: 3.75em minmax(0, 1fr) 1.5em;
  gap: .8em;
  padding: 1em;
}
.hero .gallery-entry .gallery-entry__preview img { height: 4.75em; }
.hero .gallery-entry__direction { width: 1.5em; height: 1.5em; }
.hero .hero-cta-section .secondary-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .75rem;
}
.hero .secondary-cta .btn {
  min-width: 0;
  min-height: 3.5rem;
  padding: .8rem .9rem;
  font-size: .95rem;
  line-height: 1.35;
}
@container hero-actions (min-width: 24rem) {
  .hero .hero-cta-section .secondary-cta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container hero-actions (min-width: 42rem) {
  .hero .hero-cta-featured { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
}
@container hero-actions (max-width: 22rem) {
  .hero .hero-cta-section .gallery-entry { grid-template-columns: 3.25em minmax(0, 1fr) 1.5em; gap: .65em; padding: .8em; }
}
@container hero (min-width: 62rem) {
  .hero .hero-content { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
  .hero .hero-intro h1 { font-size: clamp(3rem, 5.9cqw, 5.8rem); }
}
@media (forced-colors: active) {
  .hero .hero-cta-section :is(.btn-large, .gallery-entry) { border: 2px solid LinkText; }
}
