/* ─── Panel System ───────────────────────────────────────────────── */

.panel {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: var(--space-3xl);
}

.panel__inner {
  max-width: var(--content-max-width);
  margin-inline: auto;
  padding-inline: var(--space-xl);
  width: 100%;
}

/* ─── Panel 1: Featured Product ─────────────────────────────────── */

.panel-featured {
  background: var(--color-bg-subtle);
}

.panel-featured__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: center;
}

.panel-featured__image {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--color-border-light);
  overflow: hidden;
}

.panel-featured__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.panel-featured__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.panel-featured__tagline {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-brass);
}

.panel-featured__title {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
}

.panel-featured__desc {
  font-size: var(--font-size-base);
  color: var(--color-text-muted);
  line-height: var(--line-height);
}

.panel-featured__link {
  color: var(--color-link);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}

.panel-featured__link:hover {
  text-decoration: underline;
}

/* ─── Panel 2: Main Services ────────────────────────────────────── */

.panel-services__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: start;
}

.panel-services__intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.panel-services__title {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  letter-spacing: -0.02em;
  margin-bottom: var(--space-lg);
}

.panel-services__subtitle {
  font-size: var(--font-size-lg);
  color: var(--color-text-muted);
  line-height: var(--line-height);
}

.panel-services__cards {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.panel-services__card {
  padding: var(--space-lg);
  border: 1px solid var(--color-border-light);
}

.panel-services__card-title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--space-sm);
}

.panel-services__card-desc {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  line-height: var(--line-height);
}

/* ─── Panel 3: Business Areas ───────────────────────────────────── */

.panel-areas {
  background: var(--color-bg-subtle);
}

.panel-areas__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-2xl);
}

.panel-areas__card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--color-text);
  transition: opacity var(--transition-fast);
}

.panel-areas__card:hover {
  opacity: 0.85;
}

.panel-areas__card-image {
  width: 100%;
  aspect-ratio: 16 / 10;
  background: var(--color-border);
  margin-bottom: var(--space-md);
  overflow: hidden;
}

.panel-areas__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.panel-areas__card-title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--space-xs);
}

.panel-areas__card-desc {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  line-height: var(--line-height);
}

/* ─── Panel 4: From Our Clients (Logo Wall) ─────────────────────── */

.panel-clients {
  background: var(--color-bg-subtle);
}

.panel-clients__heading {
  margin-bottom: var(--space-2xl);
}

.panel-clients__heading a {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-link);
  text-decoration: none;
}

.panel-clients__heading a:hover {
  text-decoration: underline;
}

.panel-clients__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: var(--space-lg);
}

.panel-clients__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  border: 1px solid var(--color-border-light);
  padding: var(--space-md);
  background: var(--color-bg);
  transition: border-color var(--transition-fast);
}

.panel-clients__logo:hover {
  border-color: var(--color-border);
}

.panel-clients__logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Placeholder text when no logo image */
.panel-clients__logo-text {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-muted);
  text-align: center;
  text-decoration: none;
}

/* ─── Panel 5: Partners & Events ────────────────────────────────── */

.panel-partners__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  margin-bottom: var(--space-2xl);
}

.panel-partners__card {
  display: block;
  text-decoration: none;
  color: var(--color-text);
}

.panel-partners__card-image {
  width: 100%;
  aspect-ratio: 3 / 2;
  background: var(--color-border-light);
  margin-bottom: var(--space-md);
  overflow: hidden;
}

.panel-partners__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.panel-partners__card-label {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  color: var(--color-link);
}

.panel-partners__card:hover .panel-partners__card-label {
  text-decoration: underline;
}

/* Event banner */
.panel-partners__event {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--space-2xl);
  border-top: 1px solid var(--color-border-light);
  padding-top: var(--space-2xl);
  align-items: center;
}

.panel-partners__event-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: var(--color-border-light);
  overflow: hidden;
}

.panel-partners__event-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.panel-partners__event-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.panel-partners__event-label {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-brass);
}

.panel-partners__event-title {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
}

.panel-partners__event-info {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  line-height: var(--line-height);
}

.panel-partners__event-link {
  font-size: var(--font-size-sm);
  color: var(--color-link);
  font-weight: var(--font-weight-medium);
  margin-top: var(--space-xs);
}

.panel-partners__event-link:hover {
  text-decoration: underline;
}

/* ─── Panel 6: Resources Grid ───────────────────────────────────── */

.panel-resources {
  background: var(--color-bg-subtle);
}

.panel-resources__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
}

.panel-resources__card {
  display: flex;
  flex-direction: column;
}

.panel-resources__card-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--color-border-light);
  overflow: hidden;
}

.panel-resources__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.panel-resources__card-body {
  padding: var(--space-lg);
  border: 1px solid var(--color-border-light);
  border-top: none;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.panel-resources__card-type {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-brass);
  margin-bottom: var(--space-xs);
}

.panel-resources__card-title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--space-sm);
}

.panel-resources__card-desc {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  line-height: var(--line-height);
  margin-bottom: var(--space-md);
  flex: 1;
}

.panel-resources__card-link {
  font-size: var(--font-size-sm);
  color: var(--color-link);
  font-weight: var(--font-weight-medium);
}

.panel-resources__card-link:hover {
  text-decoration: underline;
}
