/* Approved whole-business compositions, scoped to the storefront surfaces. */
.enterprise-home,
.enterprise-departments {
  color: var(--enterprise-ink);
}

.enterprise-section {
  width: min(100% - 2.5rem, 76rem);
  max-width: 76rem;
  margin-inline: auto;
  padding-block: 2.5rem;
}

.enterprise-section h2,
.enterprise-departments h1,
.enterprise-consult h2 {
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.enterprise-section h2,
.enterprise-project-band h2 {
  display: block;
  padding-bottom: 0;
  border-bottom: 0;
}

.enterprise-section h2::after { display: none; }
.enterprise-home .hero { min-height: 0; margin: 0; background: var(--nachon-blue); color: white; }

.enterprise-hero-inner {
  display: grid;
  grid-template-columns: 0.95fr 1.15fr;
  align-items: center;
  width: min(100% - 2.5rem, 80rem);
  min-height: 30rem;
  margin-inline: auto;
  gap: 1.5rem;
}

.enterprise-hero-copy { position: relative; z-index: 1; padding-block: 2rem; }
.enterprise-location { margin-bottom: 1rem; font-size: 0.9375rem; }

.enterprise-home .hero h1 {
  max-width: 13ch;
  margin-bottom: 1.25rem;
  font-size: clamp(2rem, 4vw, 3.75rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.enterprise-home .hero-word,
html.js-motion .enterprise-home .hero-word {
  display: inline;
  animation: none;
  opacity: 1;
  filter: none;
  transform: none;
}

.enterprise-home .home-hero-subtitle { max-width: 35ch; font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.5; }
.enterprise-home .hero-ctas { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.enterprise-home .hero-ctas .btn-secondary { color: white; border-color: white; background: transparent; }
.enterprise-home .hero-ctas .btn-secondary:hover { background: white; color: var(--nachon-blue-dark); }
.enterprise-hero-contact { display: flex; flex-wrap: wrap; gap: 0.25rem 1.5rem; margin-top: 0.75rem; font-size: 0.9375rem; }
.enterprise-hero-contact a,
.enterprise-call-link { display: inline-flex; align-items: center; min-height: var(--touch-target); text-underline-offset: 0.2em; }
.enterprise-home .hero-hours { margin-top: 0.5rem; font-size: 0.9375rem; font-weight: 600; color: white; }
.enterprise-hero-visual { align-self: center; min-width: 0; margin: 0; padding-top: 0; }

.enterprise-home .hero-image {
  position: static;
  display: block;
  width: 100%;
  height: auto;
  max-height: 35rem;
  object-fit: contain;
}

.enterprise-hero-visual figcaption { margin-block: 0.25rem 0.75rem; text-align: right; font-size: 0.8125rem; color: white; }
.enterprise-section-intro { max-width: 65ch; margin-bottom: 1.5rem; }
.enterprise-home .categories { background: white; }
.enterprise-home .categories-grid,
.enterprise-departments .categories-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }

.enterprise-home .category-card,
.enterprise-departments .category-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: white;
  color: var(--enterprise-ink);
  text-decoration: none;
  box-shadow: none;
}

.enterprise-home .category-card::before,
.enterprise-home .category-card::after,
.enterprise-departments .category-card::before,
.enterprise-departments .category-card::after { display: none; }
.enterprise-home .category-card:hover,
.enterprise-departments .category-card:hover { border-color: var(--nachon-blue); transform: none; }
.enterprise-home .category-card-image,
.enterprise-departments .category-card-image { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.enterprise-home .category-card-body,
.enterprise-departments .category-card-body { display: flex; flex: 1; flex-direction: column; align-items: start; padding: 1rem; }
.enterprise-home .category-card h3,
.enterprise-departments .category-card h3 { margin-bottom: 0.5rem; font-size: 1.2rem; line-height: 1.2; color: var(--enterprise-ink); }
.enterprise-home .category-card p,
.enterprise-departments .category-card p { margin-bottom: 1rem; color: var(--enterprise-ink); font-size: 0.9375rem; line-height: 1.5; }
.enterprise-area-action { display: inline-flex; align-items: center; gap: 0.5rem; min-height: var(--touch-target); margin-top: auto; color: var(--nachon-blue-dark); font-size: 0.9375rem; font-weight: 700; }
.enterprise-area-action svg { flex-shrink: 0; width: 1.25rem; height: 1.25rem; }
.enterprise-image-note { margin-block: 0.75rem 0; font-size: 0.8125rem; color: var(--enterprise-ink); }

.enterprise-home .enterprise-project-band { width: min(100% - 2.5rem, 76rem); margin: 0 auto 1rem; padding: 1.5rem; background: var(--nachon-blue-dark); border-radius: var(--radius); }
.enterprise-project-band .home-cta-inner { display: grid; grid-template-columns: 5rem minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; }
.enterprise-mascot { width: 5rem; height: auto; }
.enterprise-project-band h2 { margin-bottom: 0.5rem; font-size: clamp(1.25rem, 2.4vw, 1.75rem); line-height: 1.15; color: #fff; }
.enterprise-project-band .cta-band-lead { max-width: 58ch; margin-bottom: 0; font-size: 1rem; color: #fff; }
.enterprise-project-band .home-cta-actions { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; }
.enterprise-call-link { color: white; font-size: 0.9375rem; }
.enterprise-home .intro,
.enterprise-home .reviews,
.enterprise-home .faq { margin-block: 0; }
.enterprise-home .intro > p { max-width: 70ch; }
.enterprise-home .trust-band { margin-top: 1.5rem; padding: 1.25rem; border-radius: var(--radius); }
.enterprise-home .brands { padding-top: 1rem; }
.enterprise-home .reveal,
.enterprise-departments .reveal,
html.js-motion .enterprise-home .reveal,
html.js-motion .enterprise-departments .reveal { opacity: 1; transform: none; transition: none; }
.enterprise-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-bottom: 1rem; font-size: 0.9375rem; }
.enterprise-breadcrumb a { display: inline-flex; align-items: center; min-height: var(--touch-target); text-underline-offset: 0.2em; }
.enterprise-departments-heading { max-width: 65rem; }
.enterprise-departments-heading h1 { margin-bottom: 0.75rem; font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -0.025em; }
.enterprise-departments-heading p { max-width: 65ch; margin-bottom: 0.75rem; font-size: 1.125rem; }
.enterprise-departments .enterprise-image-note { margin-bottom: 1rem; }
.enterprise-resources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin-top: 2rem; padding: 1.5rem; background: var(--color-surface); }
.enterprise-resources h2 { margin-bottom: 0.5rem; font-size: 1.25rem; }
.enterprise-resources p { max-width: 45ch; margin-bottom: 0.5rem; }
.enterprise-resource-link { display: inline-flex; align-items: center; min-height: var(--touch-target); color: var(--nachon-blue-dark); font-weight: 700; text-underline-offset: 0.2em; }
.enterprise-consult { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; margin-top: 1.5rem; padding: 1.5rem; background: var(--nachon-blue-dark); color: white; }
.enterprise-consult h2 { margin-bottom: 0.5rem; font-size: 1.5rem; }
.enterprise-consult p { margin: 0; max-width: 60ch; }
.enterprise-consult .btn-cta { flex-shrink: 0; }

@media (prefers-reduced-motion: no-preference) {
  .enterprise-hero-visual { animation: enterprise-material-arrival 650ms cubic-bezier(0.16, 1, 0.3, 1) both; }
  @keyframes enterprise-material-arrival {
    from { opacity: 0.85; transform: translateY(1rem); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (min-width: 76rem) {
  .enterprise-home .categories-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.75rem; }
  .enterprise-home .category-card h3 { font-size: 1.0625rem; }
  .enterprise-home .category-card-body { padding: 0.875rem; }
}

@media (max-width: 52rem) {
  .enterprise-hero-inner { grid-template-columns: 1fr; min-height: 0; gap: 0; }
  .enterprise-hero-copy { padding-block: 2rem 0; }
  .enterprise-home .hero h1 { max-width: 16ch; font-size: clamp(2rem, 7vw, 3.5rem); }
  .enterprise-home .home-hero-subtitle { max-width: 48ch; }
  .enterprise-hero-visual { width: min(100%, 35rem); justify-self: end; padding-top: 0.5rem; }
  .enterprise-home .hero-image { max-height: 19rem; }
  .enterprise-project-band .home-cta-inner { grid-template-columns: 4rem 1fr; gap: 1rem; }
  .enterprise-mascot { width: 4rem; }
  .enterprise-project-band .home-cta-actions { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.25rem 1rem; }
}

@media (max-width: 40rem) {
  .enterprise-section,
  .enterprise-hero-inner,
  .enterprise-home .enterprise-project-band { width: min(100% - 2rem, 76rem); }
  .enterprise-section { padding-block: 2rem; }
  .enterprise-hero-copy { padding-block: 1.5rem 0; }
  .enterprise-home .hero h1 { max-width: 15ch; margin-bottom: 1rem; font-size: 2rem; }
  .enterprise-home .hero-ctas { align-items: stretch; flex-direction: column; gap: 0.25rem; margin-top: 1rem; }
  .enterprise-home .hero-ctas a { justify-content: center; }
  .enterprise-home .hero-ctas .btn-secondary { border: 0; min-height: var(--touch-target); text-decoration: underline; text-underline-offset: 0.2em; }
  .enterprise-hero-contact,
  .enterprise-home .hero-hours { display: none; }
  .enterprise-hero-visual { max-width: 29rem; margin-top: 0.25rem; }
  .enterprise-home .hero-image { max-height: 10.5rem; }
  .enterprise-home .categories-grid,
  .enterprise-departments .categories-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
  .enterprise-home .category-card-body,
  .enterprise-departments .category-card-body { padding: 0.75rem; }
  .enterprise-home .category-card h3,
  .enterprise-departments .category-card h3 { font-size: 1rem; overflow-wrap: anywhere; }
  .enterprise-home .category-card p,
  .enterprise-departments .category-card p,
  .enterprise-area-action { font-size: 0.875rem; }
  .enterprise-area-action { gap: 0.375rem; }
  .enterprise-area-action svg { width: 1rem; height: 1rem; }
  .enterprise-resources { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.25rem; }
  .enterprise-consult { flex-direction: column; align-items: stretch; padding: 1.25rem; }
  .enterprise-consult .btn-cta { text-align: center; }
}
