.services-page {
  background: var(--color-canvas-obsidian);
}

.services-page .services-hero {
  padding-block: var(--space-9) var(--space-10);
  background: radial-gradient(circle at 78% 30%, rgba(184, 135, 88, 0.12), transparent 34rem), var(--color-canvas-velvet);
}

.services-page .services-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: var(--space-8);
  min-height: 38.75rem;
}

.services-page .services-hero__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.services-page .services-hero__content > * { min-width: 0; margin: 0; }
.services-page .services-hero__content h1 { max-width: 15ch; font-size: clamp(3rem, 5.35vw, 4.25rem); line-height: 1.03; }
.services-page .services-hero__content .lead { max-width: 34rem; }

.services-page .services-hero__meta {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.services-page .services-hero__meta span { min-width: 0; }
.services-page .services-hero__meta span + span { padding-inline-start: var(--space-3); border-inline-start: 1px solid var(--color-moonlight-bronze-soft); }
.services-page .services-hero__media { width: 100%; min-width: 0; margin: 0; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-card); }
.services-page .services-hero__media img { width: 100%; height: 34rem; object-fit: cover; object-position: right center; }

.services-page .services-section-intro { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.services-page .services-section-intro > * { min-width: 0; margin: 0; }
.services-page .services-section-intro h2 { max-width: 22ch; }
.services-page .services-direction__intro { max-width: 38.75rem; margin-bottom: var(--space-8); }
.services-page .services-direction__intro .lead { max-width: 38.75rem; }

.services-page .services-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.services-page .services-principles > * { min-width: 0; }
.services-page .services-principle .card__body { display: flex; min-width: 0; height: 100%; flex-direction: column; gap: var(--space-3); }
.services-page .services-principle .card__body > * { margin: 0; min-width: 0; }
.services-page .services-principle__number, .services-page .services-point__number, .services-page .services-process-step__number { color: var(--color-soft-amber); font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 800; letter-spacing: -0.035em; }

.services-page .services-formats__intro { max-width: 38.125rem; margin-bottom: var(--space-8); }
.services-page .services-formats__intro .lead { max-width: 38.125rem; }
.services-page .services-format-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.services-page .services-format-grid > * { min-width: 0; }
.services-page .services-format-card { position: relative; display: block; min-height: 24.375rem; color: var(--color-text-secondary); text-decoration: none; }
.services-page .services-format-card--image > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.services-page .services-format-card__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(11, 12, 16, 0.94), rgba(11, 12, 16, 0.12)); }
.services-page .services-format-card__body { position: relative; z-index: 1; display: flex; min-width: 0; height: 100%; flex-direction: column; justify-content: flex-end; gap: var(--space-3); padding: var(--space-5); }
.services-page .services-format-card__body > * { min-width: 0; margin: 0; }
.services-page .services-format-card__body p:not(.label):not(.services-format-card__number) { max-width: 42ch; }
.services-page .services-format-card--text { background: radial-gradient(circle at top right, rgba(184, 135, 88, 0.12), transparent 58%), var(--color-surface-slate); }
.services-page .services-format-card--text .services-format-card__body { justify-content: flex-start; }
.services-page .services-format-card__number { color: rgba(184, 135, 88, 0.22); font-family: var(--font-heading); font-size: 4.5rem; font-weight: 800; line-height: 1; }

.services-page .services-hospitality__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: var(--space-8); }
.services-page .services-hospitality__grid > * { min-width: 0; }
.services-page .services-hospitality__media { width: 100%; margin: 0; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-card); }
.services-page .services-hospitality__media img { width: 100%; height: 42rem; object-fit: cover; }
.services-page .services-hospitality__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.services-page .services-hospitality__content > * { min-width: 0; margin: 0; }
.services-page .services-hospitality__content h2 { max-width: 18ch; }
.services-page .services-hospitality__content > .lead { max-width: 32.5rem; }
.services-page .services-hospitality__points { display: flex; min-width: 0; width: 100%; flex-direction: column; gap: var(--space-4); }
.services-page .services-hospitality__points > article { display: grid; grid-template-columns: minmax(2.5rem, auto) minmax(0, 1fr); column-gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid rgba(184, 135, 88, 0.18); }
.services-page .services-hospitality__points > article > * { min-width: 0; }
.services-page .services-hospitality__points h3, .services-page .services-hospitality__points article > p:last-child { grid-column: 2; margin: 0; }
.services-page .services-hospitality__points h3 { margin-bottom: var(--space-2); }
.services-page .services-point__number { grid-row: span 2; margin: 0; font-size: var(--text-base); }

.services-page .services-tables__intro { max-width: 40.625rem; margin-bottom: var(--space-8); }
.services-page .services-tables__intro .lead { max-width: 40.625rem; }
.services-page .services-table-modules { display: flex; min-width: 0; flex-direction: column; }
.services-page .services-table-module { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 4fr) minmax(0, 6fr); gap: var(--space-5); padding-block: var(--space-5); border-top: 1px solid rgba(184, 135, 88, 0.18); }
.services-page .services-table-module > * { min-width: 0; margin: 0; }
.services-page .services-table-module__number { color: var(--color-soft-amber); font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 800; }
.services-page .services-table-module > p:last-child { max-width: 35rem; }
.services-page .services-table-module--accent { border-color: var(--color-moonlight-bronze-border); }

.services-page .services-audiences__intro { max-width: 37.5rem; margin-bottom: var(--space-8); }
.services-page .services-audiences__intro .lead { max-width: 37.5rem; }
.services-page .services-audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.services-page .services-audience-grid > * { min-width: 0; }
.services-page .services-audience-panel { display: flex; min-width: 0; min-height: 25.625rem; align-items: flex-end; padding: var(--space-6); }
.services-page .services-audience-panel > div { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); max-width: 29.375rem; }
.services-page .services-audience-panel > div > * { min-width: 0; margin: 0; }
.services-page .services-audience-panel ul { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); color: var(--color-text-secondary); }
.services-page .services-audience-panel li { padding-inline-start: var(--space-4); position: relative; }
.services-page .services-audience-panel li::before { position: absolute; inset-inline-start: 0; top: 0.7em; width: 0.375rem; height: 1px; background: var(--color-moonlight-bronze); content: ""; }
.services-page .services-audience-panel--corporate { background: radial-gradient(circle at top right, rgba(184, 135, 88, 0.16), transparent 52%), var(--color-surface-slate); }
.services-page .services-audience-panel--private { background: radial-gradient(circle at 20% 20%, rgba(224, 174, 104, 0.11), transparent 48%), var(--color-surface-slate); }
.services-page .services-audiences__bridge { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); max-width: 38.75rem; margin-top: var(--space-7); }
.services-page .services-audiences__bridge > * { min-width: 0; margin: 0; }

.services-page .services-process__intro { max-width: 36.875rem; margin-bottom: var(--space-8); }
.services-page .services-process__intro .lead { max-width: 36.875rem; }
.services-page .services-process-grid { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.services-page .services-process-grid::before { position: absolute; top: 1rem; right: 8%; left: 8%; height: 1px; background: rgba(184, 135, 88, 0.38); content: ""; }
.services-page .services-process-step { position: relative; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.services-page .services-process-step > * { min-width: 0; margin: 0; }
.services-page .services-process-step__number { position: relative; z-index: 1; width: fit-content; padding-right: var(--space-3); background: var(--color-canvas-velvet); }
.services-page .services-process-step p:last-child { max-width: 15.625rem; }

.services-page .services-gallery-teaser__frame { position: relative; min-width: 0; }
.services-page .services-gallery-teaser__image { display: block; width: 100%; min-width: 0; overflow: hidden; border-radius: var(--radius-lg); }
.services-page .services-gallery-teaser__image img { width: 100%; height: min(48vw, 37.5rem); object-fit: cover; }
.services-page .services-gallery-teaser__card { position: absolute; z-index: 1; bottom: var(--space-6); left: var(--space-6); display: flex; min-width: 0; width: min(100% - 3rem, 24.375rem); flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); }
.services-page .services-gallery-teaser__card > * { min-width: 0; margin: 0; }
.services-page .services-gallery-teaser__card h2 { font-size: var(--text-2xl); }

.services-page .services-brief__intro { max-width: 36.875rem; margin-bottom: var(--space-8); }
.services-page .services-brief__intro .lead { max-width: 36.875rem; }
.services-page .services-brief__grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); align-items: start; gap: var(--space-5); }
.services-page .services-brief__grid > * { min-width: 0; }
.services-page .services-brief__form { padding: var(--space-6); }
.services-page .services-brief__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.services-page .services-brief__fields > * { min-width: 0; }
.services-page .services-brief__message, .services-page .services-brief__consents, .services-page .services-brief__submit { grid-column: 1 / -1; }
.services-page .services-brief__consents { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); }
.services-page .services-check { display: flex; min-width: 0; align-items: flex-start; gap: var(--space-2); margin: 0; color: var(--color-text-secondary); font-size: var(--text-sm); font-weight: 400; }
.services-page .services-check input { width: 1rem; min-width: 1rem; margin-top: 0.2rem; }
.services-page .services-check span { min-width: 0; }
.services-page .services-brief__submit { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-2); }
.services-page .services-brief__submit > * { min-width: 0; margin: 0; }
.services-page .services-brief__contact { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); }
.services-page .services-brief__contact > * { min-width: 0; margin: 0; }
.services-page .services-brief__contact a { color: var(--color-text-primary); font-weight: 600; }

.services-page .services-closing { text-align: center; }
.services-page .services-closing__content { display: flex; min-width: 0; max-width: 38.75rem; flex-direction: column; align-items: center; gap: var(--space-4); margin-inline: auto; }
.services-page .services-closing__content > * { min-width: 0; margin: 0; }
.services-page .services-closing__content h2 { max-width: 20ch; }
.services-page .services-closing__content p { max-width: 32.5rem; }

@media (max-width: 980px) {
  .services-page .services-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); min-height: 0; }
  .services-page .services-hero__content { max-width: 42.5rem; }
  .services-page .services-hero__media img { height: auto; aspect-ratio: 4 / 3; }
  .services-page .services-hospitality__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .services-page .services-hospitality__media { order: -1; }
  .services-page .services-hospitality__media img { height: auto; aspect-ratio: 4 / 3; }
  .services-page .services-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-7); }
  .services-page .services-process-grid::before { display: none; }
}

@media (max-width: 900px) {
  .services-page .services-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .services-page .services-principles > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 880px) {
  .services-page .services-brief__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 820px) {
  .services-page .services-table-module { grid-template-columns: minmax(3rem, auto) minmax(0, 1fr); gap: var(--space-3) var(--space-5); }
  .services-page .services-table-module h3, .services-page .services-table-module > p:last-child { grid-column: 2; }
  .services-page .services-table-module__number { grid-row: span 2; }
}

@media (max-width: 760px) {
  .services-page .services-audience-grid { grid-template-columns: minmax(0, 1fr); }
  .services-page .services-audience-panel { min-height: 18.75rem; }
  .services-page .services-gallery-teaser__card { position: static; width: 100%; margin-top: var(--space-4); }
  .services-page .services-gallery-teaser__image img { height: auto; aspect-ratio: 4 / 3; }
}

@media (max-width: 700px) {
  .services-page .services-format-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 640px) {
  .services-page .services-hero { padding-block: var(--space-8); }
  .services-page .services-hero__content h1 { font-size: 2.125rem; line-height: 1.12; }
  .services-page .services-hero__meta { flex-direction: column; gap: var(--space-3); }
  .services-page .services-hero__meta span + span { padding-inline-start: 0; border-inline-start: 0; }
  .services-page .services-principles { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .services-page .services-principles > :last-child { grid-column: auto; }
  .services-page .services-format-card { min-height: 0; }
  .services-page .services-format-card--image { min-height: 25rem; }
  .services-page .services-hospitality__points > article { grid-template-columns: minmax(2rem, auto) minmax(0, 1fr); }
  .services-page .services-table-module { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .services-page .services-table-module h3, .services-page .services-table-module > p:last-child { grid-column: auto; }
  .services-page .services-table-module__number { grid-row: auto; }
  .services-page .services-process-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .services-page .services-process-step { display: grid; grid-template-columns: minmax(3rem, auto) minmax(0, 1fr); column-gap: var(--space-3); }
  .services-page .services-process-step__number { grid-row: span 2; }
  .services-page .services-process-step h3, .services-page .services-process-step p:last-child { grid-column: 2; }
  .services-page .services-brief__form { padding: var(--space-4); }
  .services-page .services-brief__fields { grid-template-columns: minmax(0, 1fr); }
  .services-page .services-brief__message, .services-page .services-brief__consents, .services-page .services-brief__submit { grid-column: auto; }
}

@media (max-width: 420px) {
  .services-page .services-closing .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .services-page .services-format-card:hover { transform: none; }
}

ul { list-style: none !important; }
