.services-page {
  overflow: clip;
}

.services-page ul { list-style: none !important; }

.services-page .section {
  position: relative;
}

.services-hero__grid,
.services-scope__grid,
.services-corporate__grid,
.services-private__grid,
.services-inspirations__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: center;
}

.services-hero__copy {
  grid-column: span 5;
  min-width: 0;
}

.services-hero__copy h1 {
  max-width: 34ch;
}

.services-hero__lead {
  max-width: 38ch;
  font-size: var(--text-intro);
  line-height: var(--leading-intro);
}

.services-hero__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.services-hero__actions > * {
  min-width: 0;
}

.services-hero__figure {
  grid-column: span 7;
  width: 100%;
  min-width: 0;
  margin: 0;
  border: var(--border-accent);
}

.services-hero__figure img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 4 / 3;
  filter: saturate(0.78) contrast(1.08);
}

.services-hero__figure figcaption {
  padding: var(--space-2) var(--space-3);
}

.services-scope__intro {
  grid-column: span 5;
  min-width: 0;
}

.services-scope__intro p:last-child {
  max-width: 54ch;
  margin-bottom: 0;
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-rose-gold);
}

.services-scope__panels {
  grid-column: span 7;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  min-width: 0;
}

.services-scope__panel {
  min-width: 0;
  padding: var(--space-5);
}

.services-scope__panel > :last-child,
.services-dossier > :last-child,
.services-dossier__body > :last-child,
.services-corporate__panel > :last-child,
.services-private__marker > :last-child,
.services-casino__panel > :last-child,
.services-casino__notice > :last-child,
.services-process__step > :last-child,
.services-assurance__panel > :last-child,
.services-cta__content > :last-child {
  margin-bottom: 0;
}

.services-scope__panel h3 {
  font-size: var(--text-card-title);
}

.services-scope__number,
.services-dossier__number,
.services-corporate__number,
.services-casino__number,
.services-process__number {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-rose-gold);
  font-size: var(--text-micro);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-micro);
  text-transform: uppercase;
}

.services-scope__panel--accent {
  background: var(--color-rose-tint);
  border: var(--border-accent);
}

.services-dossiers__heading {
  max-width: 50ch;
  margin-bottom: var(--space-7);
}

.services-dossiers__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}

.services-dossier {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  overflow: hidden;
  transition: border-color var(--transition-fast);
}

.services-dossier::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: var(--color-rose-gold);
  content: "";
  opacity: 0;
  transition: opacity var(--transition-fast);
}

.services-dossier:hover {
  border-color: var(--color-rose-gold);
}

.services-dossier:hover::before {
  opacity: 1;
}

.services-dossier h3,
.services-corporate__panel h3,
.services-private__marker h3,
.services-casino__panel h3,
.services-casino__notice h3,
.services-process__step h3,
.services-assurance__panel h3 {
  margin: 0;
}

.services-dossier p {
  max-width: 32ch;
  margin: 0;
}

.services-dossier--image {
  padding: 0;
  gap: 0;
}

.services-dossier--image > img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 3 / 2;
  filter: saturate(0.76) contrast(1.06);
}

.services-dossier__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
}

.services-corporate__intro {
  grid-column: span 5;
  min-width: 0;
}

.services-corporate__intro p:last-child {
  max-width: 52ch;
  margin-bottom: 0;
}

.services-corporate__panels {
  grid-column: 7 / span 6;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
}

.services-corporate__panel {
  min-width: 0;
  padding: var(--space-5);
  border-left-color: var(--color-rose-gold);
}

.services-corporate__panel p {
  max-width: 42ch;
}

.services-private__figure {
  grid-column: span 6;
  width: 100%;
  min-width: 0;
  margin: 0;
  border: var(--border-subtle);
}

.services-private__figure img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 3 / 2;
  filter: saturate(0.8) contrast(1.05);
}

.services-private__content {
  grid-column: 8 / span 5;
  min-width: 0;
}

.services-private__lead {
  max-width: 48ch;
  font-size: var(--text-intro);
  line-height: var(--leading-intro);
}

.services-private__markers {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
}

.services-private__marker {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-4);
}

.services-private__marker > span {
  color: var(--color-rose-gold);
  font-size: var(--text-small);
  font-weight: 700;
}

.services-private__marker > div {
  min-width: 0;
}

.services-private__marker p {
  max-width: 32ch;
}

.services-casino__heading {
  max-width: 48ch;
  margin-bottom: var(--space-7);
}

.services-casino__heading p:last-child {
  margin-bottom: 0;
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-rose-gold);
}

.services-casino__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.services-casino__panel,
.services-casino__notice {
  min-width: 0;
  padding: var(--space-5);
}

.services-casino__panel p {
  max-width: 34ch;
}

.services-casino__panel--media {
  padding: 0;
}

.services-casino__panel--media img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 1 / 1;
  filter: saturate(0.74) contrast(1.08);
}

.services-casino__panel--media > div {
  min-width: 0;
  padding: var(--space-5);
}

.services-casino__notice {
  background: var(--color-rose-tint);
  border: var(--border-accent);
}

.services-casino__notice p {
  max-width: 44ch;
}

.services-process__heading {
  max-width: 48ch;
  margin-bottom: var(--space-7);
}

.services-process__heading p:last-child {
  margin-bottom: 0;
}

.services-process__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: var(--border-subtle);
  border-bottom: var(--border-subtle);
}

.services-process__step {
  min-width: 0;
  padding: var(--space-5);
  border-right: var(--border-subtle);
}

.services-process__step:last-child {
  border-right: 0;
}

.services-process__step p {
  max-width: 28ch;
}

.services-process__step--final {
  border: 1px solid var(--color-copper);
}

.services-inspirations__copy {
  grid-column: span 3;
  min-width: 0;
}

.services-inspirations__copy p {
  max-width: 44ch;
}

.services-inspirations__figure {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.services-inspirations__figure--large {
  grid-column: span 6;
}

.services-inspirations__figure--small {
  grid-column: span 3;
}

.services-inspirations__figure img {
  width: 100%;
  max-width: 100%;
  border: var(--border-subtle);
  filter: saturate(0.76) contrast(1.08);
}

.services-inspirations__figure--large img {
  aspect-ratio: 4 / 3;
}

.services-inspirations__figure--small img {
  aspect-ratio: 1 / 1;
}

.services-assurance__heading {
  max-width: 40ch;
  margin-bottom: var(--space-6);
}

.services-assurance__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.services-assurance__panel {
  min-width: 0;
  padding: var(--space-5);
}

.services-assurance__panel p:not(.eyebrow) {
  max-width: 34ch;
}

.services-assurance__panel--accent {
  background: var(--color-rose-tint);
  border: var(--border-accent);
}

.services-cta__panel {
  padding: var(--space-8);
}

.services-cta__content {
  display: flex;
  width: min(100%, 50ch);
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  margin-inline: auto;
  text-align: center;
}

.services-cta__content .eyebrow,
.services-cta__content h2,
.services-cta__content p {
  margin: 0;
}

.services-cta__note {
  color: var(--color-muted-stone);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

@media (max-width: 68.75rem) {
  .services-scope__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .services-scope__intro {
    grid-column: 1 / -1;
  }

  .services-scope__panels {
    grid-column: 1 / -1;
  }
}

@media (max-width: 64rem) {
  .services-hero__grid,
  .services-corporate__grid,
  .services-private__grid,
  .services-inspirations__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .services-hero__copy {
    grid-column: span 4;
  }

  .services-hero__figure {
    grid-column: span 4;
  }

  .services-corporate__intro {
    grid-column: span 3;
  }

  .services-corporate__panels {
    grid-column: 4 / span 5;
  }

  .services-private__figure {
    grid-column: span 4;
  }

  .services-private__content {
    grid-column: 5 / span 4;
  }

  .services-inspirations__copy {
    grid-column: 1 / -1;
  }

  .services-inspirations__figure--large,
  .services-inspirations__figure--small {
    grid-column: span 4;
  }
}

@media (max-width: 58rem) {
  .services-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .services-hero__copy,
  .services-hero__figure {
    grid-column: 1;
  }

  .services-hero__copy h1 {
    max-width: 18ch;
  }

  .services-casino__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-casino__notice {
    grid-column: 1 / -1;
  }

  .services-process__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-process__step:nth-child(2) {
    border-right: 0;
  }

  .services-process__step:nth-child(-n + 2) {
    border-bottom: var(--border-subtle);
  }
}

@media (max-width: 53.75rem) {
  .services-corporate__grid,
  .services-private__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .services-corporate__intro,
  .services-corporate__panels,
  .services-private__figure,
  .services-private__content {
    grid-column: 1;
  }

  .services-private__figure {
    order: 0;
  }

  .services-private__content {
    order: 1;
  }
}

@media (max-width: 48rem) {
  .services-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .services-hero__actions > * {
    width: 100%;
  }

  .services-scope__panels,
  .services-dossiers__grid,
  .services-casino__grid,
  .services-assurance__grid,
  .services-inspirations__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .services-scope__panels,
  .services-dossiers__grid,
  .services-casino__grid,
  .services-assurance__grid {
    gap: var(--space-4);
  }

  .services-dossier {
    padding: var(--space-5);
  }

  .services-dossier__body {
    padding: var(--space-5);
  }

  .services-casino__notice {
    grid-column: 1;
  }

  .services-process__steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .services-process__step,
  .services-process__step:nth-child(2) {
    border-right: 0;
    border-bottom: var(--border-subtle);
  }

  .services-process__step:last-child {
    border-bottom: 0;
  }

  .services-inspirations__copy,
  .services-inspirations__figure--large,
  .services-inspirations__figure--small {
    grid-column: 1;
  }

  .services-cta__panel {
    padding: var(--space-6) var(--space-5);
  }
}

@media (max-width: 30rem) {
  .services-private__marker {
    grid-template-columns: minmax(0, 1fr);
  }

  .services-private__marker > span {
    display: block;
  }

  .services-cta__content .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .services-page *,
  .services-page *::before,
  .services-page *::after {
    transition-duration: 0.01ms;
  }
}
