

:root {
  --color-cobalt-blue: #0047AB;
  --color-peach: #FFDAB9;
  --color-olive-green: #556B2F;
  --color-ivory: #FFFFF0;
  --color-cherry-red: #DC143C;
  --color-white: #FFFFFF;
  --color-dark: #1A1A1A;
  --color-cobalt-dark: #003A8C;
  --color-peach-dark: #F5C79E;
  --color-olive-dark: #445624;

  --font-heading: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-body: "Lato", "Helvetica Neue", Arial, sans-serif;

  --text-display: clamp(2.5rem, 6vw, 3.75rem);
  --text-h1: clamp(2.25rem, 5vw, 3rem);
  --text-h2: clamp(1.75rem, 4vw, 2.25rem);
  --text-h3: clamp(1.4rem, 3vw, 1.75rem);
  --text-h4: clamp(1.1rem, 2vw, 1.25rem);
  --text-body-large: 1.125rem;
  --text-body: 1rem;
  --text-caption: 0.875rem;

  --leading-display: 1.1;
  --leading-h1: 1.2;
  --leading-h2: 1.3;
  --leading-h3: 1.4;
  --leading-h4: 1.5;
  --leading-body: 1.6;
  --leading-caption: 1.5;

  --weight-bold: 700;
  --weight-semibold: 600;
  --weight-regular: 400;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  --container-max: 75rem;

  --radius-small: 0.25rem;
  --radius-medium: 0.75rem;
  --radius-large: 1.5rem;
  --radius-full: 50%;

  --border-thin: 1px;
  --border-medium: 2px;

  --shadow-subtle: 0 2px 8px rgba(0, 0, 0, 0.06);
  --shadow-lift: 0 4px 16px rgba(0, 0, 0, 0.1);

  --surface-card: var(--color-ivory);
  --surface-header-footer: var(--color-cobalt-blue);
  --surface-accent: var(--color-peach);
  --surface-overlay: rgba(0, 0, 0, 0.55);

  --border-color-primary: var(--color-cobalt-blue);
  --border-color-secondary: var(--color-olive-green);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  font-weight: var(--weight-regular);
  color: var(--color-dark);
  background-color: var(--color-ivory);
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

a {
  color: var(--color-cobalt-blue);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: color 0.2s ease;
}

a:hover,
a:focus-visible {
  color: var(--color-cherry-red);
}

ul,
ol {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  color: var(--color-cobalt-blue);
  line-height: 1.2;
  margin-block-end: var(--space-4);
}

h1 {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  font-weight: var(--weight-bold);
  margin-block-end: var(--space-5);
}

h2 {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  font-weight: var(--weight-semibold);
  margin-block-end: var(--space-4);
}

h3 {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  font-weight: var(--weight-semibold);
  margin-block-end: var(--space-3);
}

h4 {
  font-size: var(--text-h4);
  line-height: var(--leading-h4);
  font-weight: var(--weight-semibold);
  margin-block-end: var(--space-3);
}

p {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  margin-block-end: var(--space-4);
}

p:last-child {
  margin-block-end: 0;
}

blockquote {
  margin-block-end: var(--space-5);
  padding-inline-start: var(--space-5);
  border-inline-start: var(--border-medium) solid var(--color-peach);
  font-style: italic;
  color: var(--color-olive-green);
}

blockquote:last-child {
  margin-block-end: 0;
}

figure {
  margin-block-end: var(--space-5);
}

figure:last-child {
  margin-block-end: 0;
}

figcaption {
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
  color: var(--color-olive-green);
  margin-block-start: var(--space-2);
}

small {
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

strong {
  font-weight: var(--weight-bold);
}

em {
  font-style: italic;
}

hr {
  border: none;
  border-block-start: var(--border-thin) solid var(--color-olive-green);
  margin-block: var(--space-6);
}

.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-5);
}

@media (min-width: 48rem) {
  .container {
    padding-inline: var(--space-6);
  }
}

@media (min-width: 75rem) {
  .container {
    padding-inline: var(--space-7);
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-semibold);
  line-height: 1.2;
  padding: var(--space-3) var(--space-5);
  border-radius: var(--radius-small);
  border: var(--border-thin) solid transparent;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
  min-height: 2.75rem;
  cursor: pointer;
}

.btn:focus-visible {
  outline: 2px solid var(--color-cherry-red);
  outline-offset: 2px;
}

.btn-primary {
  background-color: var(--color-cobalt-blue);
  color: var(--color-white);
  border-color: var(--color-cobalt-blue);
}

.btn-primary:hover,
.btn-primary:focus-visible {
  background-color: var(--color-cobalt-dark);
  border-color: var(--color-cobalt-dark);
  color: var(--color-white);
}

.btn-secondary {
  background-color: var(--color-peach);
  color: var(--color-dark);
  border-color: var(--color-peach);
}

.btn-secondary:hover,
.btn-secondary:focus-visible {
  background-color: var(--color-peach-dark);
  border-color: var(--color-peach-dark);
  color: var(--color-dark);
}

.btn-outline {
  background-color: transparent;
  color: var(--color-cobalt-blue);
  border-color: var(--color-cobalt-blue);
}

.btn-outline:hover,
.btn-outline:focus-visible {
  background-color: var(--color-cobalt-blue);
  color: var(--color-white);
}

.btn-accent {
  background-color: var(--color-cherry-red);
  color: var(--color-white);
  border-color: var(--color-cherry-red);
}

.btn-accent:hover,
.btn-accent:focus-visible {
  background-color: #B01030;
  border-color: #B01030;
  color: var(--color-white);
}

.card {
  background-color: var(--surface-card);
  border: var(--border-thin) solid var(--border-color-primary);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-subtle);
  padding: var(--space-5);
}

.card > :last-child {
  margin-block-end: 0;
}

.oval-frame {
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  position: relative;
}

.oval-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.oval-frame--wide {
  aspect-ratio: 4 / 3;
  border-radius: 50%;
}

.circle-frame {
  border-radius: var(--radius-full);
  overflow: hidden;
  aspect-ratio: 1 / 1;
  position: relative;
}

.circle-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

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

.flex > * {
  min-width: 0;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  flex-wrap: wrap;
  min-width: 0;
}

.flex-center > * {
  min-width: 0;
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
  min-width: 0;
}

.flex-between > * {
  min-width: 0;
}

.flex-column {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.flex-column > * {
  min-width: 0;
}

.section {
  padding-block: var(--space-8);
}

@media (min-width: 48rem) {
  .section {
    padding-block: var(--space-9);
  }
}

.section--compact {
  padding-block: var(--space-6);
}

@media (min-width: 48rem) {
  .section--compact {
    padding-block: var(--space-7);
  }
}

.section--accent {
  background-color: var(--surface-accent);
}

.section--cobalt {
  background-color: var(--surface-header-footer);
  color: var(--color-white);
}

.section--cobalt h1,
.section--cobalt h2,
.section--cobalt h3,
.section--cobalt h4 {
  color: var(--color-white);
}

.section--cobalt a {
  color: var(--color-peach);
}

.section--cobalt a:hover,
.section--cobalt a:focus-visible {
  color: var(--color-white);
}

.content-list {
  margin-block-end: var(--space-5);
  padding-inline-start: var(--space-5);
}

.content-list:last-child {
  margin-block-end: 0;
}

.content-list li {
  margin-block-end: var(--space-2);
  position: relative;
  padding-inline-start: var(--space-4);
}

.content-list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.6em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
  background-color: var(--color-cherry-red);
}

.content-list li:last-child {
  margin-block-end: 0;
}

.content-list--disc li::before {
  width: 0.4rem;
  height: 0.4rem;
  background-color: var(--color-cobalt-blue);
}

.content-list--olive li::before {
  background-color: var(--color-olive-green);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="number"],
input[type="date"],
input[type="time"],
select,
textarea {
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-dark);
  background-color: var(--color-white);
  border: var(--border-thin) solid var(--border-color-secondary);
  border-radius: var(--radius-small);
  padding: var(--space-3) var(--space-4);
  width: 100%;
  min-width: 0;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--color-cobalt-blue);
  box-shadow: 0 0 0 2px rgba(0, 71, 171, 0.15);
}

textarea {
  resize: vertical;
  min-height: 7.5rem;
}

label {
  display: block;
  font-weight: var(--weight-semibold);
  margin-block-end: var(--space-2);
  color: var(--color-cobalt-blue);
}

fieldset {
  border: var(--border-thin) solid var(--border-color-secondary);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  margin-block-end: var(--space-5);
}

fieldset:last-child {
  margin-block-end: 0;
}

legend {
  font-family: var(--font-heading);
  font-weight: var(--weight-semibold);
  color: var(--color-cobalt-blue);
  padding-inline: var(--space-2);
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-block-end: var(--space-5);
  font-size: var(--text-body);
  line-height: var(--leading-body);
}

table:last-child {
  margin-block-end: 0;
}

th,
td {
  text-align: start;
  padding: var(--space-3) var(--space-4);
  border-block-end: var(--border-thin) solid var(--border-color-secondary);
}

th {
  font-family: var(--font-heading);
  font-weight: var(--weight-semibold);
  color: var(--color-cobalt-blue);
  background-color: var(--surface-accent);
}

@media (max-width: 47.9375rem) {
  h1 {
    font-size: var(--text-h1);
    line-height: var(--leading-h1);
  }

  h2 {
    font-size: var(--text-h2);
    line-height: var(--leading-h2);
  }

  h3 {
    font-size: var(--text-h3);
    line-height: var(--leading-h3);
  }

  h4 {
    font-size: var(--text-h4);
    line-height: var(--leading-h4);
  }

  .section {
    padding-block: var(--space-7);
  }
}


.site-header {
  position: relative;
  z-index: 1000;
  background-color: var(--color-cobalt-blue);
  color: var(--color-white);
  padding-block: var(--space-3);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: nowrap;
}

.site-header__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  text-decoration: none;
  color: var(--color-white);
  flex-shrink: 0;
  min-width: 0;
}

.site-header__logo {
  width: 48px;
  height: 48px;
  object-fit: contain;
  flex-shrink: 0;
}

.site-header__brand-text {
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  font-weight: var(--weight-semibold);
  color: var(--color-white);
  white-space: nowrap;
}

.site-header__toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  border: 1px solid var(--color-peach);
  border-radius: var(--radius-small);
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.site-header__toggle:hover,
.site-header__toggle:focus-visible {
  background-color: rgba(255, 218, 185, 0.15);
  border-color: var(--color-white);
}

.site-header__toggle:focus-visible {
  outline: 2px solid var(--color-cherry-red);
  outline-offset: 2px;
}

.site-header__toggle-line {
  display: block;
  width: 22px;
  height: 2px;
  background-color: var(--color-white);
  border-radius: 1px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(2) {
  opacity: 0;
}

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.site-nav {
  flex-shrink: 1;
  min-width: 0;
}

.site-nav__list {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-nav__item {
  margin: 0;
  padding: 0;
}

.site-nav__item + .site-nav__item {
  margin: 0;
}

.site-nav__link {
  display: inline-block;
  padding-block: var(--space-2);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-semibold);
  color: var(--color-white);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
  position: relative;
}

.site-nav__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background-color: var(--color-peach);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}

.site-nav__link:hover,
.site-nav__link:focus-visible {
  color: var(--color-peach);
}

.site-nav__link:hover::after,
.site-nav__link:focus-visible::after {
  transform: scaleX(1);
}

.site-nav__link[aria-current="page"] {
  color: var(--color-peach);
}

.site-nav__link[aria-current="page"]::after {
  transform: scaleX(1);
}

@media (max-width: 63.9375rem) {
  .site-header__toggle {
    display: flex;
  }

  .site-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--color-cobalt-blue);
    padding: var(--space-4) var(--space-5);
    box-shadow: var(--shadow-lift);
    max-height: calc(100vh - 100%);
    overflow-y: auto;
    display: none;
    z-index: 999;
  }

  .site-nav.is-open {
    display: block;
  }

  .site-nav__list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .site-nav__item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }

  .site-nav__item:last-child {
    border-bottom: none;
  }

  .site-nav__link {
    display: block;
    padding: var(--space-3) var(--space-2);
    font-size: var(--text-body-large);
  }

  .site-nav__link::after {
    display: none;
  }
}

@media (max-width: 47.9375rem) {
  .site-header__logo {
    width: 40px;
    height: 40px;
  }

  .site-header__brand-text {
    font-size: var(--text-h4);
  }
}


.site-footer {
  background-color: var(--color-cobalt-blue);
  color: var(--color-white);
  padding-block: var(--space-7);
  margin-top: var(--space-8);
}

.site-footer__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
}

.site-footer__brand {
  text-align: center;
}

.site-footer__logo {
  width: 40px;
  height: 40px;
  margin-inline: auto;
  margin-bottom: var(--space-3);
}

.site-footer__name {
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  font-weight: var(--weight-semibold);
  color: var(--color-white);
  margin-bottom: var(--space-2);
}

.site-footer__address {
  font-size: var(--text-body);
  color: var(--color-peach);
  margin-bottom: 0;
}

.site-footer__nav,
.site-footer__legal {
  text-align: center;
}

.site-footer__nav-list,
.site-footer__legal-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.site-footer__nav-list a,
.site-footer__legal-list a {
  color: var(--color-white);
  text-decoration: none;
  font-size: var(--text-body);
  transition: color 0.2s ease;
}

.site-footer__nav-list a:hover,
.site-footer__nav-list a:focus-visible,
.site-footer__legal-list a:hover,
.site-footer__legal-list a:focus-visible {
  color: var(--color-peach);
}

.site-footer__copyright {
  text-align: center;
  font-size: var(--text-caption);
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 0;
}

@media (min-width: 48rem) {
  .site-footer__inner {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }

  .site-footer__brand {
    text-align: left;
  }

  .site-footer__logo {
    margin-inline: 0;
  }

  .site-footer__nav,
  .site-footer__legal {
    text-align: left;
  }

  .site-footer__copyright {
    grid-column: 1 / -1;
    text-align: center;
  }
}

@media (min-width: 75rem) {
  .site-footer__inner {
    grid-template-columns: 2fr 1fr 1fr;
  }

  .site-footer__copyright {
    grid-column: 1 / -1;
  }
}

.cookie-consent {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  background-color: var(--color-ivory);
  border-top: 2px solid var(--color-cobalt-blue);
  padding: var(--space-4) var(--space-5);
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.1);
}

.cookie-consent[hidden] {
  display: none !important;
}

.cookie-consent__content {
  max-width: var(--container-max);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
  text-align: center;
}

.cookie-consent__text {
  font-size: var(--text-body);
  color: var(--color-dark);
  margin: 0;
}

.cookie-consent__actions {
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
  justify-content: center;
}

@media (min-width: 48rem) {
  .cookie-consent__content {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
  }
}

.age-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-5);
}

.age-modal[hidden] {
  display: none !important;
}

.age-modal__overlay {
  position: absolute;
  inset: 0;
  background-color: var(--surface-overlay);
}

.age-modal__dialog {
  position: relative;
  background-color: var(--color-ivory);
  border: 2px solid var(--color-cobalt-blue);
  border-radius: var(--radius-large);
  padding: var(--space-6);
  max-width: 30rem;
  width: 100%;
  max-height: calc(100vh - 2 * var(--space-5));
  overflow-y: auto;
  box-shadow: var(--shadow-lift);
  text-align: center;
}

.age-modal__title {
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  color: var(--color-cobalt-blue);
  margin-bottom: var(--space-4);
}

.age-modal__description {
  font-size: var(--text-body);
  color: var(--color-dark);
  margin-bottom: var(--space-5);
}

.age-modal__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

@media (min-width: 30rem) {
  .age-modal__actions {
    flex-direction: row;
    justify-content: center;
  }
}


.cookies-page {
  --cookies-section-gap: var(--space-8);
  --cookies-card-gap: var(--space-5);
  --cookies-card-border: var(--border-thin) solid var(--color-cobalt-blue);
  --cookies-card-radius: var(--radius-medium);
  --cookies-card-shadow: var(--shadow-subtle);
  --cookies-peach-pale: #FFF5EE;
  --cookies-olive-border: var(--border-thin) solid var(--color-olive-green);
  --cookies-decor-opacity: 0.12;
}

.cookies-intro {
  position: relative;
  padding-block: var(--space-8);
  overflow: hidden;
}

.cookies-intro__decor {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background-color: var(--color-cobalt-blue);
  opacity: var(--cookies-decor-opacity);
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 0;
}

.cookies-intro__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
  padding-inline: var(--space-5);
}

.cookies-intro__content > * {
  margin-block-end: var(--space-5);
}

.cookies-intro__content > :last-child {
  margin-block-end: 0;
}

.cookies-intro__lead {
  max-width: 70ch;
  margin-inline: auto;
}

.cookies-intro__list {
  max-width: 70ch;
  margin-inline: auto;
  text-align: left;
  padding-inline-start: var(--space-5);
}

.cookies-intro__list li {
  margin-block-end: var(--space-2);
  position: relative;
  padding-inline-start: var(--space-4);
}

.cookies-intro__list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.6em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
  background-color: var(--color-cherry-red);
}

.cookies-intro__definition {
  background-color: var(--surface-card);
  border: var(--cookies-card-border);
  border-radius: var(--cookies-card-radius);
  box-shadow: var(--cookies-card-shadow);
  padding: var(--space-5);
  text-align: left;
  max-width: 70ch;
  margin-inline: auto;
}

.cookies-intro__definition > * {
  margin-block-end: var(--space-3);
}

.cookies-intro__definition > :last-child {
  margin-block-end: 0;
}

.cookies-types {
  padding-block: var(--space-8);
}

.cookies-types__header {
  text-align: center;
  margin-block-end: var(--space-6);
}

.cookies-types__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-5);
}

.cookie-card {
  background-color: var(--surface-card);
  border: var(--cookies-card-border);
  border-radius: var(--cookies-card-radius);
  box-shadow: var(--cookies-card-shadow);
  padding: var(--space-5);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  min-width: 0;
}

.cookie-card:hover {
  border-color: var(--color-peach);
  box-shadow: var(--shadow-lift);
}

.cookie-card > * {
  margin-block-end: var(--space-3);
}

.cookie-card > :last-child {
  margin-block-end: 0;
}

.cookie-card ul {
  padding-inline-start: var(--space-5);
}

.cookie-card li {
  margin-block-end: var(--space-2);
  position: relative;
  padding-inline-start: var(--space-4);
}

.cookie-card li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.6em;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: var(--radius-full);
  background-color: var(--color-cobalt-blue);
}

.cookies-management {
  padding-block: var(--space-8);
  background-color: var(--cookies-peach-pale);
}

.cookies-management__inner {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-6);
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-5);
}

.cookies-management__text {
  min-width: 0;
}

.cookies-management__text > * {
  margin-block-end: var(--space-4);
}

.cookies-management__text > :last-child {
  margin-block-end: 0;
}

.cookies-management__tips {
  background-color: var(--surface-card);
  border: var(--cookies-olive-border);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  min-width: 0;
}

.cookies-management__tips > * {
  margin-block-end: var(--space-3);
}

.cookies-management__tips > :last-child {
  margin-block-end: 0;
}

.cookies-rights {
  padding-block: var(--space-8);
  border-top: var(--border-thin) solid var(--color-olive-green);
}

.cookies-rights__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-5);
}

.cookies-rights__list {
  min-width: 0;
}

.cookies-rights__list > * {
  margin-block-end: var(--space-4);
}

.cookies-rights__list > :last-child {
  margin-block-end: 0;
}

.cookies-rights__list ul {
  padding-inline-start: var(--space-5);
}

.cookies-rights__list li {
  margin-block-end: var(--space-2);
  position: relative;
  padding-inline-start: var(--space-4);
}

.cookies-rights__list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.6em;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: var(--radius-full);
  background-color: var(--color-olive-green);
}

.cookies-rights__contact {
  background-color: var(--surface-card);
  border: var(--cookies-card-border);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  min-width: 0;
}

.cookies-rights__contact > * {
  margin-block-end: var(--space-3);
}

.cookies-rights__contact > :last-child {
  margin-block-end: 0;
}

.cookies-rights__contact a {
  color: var(--color-cobalt-blue);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: color 0.2s ease;
}

.cookies-rights__contact a:hover,
.cookies-rights__contact a:focus-visible {
  color: var(--color-cherry-red);
}

.cookies-update {
  padding-block: var(--space-8);
}

.cookies-update__content {
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
  padding-inline: var(--space-5);
}

.cookies-update__content > * {
  margin-block-end: var(--space-4);
}

.cookies-update__content > :last-child {
  margin-block-end: 0;
}

.cookies-update__content p {
  margin-inline: auto;
}

@media (min-width: 48rem) and (max-width: 74.9375rem) {
  .cookies-types__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cookies-management__inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 47.9375rem) {
  .cookies-intro {
    padding-block: var(--space-7);
  }

  .cookies-intro__content {
    text-align: left;
    padding-inline: var(--space-4);
  }

  .cookies-intro__decor {
    width: 160px;
    height: 160px;
  }

  .cookies-intro__lead,
  .cookies-intro__list,
  .cookies-intro__definition {
    max-width: 100%;
    margin-inline: 0;
  }

  .cookies-types {
    padding-block: var(--space-7);
  }

  .cookies-types__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
    padding-inline: var(--space-4);
  }

  .cookies-management {
    padding-block: var(--space-7);
  }

  .cookies-management__inner {
    grid-template-columns: 1fr;
    gap: var(--space-5);
    padding-inline: var(--space-4);
  }

  .cookies-rights {
    padding-block: var(--space-7);
  }

  .cookies-rights__inner {
    grid-template-columns: 1fr;
    gap: var(--space-5);
    padding-inline: var(--space-4);
  }

  .cookies-update {
    padding-block: var(--space-7);
  }

  .cookies-update__content {
    text-align: left;
    padding-inline: var(--space-4);
  }

  .cookies-update__content p {
  margin-inline: 0;
  }
}


/* Page-owned styles for reservation-contact */

.reservation-hero {
  padding-block: var(--space-8);
  background-color: var(--color-ivory);
}

.reservation-hero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  text-align: center;
}

.reservation-hero__title {
  max-width: 800px;
  margin-block-end: 0;
}

.reservation-hero__lead {
  max-width: 600px;
  margin-block-end: 0;
  font-size: var(--text-body-large);
  line-height: var(--leading-body);
}

.reservation-contact-details {
  padding-block: var(--space-8);
  background-color: var(--color-ivory);
}

.reservation-contact-details__title {
  text-align: center;
  margin-block-end: var(--space-6);
}

.reservation-contact-details__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  max-width: 900px;
  margin-inline: auto;
}

.reservation-detail-card {
  background-color: var(--surface-card);
  border: var(--border-thin) solid var(--border-color-primary);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.reservation-detail-card__title {
  margin-block-end: 0;
}

.reservation-detail-card__text {
  margin-block-end: 0;
  font-weight: var(--weight-semibold);
  word-break: break-word;
}

.reservation-detail-card__note {
  margin-block-end: 0;
  font-size: var(--text-caption);
  color: var(--color-olive-green);
}

.reservation-hours {
  padding-block: var(--space-8);
  background-color: var(--color-peach);
}

.reservation-hours__title {
  text-align: center;
  margin-block-end: var(--space-6);
}

.reservation-hours__content {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.reservation-hours__lead {
  margin-block-end: 0;
}

.reservation-hours__list {
  list-style: none;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.reservation-hours__list li {
  font-size: var(--text-body-large);
}

.reservation-info {
  padding-block: var(--space-8);
  background-color: var(--color-ivory);
}

.reservation-info__title {
  text-align: left;
  margin-block-end: var(--space-5);
}

.reservation-info__content {
  max-width: 700px;
  margin-inline: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.reservation-info__lead {
  margin-block-end: 0;
}

.reservation-info__list {
  list-style: none;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.reservation-info__list li {
  position: relative;
  padding-inline-start: var(--space-5);
}

.reservation-info__list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.6em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
  background-color: var(--color-cherry-red);
}

.reservation-access {
  padding-block: var(--space-8);
  background-color: var(--color-olive-green);
  color: var(--color-ivory);
}

.reservation-access__title {
  text-align: center;
  color: var(--color-ivory);
  margin-block-end: var(--space-6);
}

.reservation-access__content {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.reservation-access__lead {
  margin-block-end: 0;
  color: var(--color-ivory);
}

.reservation-access__list {
  list-style: none;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.reservation-access__list li {
  color: var(--color-ivory);
}

.reservation-experience {
  padding-block: var(--space-8);
  background-color: var(--color-ivory);
}

.reservation-experience__title {
  text-align: left;
  margin-block-end: var(--space-6);
}

.reservation-experience__layout {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--space-6);
  align-items: start;
}

.reservation-experience__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.reservation-experience__subtitle {
  margin-block-end: 0;
}

.reservation-experience__lead {
  margin-block-end: 0;
}

.reservation-experience__note {
  margin-block-end: 0;
}

.reservation-experience__decor {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: var(--radius-full);
  border: var(--border-medium) solid var(--color-cobalt-blue);
  background-color: var(--color-peach);
  min-width: 0;
}

.reservation-cta {
  padding-block: var(--space-8);
  background-color: var(--color-cobalt-blue);
  color: var(--color-ivory);
}

.reservation-cta__title {
  text-align: center;
  color: var(--color-ivory);
  margin-block-end: var(--space-5);
}

.reservation-cta__lead {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-6);
  color: var(--color-ivory);
}

.reservation-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-4);
  max-width: 600px;
  margin-inline: auto;
}

.reservation-cta__button {
  min-width: 0;
}

@media (min-width: 48rem) and (max-width: 74.9375rem) {
  .reservation-contact-details__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .reservation-experience__layout {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-5);
  }
}

@media (max-width: 47.9375rem) {
  .reservation-hero {
    padding-block: var(--space-7);
  }

  .reservation-hero__title {
    max-width: 90%;
  }

  .reservation-hero__lead {
    max-width: 90%;
  }

  .reservation-contact-details {
    padding-block: var(--space-7);
  }

  .reservation-contact-details__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
    max-width: 100%;
  }

  .reservation-hours {
    padding-block: var(--space-7);
  }

  .reservation-info {
    padding-block: var(--space-7);
  }

  .reservation-info__content {
    max-width: 100%;
  }

  .reservation-access {
    padding-block: var(--space-7);
  }

  .reservation-access__content {
    max-width: 100%;
  }

  .reservation-experience {
    padding-block: var(--space-7);
  }

  .reservation-experience__layout {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .reservation-experience__decor {
    display: none;
  }

  .reservation-cta {
    padding-block: var(--space-7);
  }

  .reservation-cta__actions {
    flex-direction: column;
    align-items: center;
  }

  .reservation-cta__button {
    width: 100%;
    max-width: 300px;
  }
}


.confidentialite-page {
  background-color: var(--color-ivory);
  color: var(--color-dark);
  overflow-x: hidden;
}

.confidentialite-section {
  padding-block: var(--space-8);
  position: relative;
}

.confidentialite-section--off-white {
  background-color: #FDFDF5;
}

.confidentialite-container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-5);
}

.confidentialite-title {
  font-family: var(--font-heading);
  color: var(--color-cobalt-blue);
  margin-block-end: var(--space-5);
  text-wrap: balance;
}

.confidentialite-title--centered {
  text-align: center;
}

.confidentialite-title--left {
  text-align: left;
}

.confidentialite-title--curved {
  text-align: center;
}

.confidentialite-copy {
  font-size: var(--text-body);
  line-height: var(--leading-body);
}

.confidentialite-copy--centered {
  margin-inline: auto;
  text-align: center;
}

.confidentialite-copy--left {
  margin-inline: 0;
  text-align: left;
}

.confidentialite-copy--720 {
  max-width: 720px;
}

.confidentialite-copy--760 {
  max-width: 760px;
}

.confidentialite-copy--600 {
  max-width: 600px;
}

.confidentialite-copy p {
  margin-block-end: var(--space-4);
}

.confidentialite-copy p:last-child {
  margin-block-end: 0;
}

.confidentialite-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-4);
}

.confidentialite-list:last-child {
  margin-block-end: 0;
}

.confidentialite-list li {
  position: relative;
  padding-inline-start: var(--space-5);
  margin-block-end: var(--space-2);
}

.confidentialite-list li:last-child {
  margin-block-end: 0;
}

.confidentialite-list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.6em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
}

.confidentialite-list--olive li::before {
  background-color: var(--color-olive-green);
}

.confidentialite-list--peach li::before {
  background-color: var(--color-peach);
}

.confidentialite-list--centered {
  text-align: center;
}

.confidentialite-list--centered li {
  padding-inline-start: 0;
}

.confidentialite-list--centered li::before {
  display: none;
}

.confidentialite-content-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  min-width: 0;
}

.confidentialite-content-stack--left {
  max-width: 760px;
  margin-inline: auto;
}

.confidentialite-unit {
  min-width: 0;
}

.confidentialite-unit h3 {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-cobalt-blue);
  margin-block-end: var(--space-3);
}

.confidentialite-unit p {
  margin-block-end: var(--space-4);
}

.confidentialite-unit p:last-child {
  margin-block-end: 0;
}

.confidentialite-intro__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.confidentialite-intro__decor {
  position: absolute;
  top: -20px;
  right: 5%;
  width: 120px;
  height: 120px;
  border: 1px solid var(--color-cobalt-blue);
  border-radius: 50%;
  opacity: 0.15;
  pointer-events: none;
}

.confidentialite-update-date {
  font-weight: var(--weight-semibold);
  color: var(--color-olive-green);
}

.confidentialite-cookies__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.confidentialite-cookies__decor {
  position: absolute;
  bottom: -30px;
  left: 3%;
  width: 160px;
  height: 160px;
  border: 1px solid var(--color-olive-green);
  border-radius: 50%;
  opacity: 0.12;
  pointer-events: none;
}

.confidentialite-droits-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  max-width: 760px;
  margin-inline: auto;
}

.confidentialite-droits-block {
  min-width: 0;
}

.confidentialite-droits-block h3 {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-cobalt-blue);
  margin-block-end: var(--space-3);
}

.confidentialite-droits-block p {
  margin-block-end: var(--space-4);
}

.confidentialite-droits-block p:last-child {
  margin-block-end: 0;
}

.confidentialite-contact-block {
  background-color: var(--surface-card);
  border: 1px solid var(--color-peach);
  border-radius: var(--radius-large);
  padding: var(--space-6);
  min-width: 0;
}

.confidentialite-contact-block h3 {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-cobalt-blue);
  margin-block-end: var(--space-3);
}

.confidentialite-contact-block p {
  margin-block-end: var(--space-4);
}

.confidentialite-contact-block p:last-child {
  margin-block-end: 0;
}

.confidentialite-contact-block a {
  color: var(--color-cobalt-blue);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.confidentialite-contact-block a:hover,
.confidentialite-contact-block a:focus-visible {
  color: var(--color-cherry-red);
}

.confidentialite-update__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  padding-block: var(--space-7);
  border-block-start: 1px solid var(--color-olive-green);
  border-block-end: 1px solid var(--color-olive-green);
}

@media (min-width: 48rem) {
  .confidentialite-section {
    padding-block: var(--space-9);
  }

  .confidentialite-container {
    padding-inline: var(--space-6);
  }

  .confidentialite-droits-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-6);
  }

  .confidentialite-contact-block {
    align-self: start;
  }
}

@media (min-width: 75rem) {
  .confidentialite-container {
    padding-inline: var(--space-7);
  }
}

@media (max-width: 47.9375rem) {
  .confidentialite-section {
    padding-block: var(--space-7);
  }

  .confidentialite-container {
    padding-inline: var(--space-4);
  }

  .confidentialite-title {
    font-size: var(--text-h2);
    line-height: var(--leading-h2);
  }

  .confidentialite-copy--centered,
  .confidentialite-copy--left {
    max-width: 100%;
  }

  .confidentialite-content-stack--left {
    max-width: 100%;
  }

  .confidentialite-droits-layout {
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
  }

  .confidentialite-contact-block {
    padding: var(--space-5);
  }

  .confidentialite-intro__decor,
  .confidentialite-cookies__decor {
    display: none;
  }
}


/* Conditions page styles — Porcelain Frames */

.conditions-main {
  background-color: var(--color-ivory);
  color: var(--color-dark);
  overflow-x: hidden;
}

.conditions-section {
  padding-block: var(--space-8);
}

@media (min-width: 48rem) {
  .conditions-section {
    padding-block: var(--space-9);
  }
}

.conditions-section__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-5);
}

@media (min-width: 48rem) {
  .conditions-section__inner {
    padding-inline: var(--space-6);
  }
}

@media (min-width: 75rem) {
  .conditions-section__inner {
    padding-inline: var(--space-7);
  }
}

/* Titles */
.conditions-title {
  font-family: var(--font-heading);
  color: var(--color-cobalt-blue);
  line-height: 1.2;
  margin-block-end: var(--space-4);
}

.conditions-title--h1 {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  font-weight: var(--weight-bold);
  margin-block-end: var(--space-5);
  max-width: 800px;
}

.conditions-title--h2 {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  font-weight: var(--weight-semibold);
  margin-block-end: var(--space-4);
  max-width: 800px;
}

.conditions-title--h3 {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  font-weight: var(--weight-semibold);
  margin-block-end: var(--space-3);
  max-width: 800px;
}

/* Introduction */
.conditions-intro {
  background-color: var(--color-ivory);
}

.conditions-intro__content,
.conditions-intro__acceptance {
  max-width: 800px;
}

.conditions-intro__acceptance {
  margin-block-start: var(--space-6);
}

.conditions-lead {
  font-size: var(--text-body-large);
  line-height: var(--leading-body);
  margin-block-end: var(--space-4);
}

.conditions-list {
  margin-block-end: var(--space-5);
  padding-inline-start: var(--space-5);
}

.conditions-list:last-child {
  margin-block-end: 0;
}

.conditions-list li {
  margin-block-end: var(--space-2);
  position: relative;
  padding-inline-start: var(--space-4);
}

.conditions-list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.6em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
  background-color: var(--color-cherry-red);
}

.conditions-list li:last-child {
  margin-block-end: 0;
}

/* Access section */
.conditions-access {
  background-color: var(--color-peach);
  border-radius: var(--radius-medium);
  padding-inline: var(--space-5);
  padding-block: var(--space-7);
}

@media (min-width: 48rem) {
  .conditions-access {
    padding-inline: var(--space-6);
    padding-block: var(--space-8);
  }
}

.conditions-access__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

@media (min-width: 48rem) {
  .conditions-access__grid {
    grid-template-columns: 60% 40%;
    gap: var(--space-7);
  }
}

.conditions-access__text {
  min-width: 0;
}

.conditions-access__decor {
  display: none;
}

@media (min-width: 48rem) {
  .conditions-access__decor {
    display: block;
    width: 100%;
    max-width: 260px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, rgba(0, 71, 171, 0.08), rgba(0, 71, 171, 0.02));
    border: 2px solid rgba(0, 71, 171, 0.15);
    justify-self: center;
  }
}

/* Content section */
.conditions-content {
  background-color: var(--color-ivory);
  border: var(--border-thin) solid var(--border-color-primary);
  border-radius: var(--radius-medium);
  padding-inline: var(--space-5);
  padding-block: var(--space-7);
  margin-block-start: var(--space-8);
}

@media (min-width: 48rem) {
  .conditions-content {
    padding-inline: var(--space-6);
    padding-block: var(--space-8);
    margin-block-start: var(--space-9);
  }
}

.conditions-content .conditions-section__inner {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: 0;
}

/* Responsibility section */
.conditions-responsibility {
  background-color: #F0F3E8;
  border-radius: var(--radius-medium);
  padding-inline: var(--space-5);
  padding-block: var(--space-7);
  margin-block-start: var(--space-8);
}

@media (min-width: 48rem) {
  .conditions-responsibility {
    padding-inline: var(--space-6);
    padding-block: var(--space-8);
    margin-block-start: var(--space-9);
  }
}

.conditions-responsibility .conditions-section__inner {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: 0;
}

/* Casino section */
.conditions-casino {
  background-color: var(--color-ivory);
  border: var(--border-thin) solid var(--border-color-secondary);
  border-radius: var(--radius-medium);
  padding-inline: var(--space-5);
  padding-block: var(--space-7);
  margin-block-start: var(--space-8);
}

@media (min-width: 48rem) {
  .conditions-casino {
    padding-inline: var(--space-6);
    padding-block: var(--space-8);
    margin-block-start: var(--space-9);
  }
}

.conditions-casino__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

@media (min-width: 48rem) {
  .conditions-casino__grid {
    grid-template-columns: 60% 40%;
    gap: var(--space-7);
  }
}

.conditions-casino__text {
  min-width: 0;
}

.conditions-casino__decor {
  display: none;
}

@media (min-width: 48rem) {
  .conditions-casino__decor {
    display: block;
    width: 100%;
    max-width: 220px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 50%, rgba(85, 107, 47, 0.1), rgba(85, 107, 47, 0.02));
    border: 2px dashed rgba(85, 107, 47, 0.3);
    justify-self: center;
  }
}

/* Data section */
.conditions-data {
  background-color: var(--color-ivory);
  padding-block: var(--space-8);
}

.conditions-data .conditions-section__inner {
  max-width: 800px;
  margin-inline: auto;
}

.conditions-data a {
  color: var(--color-cobalt-blue);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.conditions-data a:hover,
.conditions-data a:focus-visible {
  color: var(--color-cherry-red);
}

/* Modification section */
.conditions-modification {
  background-color: var(--color-peach);
  border: var(--border-thin) solid var(--border-color-primary);
  border-radius: var(--radius-medium);
  padding-inline: var(--space-5);
  padding-block: var(--space-7);
  margin-block-start: var(--space-8);
}

@media (min-width: 48rem) {
  .conditions-modification {
    padding-inline: var(--space-6);
    padding-block: var(--space-8);
    margin-block-start: var(--space-9);
  }
}

.conditions-modification .conditions-section__inner {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: 0;
}

/* Law section */
.conditions-law {
  background-color: var(--color-ivory);
  padding-block: var(--space-8);
}

.conditions-law .conditions-section__inner {
  max-width: 800px;
  margin-inline: auto;
}

/* Contact section */
.conditions-contact {
  background-color: var(--color-cobalt-blue);
  color: var(--color-white);
  border-radius: var(--radius-medium);
  padding-inline: var(--space-5);
  padding-block: var(--space-7);
  margin-block-start: var(--space-8);
}

@media (min-width: 48rem) {
  .conditions-contact {
    padding-inline: var(--space-6);
    padding-block: var(--space-8);
    margin-block-start: var(--space-9);
  }
}

.conditions-contact .conditions-section__inner {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: 0;
}

.conditions-contact .conditions-title {
  color: var(--color-white);
}

.conditions-contact a {
  color: var(--color-peach);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.conditions-contact a:hover,
.conditions-contact a:focus-visible {
  color: var(--color-white);
}

.conditions-contact__list {
  list-style: none;
  margin-block-start: var(--space-4);
  padding-inline-start: 0;
}

.conditions-contact__list li {
  margin-block-end: var(--space-3);
}

.conditions-contact__list li:last-child {
  margin-block-end: 0;
}

/* Mobile adjustments */
@media (max-width: 47.9375rem) {
  .conditions-title--h1 {
    font-size: var(--text-h1);
    line-height: var(--leading-h1);
  }

  .conditions-title--h2 {
    font-size: var(--text-h2);
    line-height: var(--leading-h2);
  }

  .conditions-title--h3 {
    font-size: var(--text-h3);
    line-height: var(--leading-h3);
  }

  .conditions-section {
    padding-block: var(--space-7);
  }

  .conditions-access,
  .conditions-content,
  .conditions-responsibility,
  .conditions-casino,
  .conditions-modification,
  .conditions-contact {
    margin-block-start: var(--space-7);
  }
}


/* ===== Page: Casino ===== */

/* Hero */
.casino-hero {
  padding-block: var(--space-8);
  background-color: var(--color-ivory);
}

.casino-hero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  align-items: center;
}

.casino-hero__media {
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 2px solid var(--color-cobalt-blue);
  box-shadow: var(--shadow-subtle);
}

.casino-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.casino-hero__content {
  width: 100%;
  max-width: 60%;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.casino-hero__title {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  color: var(--color-cobalt-blue);
  margin-block-end: 0;
}

.casino-hero__lead {
  font-size: var(--text-body-large);
  line-height: var(--leading-body);
  margin-block-end: 0;
}

.casino-hero__facts {
  margin-block-end: 0;
  text-align: start;
  align-self: center;
  max-width: 30rem;
}

/* Introduction */
.casino-intro {
  padding-block: var(--space-9);
  background-color: var(--color-ivory);
}

.casino-intro__grid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--space-7);
  align-items: center;
}

.casino-intro__text {
  min-width: 0;
}

.casino-intro__text h2,
.casino-intro__text h3 {
  margin-block-end: var(--space-4);
}

.casino-intro__text p {
  margin-block-end: var(--space-4);
}

.casino-intro__media {
  width: 100%;
  max-width: 100%;
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border: 2px solid var(--color-cobalt-blue);
  box-shadow: var(--shadow-subtle);
  transform: rotate(3deg);
  transition: transform 0.3s ease;
}

.casino-intro__media:hover {
  transform: rotate(0deg) scale(1.02);
}

.casino-intro__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Poker */
.casino-poker {
  padding-block: var(--space-9);
  background-color: var(--color-peach);
}

.casino-poker__grid {
  display: grid;
  grid-template-columns: 40% 60%;
  gap: var(--space-7);
  align-items: center;
}

.casino-poker__media {
  width: 100%;
  max-width: 100%;
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 2px solid var(--color-cobalt-blue);
  box-shadow: var(--shadow-subtle);
}

.casino-poker__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.casino-poker__text {
  min-width: 0;
}

.casino-poker__text h2,
.casino-poker__text h3 {
  margin-block-end: var(--space-4);
}

.casino-poker__text p {
  margin-block-end: var(--space-4);
}

.casino-poker__text ul {
  margin-block-end: 0;
}

/* Roulette */
.casino-roulette {
  padding-block: var(--space-9);
  background-color: var(--color-ivory);
}

.casino-roulette__grid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--space-7);
  align-items: center;
}

.casino-roulette__text {
  min-width: 0;
}

.casino-roulette__text h2,
.casino-roulette__text h3 {
  margin-block-end: var(--space-4);
}

.casino-roulette__text p {
  margin-block-end: var(--space-4);
}

.casino-roulette__media {
  width: 100%;
  max-width: 100%;
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border: 2px solid var(--color-cobalt-blue);
  box-shadow: var(--shadow-subtle);
  transition: transform 0.3s ease;
}

.casino-roulette__media:hover {
  transform: rotate(2deg) scale(1.02);
}

.casino-roulette__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Blackjack */
.casino-blackjack {
  padding-block: var(--space-9);
  background-color: var(--color-peach);
}

.casino-blackjack__grid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--space-7);
  align-items: center;
}

.casino-blackjack__text {
  min-width: 0;
}

.casino-blackjack__text h2,
.casino-blackjack__text h3 {
  margin-block-end: var(--space-4);
}

.casino-blackjack__text p {
  margin-block-end: var(--space-4);
}

.casino-blackjack__media {
  width: 100%;
  max-width: 100%;
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 2px solid var(--color-cobalt-blue);
  box-shadow: var(--shadow-subtle);
}

.casino-blackjack__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Gastronomy */
.casino-gastronomy {
  padding-block: var(--space-9);
  background-color: var(--color-ivory);
}

.casino-gastronomy__grid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--space-7);
  align-items: center;
}

.casino-gastronomy__text {
  min-width: 0;
}

.casino-gastronomy__text h2,
.casino-gastronomy__text h3 {
  margin-block-end: var(--space-4);
}

.casino-gastronomy__text p {
  margin-block-end: var(--space-4);
}

.casino-gastronomy__media {
  width: 100%;
  max-width: 100%;
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border: 2px solid var(--color-cobalt-blue);
  box-shadow: var(--shadow-subtle);
  transition: transform 0.3s ease;
}

.casino-gastronomy__media:hover {
  transform: rotate(-2deg) scale(1.02);
}

.casino-gastronomy__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Gallery */
.casino-gallery {
  padding-block: var(--space-9);
  background-color: var(--color-peach);
}

.casino-gallery__title {
  text-align: center;
  margin-block-end: var(--space-4);
}

.casino-gallery__lead {
  text-align: center;
  max-width: 40rem;
  margin-inline: auto;
  margin-block-end: var(--space-7);
}

.casino-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.casino-gallery__item {
  min-width: 0;
  margin-block-end: 0;
}

.casino-gallery__item:nth-child(2) {
  transform: translateY(var(--space-4));
}

.casino-gallery__image {
  width: 100%;
  height: auto;
  border-radius: 50%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 2px solid var(--color-cobalt-blue);
  box-shadow: var(--shadow-subtle);
  display: block;
}

.casino-gallery__item:nth-child(2) .casino-gallery__image {
  aspect-ratio: 1 / 1;
}

.casino-gallery__item figcaption {
  text-align: center;
  margin-block-start: var(--space-3);
  font-weight: var(--weight-semibold);
  color: var(--color-cobalt-blue);
}

/* CTA */
.casino-cta {
  padding-block: var(--space-9);
  background-color: var(--color-ivory);
}

.casino-cta__inner {
  max-width: 50%;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  align-items: center;
  padding: var(--space-7);
  border: 2px solid var(--color-cobalt-blue);
  border-radius: 50%;
  background-color: var(--color-white);
  box-shadow: var(--shadow-subtle);
}

.casino-cta__inner h2 {
  margin-block-end: 0;
}

.casino-cta__inner p {
  margin-block-end: 0;
}

.casino-cta__button {
  align-self: center;
}

/* Responsive */
@media (max-width: 64rem) {
  .casino-hero__content {
    max-width: 80%;
  }

  .casino-intro__grid,
  .casino-poker__grid,
  .casino-roulette__grid,
  .casino-blackjack__grid,
  .casino-gastronomy__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .casino-intro__media,
  .casino-poker__media,
  .casino-roulette__media,
  .casino-blackjack__media,
  .casino-gastronomy__media {
    max-width: 24rem;
    margin-inline: auto;
    order: -1;
  }

  .casino-gallery__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .casino-gallery__item:nth-child(2) {
    transform: none;
  }

  .casino-cta__inner {
    max-width: 80%;
  }
}

@media (max-width: 48rem) {
  .casino-hero__content {
    max-width: 100%;
  }

  .casino-hero__media {
    max-width: 90%;
  }

  .casino-hero__facts {
    max-width: 100%;
  }

  .casino-cta__inner {
    max-width: 100%;
    padding: var(--space-5);
    border-radius: var(--radius-large);
  }
}


/* Page-owned styles for Poker page */

.poker-hero__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
  text-align: center;
}

.poker-hero__media {
  width: 100%;
  max-width: 37.5rem;
  margin-inline: auto;
}

.poker-hero__image {
  width: 100%;
  height: auto;
  border-radius: 50%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  filter: sepia(0.12);
}

.poker-hero__content {
  max-width: 50rem;
  margin-inline: auto;
}

.poker-hero__title {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  margin-block-end: var(--space-4);
  text-align: center;
}

.poker-hero__lead {
  font-size: var(--text-body-large);
  line-height: var(--leading-body);
  max-width: 60ch;
  margin-inline: auto;
  text-align: center;
}

.poker-intro__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

.poker-intro__content {
  min-width: 0;
}

.poker-intro__content p {
  }

.poker-intro__media {
  width: 100%;
  max-width: 25rem;
  margin-inline: auto;
}

.poker-intro__image {
  width: 100%;
  height: auto;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  filter: sepia(0.12);
  transition: transform 0.3s ease;
}

.poker-intro__image:hover {
  transform: rotate(3deg) scale(1.05);
}

.poker-tables__container {
  text-align: center;
}

.poker-tables__title {
  margin-block-end: var(--space-6);
}

.poker-tables__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  max-width: 56.25rem;
  margin-inline: auto;
}

.poker-tables__item {
  background-color: var(--surface-card);
  border: var(--border-thin) solid var(--border-color-primary);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-subtle);
  padding: var(--space-5);
  text-align: left;
}

.poker-tables__item h3 {
  margin-block-end: var(--space-3);
}

.poker-tables__item p {
  margin-inline: auto;
}

.poker-cards__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

.poker-cards__content {
  min-width: 0;
}

.poker-cards__content p {
  }

.poker-cards__media {
  width: 100%;
  max-width: 25rem;
  margin-inline: auto;
}

.poker-cards__image {
  width: 100%;
  height: auto;
  border-radius: 50%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  filter: sepia(0.12);
  transition: transform 0.3s ease;
}

.poker-cards__image:hover {
  transform: scale(1.05);
}

.poker-ambiance {
  background: linear-gradient(180deg, var(--color-ivory) 0%, #f5e6d3 50%, #e8d5c0 100%);
}

.poker-ambiance__container {
  text-align: center;
}

.poker-ambiance__title {
  margin-block-end: var(--space-6);
}

.poker-ambiance__content {
  max-width: 50rem;
  margin-inline: auto;
}

.poker-ambiance__content p {
  margin-inline: auto;
  text-align: center;
}

.poker-gastronomy__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
}

.poker-gastronomy__content {
  min-width: 0;
}

.poker-gastronomy__content p {
  }

.poker-reservation__container {
  text-align: center;
}

.poker-reservation__title {
  color: var(--color-white);
  margin-block-end: var(--space-5);
}

.poker-reservation__content {
  max-width: 43.75rem;
  margin-inline: auto;
}

.poker-reservation__content p {
  margin-inline: auto;
  text-align: center;
  color: var(--color-white);
}

.poker-reservation__content a {
  color: var(--color-peach);
}

.poker-reservation__content a:hover,
.poker-reservation__content a:focus-visible {
  color: var(--color-white);
}

.poker-reservation__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-4);
  margin-block-start: var(--space-6);
}

@media (min-width: 48rem) {
  .poker-hero__container {
    flex-direction: row;
    align-items: center;
    text-align: left;
    gap: var(--space-8);
  }

  .poker-hero__media {
    flex: 0 0 37.5rem;
    max-width: 37.5rem;
  }

  .poker-hero__content {
    flex: 1;
    min-width: 0;
    text-align: left;
  }

  .poker-hero__title {
    text-align: left;
  }

  .poker-hero__lead {
    max-width: 60ch;
    margin-inline: 0;
    text-align: left;
  }

  .poker-intro__container {
    grid-template-columns: 3fr 2fr;
    gap: var(--space-8);
  }

  .poker-intro__media {
    max-width: none;
  }

  .poker-tables__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .poker-tables__item p {
    margin-inline: 0;
  }

  .poker-cards__container {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-8);
  }

  .poker-cards__media {
    max-width: none;
  }

  .poker-gastronomy__container {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 75rem) {
  .poker-tables__grid {
    gap: var(--space-8);
  }
}

@media (max-width: 47.9375rem) {
  .poker-hero__media {
    max-width: 100%;
  }

  .poker-hero__image {
    aspect-ratio: 4 / 5;
  }

  .poker-hero__title {
    font-size: var(--text-h2);
    line-height: var(--leading-h2);
  }

  .poker-hero__lead {
    font-size: var(--text-body);
    max-width: 100%;
    text-align: left;
  }

  .poker-intro__container,
  .poker-cards__container {
    grid-template-columns: 1fr;
  }

  .poker-tables__grid {
    grid-template-columns: 1fr;
  }

  .poker-tables__item p {
  margin-inline: 0;
  }

  .poker-ambiance__content p,
  .poker-reservation__content p {
  text-align: left;
  }

  .poker-reservation__actions {
    flex-direction: column;
    align-items: stretch;
  }
}


/* Page-owned styles for /interieur/ */

/* Hero */
.interieur-hero {
    padding-block: var(--space-8);
}

.interieur-hero__container {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    gap: var(--space-7);
    align-items: center;
}

.interieur-hero__text {
    min-width: 0;
}

.interieur-hero__text h1 {
    font-size: var(--text-h1);
    line-height: var(--leading-h1);
    margin-block-end: var(--space-5);
}

.interieur-hero__text p {
  margin-block-end: var(--space-4);
}

.interieur-hero__text .interieur-hero__address {
    font-weight: var(--weight-semibold);
    color: var(--color-olive-green);
    margin-block-end: 0;
}

.interieur-hero__media {
    min-width: 0;
}

.interieur-hero__frame {
    border: var(--border-medium) solid var(--color-cobalt-blue);
    box-shadow: var(--shadow-subtle);
    width: 100%;
    max-width: 100%;
}

.interieur-hero__frame img {
    filter: sepia(0.12) saturate(0.95);
}

/* Salle principale */
.interieur-salle__container {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 4fr);
    gap: var(--space-7);
    align-items: center;
}

.interieur-salle__text {
    min-width: 0;
}

.interieur-salle__text h2 {
    margin-block-end: var(--space-4);
}

.interieur-salle__text h3 {
    margin-block-start: var(--space-5);
    margin-block-end: var(--space-3);
}

.interieur-salle__text p {
  margin-block-end: var(--space-4);
}

.interieur-salle__media {
    min-width: 0;
}

.interieur-salle__frame {
    border: var(--border-medium) solid var(--color-cobalt-blue);
    box-shadow: var(--shadow-subtle);
    width: 100%;
    max-width: 100%;
}

.interieur-salle__frame img {
    filter: sepia(0.12) saturate(0.95);
}

/* Salons privés */
.interieur-salons__container {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 3fr);
    gap: var(--space-7);
    align-items: center;
}

.interieur-salons__text {
    min-width: 0;
}

.interieur-salons__text h2 {
    margin-block-end: var(--space-4);
}

.interieur-salons__text p {
  margin-block-end: var(--space-4);
}

.interieur-salons__text .content-list {
    margin-block-end: 0;
}

.interieur-salons__media {
    min-width: 0;
}

.interieur-salons__frame {
    border: var(--border-medium) solid var(--color-cobalt-blue);
    box-shadow: var(--shadow-subtle);
    width: 100%;
    max-width: 100%;
}

.interieur-salons__frame img {
    filter: sepia(0.12) saturate(0.95);
}

/* Espace casino */
.interieur-casino__container {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 4fr);
    gap: var(--space-7);
    align-items: center;
}

.interieur-casino__text {
    min-width: 0;
}

.interieur-casino__text h2 {
    margin-block-end: var(--space-4);
}

.interieur-casino__text p {
  margin-block-end: var(--space-4);
}

.interieur-casino__media {
    min-width: 0;
}

.interieur-casino__frame {
    border: var(--border-medium) solid var(--color-cobalt-blue);
    box-shadow: var(--shadow-subtle);
    width: 100%;
    max-width: 100%;
}

.interieur-casino__frame img {
    filter: sepia(0.12) saturate(0.95);
}

/* Poker */
.interieur-poker__container {
    display: grid;
    grid-template-columns: minmax(0, 11fr) minmax(0, 7fr);
    gap: var(--space-7);
    align-items: center;
}

.interieur-poker__text {
    min-width: 0;
}

.interieur-poker__text h2 {
    margin-block-end: var(--space-4);
}

.interieur-poker__text p {
  margin-block-end: var(--space-4);
}

.interieur-poker__media {
    min-width: 0;
}

.interieur-poker__frame {
    border: var(--border-medium) solid var(--color-cobalt-blue);
    box-shadow: var(--shadow-subtle);
    width: 100%;
    max-width: 100%;
}

.interieur-poker__frame img {
    filter: sepia(0.12) saturate(0.95);
}

/* Roulette et blackjack */
.interieur-roulette-blackjack__container {
    display: block;
}

.interieur-roulette-blackjack__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-7);
}

.interieur-roulette-blackjack__item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.interieur-roulette-blackjack__media {
    min-width: 0;
}

.interieur-roulette-blackjack__frame {
    border: var(--border-medium) solid var(--color-cobalt-blue);
    box-shadow: var(--shadow-subtle);
    width: 100%;
    max-width: 100%;
}

.interieur-roulette-blackjack__frame img {
    filter: sepia(0.12) saturate(0.95);
}

.interieur-roulette-blackjack__text {
    min-width: 0;
}

.interieur-roulette-blackjack__text h3 {
    margin-block-end: var(--space-3);
}

.interieur-roulette-blackjack__text p {
  margin-block-end: 0;
}

/* Détails */
.interieur-details__container {
    max-width: 600px;
    margin-inline: auto;
    text-align: center;
}

.interieur-details__container h2 {
    margin-block-end: var(--space-4);
}

.interieur-details__container p {
  margin-inline: auto;
    margin-block-end: var(--space-5);
}

.interieur-details__list {
    text-align: start;
    max-width: 520px;
    margin-inline: auto;
    margin-block-end: 0;
}

/* Expérience immersive */
.interieur-experience__container {
    max-width: 700px;
    margin-inline: auto;
    text-align: center;
    background-color: var(--surface-accent);
    border-radius: var(--radius-large);
    padding: var(--space-7);
}

.interieur-experience__container h2 {
    margin-block-end: var(--space-4);
}

.interieur-experience__container p {
  margin-inline: auto;
    margin-block-end: var(--space-5);
}

.interieur-experience__btn {
    display: inline-flex;
}

/* CTA */
.interieur-cta__container {
    max-width: 500px;
    margin-inline: auto;
    text-align: center;
    background-color: var(--color-cobalt-blue);
    color: var(--color-white);
    border-radius: var(--radius-large);
    padding: var(--space-7);
}

.interieur-cta__container h2 {
    color: var(--color-white);
    margin-block-end: var(--space-4);
}

.interieur-cta__container p {
  margin-inline: auto;
    margin-block-end: var(--space-5);
    color: var(--color-white);
}

.interieur-cta__btn {
    display: inline-flex;
}

/* Responsive */
@media (max-width: 64rem) {
    .interieur-hero__container,
    .interieur-salle__container,
    .interieur-salons__container,
    .interieur-casino__container,
    .interieur-poker__container {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }

    .interieur-hero__media,
    .interieur-salle__media,
    .interieur-salons__media,
    .interieur-casino__media,
    .interieur-poker__media {
        order: -1;
    }

    .interieur-roulette-blackjack__grid {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }
}

@media (max-width: 47.9375rem) {
    .interieur-hero {
        padding-block: var(--space-7);
    }

    .interieur-hero__container,
    .interieur-salle__container,
    .interieur-salons__container,
    .interieur-casino__container,
    .interieur-poker__container,
    .interieur-roulette-blackjack__grid {
        gap: var(--space-5);
    }

    .interieur-hero__text h1 {
        font-size: 2rem;
        line-height: 1.2;
    }

    .interieur-hero__text p,
    .interieur-salle__text p,
    .interieur-salons__text p,
    .interieur-casino__text p,
    .interieur-poker__text p,
    .interieur-roulette-blackjack__text p,
    .interieur-details__container p,
    .interieur-experience__container p,
    .interieur-cta__container p {
  }

    .interieur-details__container,
    .interieur-experience__container,
    .interieur-cta__container {
        width: 90%;
        margin-inline: auto;
        padding: var(--space-5);
    }
}

@media (prefers-reduced-motion: reduce) {
    .interieur-hero__frame,
    .interieur-salle__frame,
    .interieur-salons__frame,
    .interieur-casino__frame,
    .interieur-poker__frame,
    .interieur-roulette-blackjack__frame {
        transition: none;
        animation: none;
    }
}


/* Page-owned styles for restaurant/index.php */

.restaurant-hero {
  padding-block: var(--space-8);
}

.restaurant-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: center;
}

.restaurant-hero__text {
  min-width: 0;
}

.restaurant-hero__title {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  margin-block-end: var(--space-4);
}

.restaurant-hero__subtitle {
  font-size: var(--text-body-large);
  line-height: var(--leading-body);
  margin-block-end: var(--space-5);
  max-width: 60ch;
}

.restaurant-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.restaurant-hero__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.restaurant-hero__frame {
  width: 100%;
  max-width: 28rem;
  transform: rotate(2deg);
  transition: transform 0.3s ease;
}

.restaurant-hero__frame:hover {
  transform: rotate(0deg) scale(1.02);
}

.restaurant-history {
  background-color: var(--color-ivory);
}

.restaurant-history__inner {
  max-width: 50rem;
  margin-inline: auto;
}

.restaurant-history__title {
  text-align: center;
  margin-block-end: var(--space-6);
}

.restaurant-history__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.restaurant-history__content p {
  }

.restaurant-history__content blockquote {
  max-width: 70ch;
  margin-inline: auto;
  text-align: center;
}

.restaurant-history__content .content-list {
  max-width: 70ch;
}

.restaurant-cuisine {
  background-color: var(--surface-accent);
}

.restaurant-cuisine__title {
  text-align: center;
  margin-block-end: var(--space-5);
}

.restaurant-cuisine__intro {
  text-align: center;
  max-width: 70ch;
  margin-inline: auto;
  margin-block-end: var(--space-7);
}

.restaurant-cuisine__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-block-end: var(--space-7);
}

.restaurant-cuisine__card {
  min-width: 0;
  background-color: var(--surface-card);
  border: var(--border-thin) solid var(--border-color-primary);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-subtle);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.restaurant-cuisine__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lift);
}

.restaurant-cuisine__frame {
  width: 100%;
  max-width: 12rem;
  margin-inline: auto;
  position: relative;
  transition: transform 0.3s ease;
}

.restaurant-cuisine__card:hover .restaurant-cuisine__frame {
  transform: scale(1.05);
}

.restaurant-cuisine__card h3 {
  margin-block-end: 0;
  text-align: center;
}

.restaurant-cuisine__card p {
  margin-block-end: 0;
  text-align: center;
  margin-inline: auto;
}

.restaurant-cuisine__desserts {
  max-width: 70ch;
  margin-inline: auto;
  text-align: center;
}

.restaurant-cuisine__desserts h3 {
  margin-block-end: var(--space-3);
}

.restaurant-cuisine__desserts p {
  margin-block-end: 0;
}

.restaurant-interior {
  background-color: var(--color-ivory);
}

.restaurant-interior__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-7);
  align-items: center;
}

.restaurant-interior__text {
  min-width: 0;
}

.restaurant-interior__text p {
  }

.restaurant-interior__gallery {
  min-width: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.restaurant-interior__frame {
  width: 100%;
  max-width: 24rem;
  transition: transform 0.3s ease;
}

.restaurant-interior__frame--one {
  align-self: flex-start;
  transform: rotate(-2deg);
}

.restaurant-interior__frame--two {
  align-self: flex-end;
  transform: rotate(3deg);
  margin-block-start: calc(-1 * var(--space-5));
}

.restaurant-interior__frame:hover {
  transform: rotate(0deg) scale(1.03);
}

.restaurant-experience {
  background-color: var(--surface-accent);
}

.restaurant-experience__title {
  text-align: center;
  margin-block-end: var(--space-6);
}

.restaurant-experience__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.restaurant-experience__step {
  min-width: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
}

.restaurant-experience__number {
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-full);
  background-color: var(--color-cobalt-blue);
  color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  font-weight: var(--weight-bold);
  transition: transform 0.3s ease;
}

.restaurant-experience__step:hover .restaurant-experience__number {
  transform: rotate(10deg);
}

.restaurant-experience__step h3 {
  margin-block-end: 0;
}

.restaurant-experience__step p {
  margin-block-end: 0;
  }

.restaurant-games {
  background-color: var(--color-ivory);
}

.restaurant-games__title {
  text-align: center;
  margin-block-end: var(--space-5);
}

.restaurant-games__intro {
  text-align: center;
  max-width: 70ch;
  margin-inline: auto;
  margin-block-end: var(--space-7);
}

.restaurant-games__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.restaurant-games__card {
  min-width: 0;
  background-color: var(--surface-card);
  border: var(--border-thin) solid var(--border-color-primary);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-subtle);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.restaurant-games__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lift);
}

.restaurant-games__frame {
  width: 100%;
  max-width: 12rem;
  margin-inline: auto;
  transition: transform 0.3s ease;
}

.restaurant-games__card:hover .restaurant-games__frame {
  transform: scale(1.05);
}

.restaurant-games__card h3 {
  margin-block-end: 0;
  text-align: center;
}

.restaurant-games__card p {
  margin-block-end: 0;
  text-align: center;
  margin-inline: auto;
}

.restaurant-testimonials {
  background-color: var(--surface-accent);
}

.restaurant-testimonials__title {
  text-align: center;
  margin-block-end: var(--space-6);
}

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

.restaurant-testimonials__quote {
  min-width: 0;
  background-color: var(--surface-card);
  border: var(--border-thin) solid var(--border-color-primary);
  border-radius: var(--radius-large);
  box-shadow: var(--shadow-subtle);
  padding: var(--space-6);
  margin-block-end: 0;
  text-align: center;
}

.restaurant-testimonials__quote p {
  margin-block-end: var(--space-3);
  font-style: italic;
}

.restaurant-testimonials__quote cite {
  font-style: normal;
  font-weight: var(--weight-semibold);
  color: var(--color-olive-green);
}

.restaurant-reservation {
  background-color: var(--color-ivory);
}

.restaurant-reservation__inner {
  max-width: 37.5rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  align-items: center;
}

.restaurant-reservation__inner h2 {
  margin-block-end: 0;
}

.restaurant-reservation__inner p {
  margin-block-end: 0;
  }

.restaurant-reservation__contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-block-start: var(--space-2);
}

.restaurant-reservation__contact p {
  margin-block-end: 0;
}

@media (max-width: 63.9375rem) {
  .restaurant-hero__inner {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .restaurant-hero__text {
    text-align: center;
  }

  .restaurant-hero__subtitle {
    margin-inline: auto;
  }

  .restaurant-hero__actions {
    justify-content: center;
  }

  .restaurant-hero__frame {
    max-width: 80%;
  }

  .restaurant-interior__inner {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .restaurant-interior__gallery {
    align-items: center;
  }

  .restaurant-interior__frame {
    max-width: 80%;
  }

  .restaurant-interior__frame--one,
  .restaurant-interior__frame--two {
    align-self: center;
  }

  .restaurant-interior__frame--two {
    margin-block-start: calc(-1 * var(--space-4));
  }

  .restaurant-cuisine__grid,
  .restaurant-games__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .restaurant-experience__steps {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .restaurant-testimonials__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }
}

@media (max-width: 47.9375rem) {
  .restaurant-hero {
    padding-block: var(--space-7);
  }

  .restaurant-hero__title {
    font-size: var(--text-h2);
    line-height: var(--leading-h2);
  }

  .restaurant-hero__frame {
    max-width: 100%;
  }

  .restaurant-cuisine__grid,
  .restaurant-games__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .restaurant-cuisine__frame,
  .restaurant-games__frame {
    max-width: 80%;
  }

  .restaurant-interior__frame {
    max-width: 100%;
  }

  .restaurant-interior__frame--two {
    margin-block-start: calc(-1 * var(--space-3));
  }

  .restaurant-reservation__inner {
    padding-inline: var(--space-4);
  }
}


/* Page-owned styles for Sélection du Chef — scoped to .selection-chef-main */

.selection-chef-main {
  --chef-intro-text-width: 60%;
  --chef-intro-visual-width: 40%;
  --chef-intro-visual-mobile-width: 80%;
  --philosophy-max-width: 50rem;
  --signature-card-count: 3;
  --casino-text-width: 55%;
  --casino-visual-width: 45%;
  --casino-visual-mobile-width: 80%;
  --pairing-card-count: 3;
  --quote-max-width: 37.5rem;
  --cta-max-width: 37.5rem;
  --note-max-width: 43.75rem;
}

/* Introduction du Chef */
.chef-intro {
  padding-block-start: var(--space-7);
  padding-block-end: var(--space-8);
}

.chef-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, var(--chef-intro-text-width)) minmax(0, var(--chef-intro-visual-width));
  gap: var(--space-7);
  align-items: center;
}

.chef-intro__text {
  min-width: 0;
}

.chef-intro__title {
  text-align: center;
  margin-block-end: var(--space-5);
}

.chef-intro__lead {
  font-size: var(--text-body-large);
  line-height: var(--leading-body);
  color: var(--color-olive-green);
  margin-block-end: var(--space-5);
}

.chef-intro__text p {
  margin-inline: 0;
}

.chef-intro__quote {
  margin-block-start: var(--space-6);
  max-width: 42.5rem;
}

.chef-intro__visual {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.chef-intro__oval {
  width: 100%;
  max-width: 26rem;
  border: var(--border-medium) solid var(--color-cobalt-blue);
  background-color: var(--color-peach);
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(-3deg);
  box-shadow: var(--shadow-subtle);
}

.chef-intro__plate-mark {
  width: 55%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: var(--border-thin) solid var(--color-cobalt-blue);
  background: radial-gradient(circle at center, var(--color-ivory) 0%, var(--color-peach) 70%, transparent 71%);
  position: relative;
}

.chef-intro__plate-mark::before,
.chef-intro__plate-mark::after {
  content: "";
  position: absolute;
  background-color: var(--color-cobalt-blue);
  border-radius: 999px;
}

.chef-intro__plate-mark::before {
  width: 8%;
  height: 60%;
  top: 20%;
  left: 46%;
  transform: rotate(45deg);
}

.chef-intro__plate-mark::after {
  width: 8%;
  height: 60%;
  top: 20%;
  left: 46%;
  transform: rotate(-45deg);
}

/* Philosophie de la Sélection */
.philosophy {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-8);
}

.philosophy__container {
  max-width: var(--philosophy-max-width);
  margin-inline: auto;
  position: relative;
  z-index: 1;
}

.philosophy__title {
  text-align: left;
  margin-block-end: var(--space-5);
}

.philosophy__container p {
  margin-inline: 0;
  margin-block-end: var(--space-4);
}

.philosophy__container p:last-of-type {
  margin-block-end: var(--space-5);
}

.philosophy__list {
  max-width: 37.5rem;
  margin-inline: 0;
}

.philosophy__decor {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0.35;
}

.philosophy__decor--one {
  width: 18rem;
  height: 18rem;
  background-color: var(--color-cobalt-blue);
  top: -6rem;
  right: -4rem;
}

.philosophy__decor--two {
  width: 12rem;
  height: 12rem;
  background-color: var(--color-olive-green);
  bottom: -4rem;
  left: -3rem;
}

/* Plats Signature */
.signature-dishes {
  padding-block: var(--space-8);
}

.signature-dishes__title {
  text-align: center;
  margin-block-end: var(--space-3);
}

.signature-dishes__intro {
  text-align: center;
  max-width: 42.5rem;
  margin-inline: auto;
  margin-block-end: var(--space-6);
}

.signature-dishes__grid {
  display: grid;
  grid-template-columns: repeat(var(--signature-card-count), minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.signature-dishes__card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.signature-dishes__card--one {
  transform: translateY(0);
}

.signature-dishes__card--two {
  transform: translateY(var(--space-4));
}

.signature-dishes__card--three {
  transform: translateY(var(--space-2));
}

.signature-dishes__card:hover {
  transform: translateY(calc(var(--space-2) * -1));
  box-shadow: var(--shadow-lift);
}

.dish-card__media {
  width: 100%;
  max-width: 100%;
  border: var(--border-thin) solid var(--color-cobalt-blue);
  overflow: hidden;
}

.dish-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.signature-dishes__card:hover .dish-card__media img {
  transform: scale(1.05);
}

.dish-card__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.dish-card__title {
  margin-block-end: 0;
}

.dish-card__description {
  margin-block-end: 0;
}

.dish-card__details {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.dish-card__details li {
  position: relative;
  padding-inline-start: var(--space-4);
  font-size: var(--text-caption);
  color: var(--color-olive-green);
}

.dish-card__details li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.5em;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background-color: var(--color-cherry-red);
}

/* L'Expérience Gastronomique au Casino */
.casino-experience {
  background-color: var(--color-olive-green);
  color: var(--color-white);
  padding-block: var(--space-8);
  position: relative;
  overflow: hidden;
}

.casino-experience::before {
  content: "";
  position: absolute;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 240, 0.15);
  top: -8rem;
  right: -6rem;
  pointer-events: none;
}

.casino-experience::after {
  content: "";
  position: absolute;
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 240, 0.12);
  bottom: -5rem;
  left: -4rem;
  pointer-events: none;
}

.casino-experience__grid {
  display: grid;
  grid-template-columns: minmax(0, var(--casino-text-width)) minmax(0, var(--casino-visual-width));
  gap: var(--space-7);
  align-items: center;
  position: relative;
  z-index: 1;
}

.casino-experience__text {
  min-width: 0;
}

.casino-experience__title {
  color: var(--color-white);
  margin-block-end: var(--space-5);
}

.casino-experience__text p {
  margin-inline: 0;
  color: var(--color-ivory);
}

.casino-experience__visual {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.casino-experience__oval {
  width: 100%;
  max-width: 28rem;
  border: var(--border-medium) solid var(--color-peach);
  box-shadow: var(--shadow-subtle);
}

/* Accords Mets et Vins */
.wine-pairing {
  padding-block: var(--space-8);
}

.wine-pairing__title {
  text-align: center;
  margin-block-end: var(--space-3);
}

.wine-pairing__intro {
  text-align: center;
  max-width: 42.5rem;
  margin-inline: auto;
  margin-block-end: var(--space-6);
}

.wine-pairing__grid {
  display: grid;
  grid-template-columns: repeat(var(--pairing-card-count), minmax(0, 1fr));
  gap: var(--space-5);
}

.wine-pairing__card {
  min-width: 0;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-5);
  border: var(--border-thin) solid var(--color-cobalt-blue);
  background-color: var(--color-ivory);
  box-shadow: var(--shadow-subtle);
  transition: background-color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.wine-pairing__card--one {
  background-color: var(--color-peach);
}

.wine-pairing__card--two {
  background-color: var(--color-ivory);
}

.wine-pairing__card--three {
  background-color: var(--color-peach);
}

.wine-pairing__card:hover {
  background-color: var(--color-cobalt-blue);
  border-color: var(--color-cobalt-blue);
  box-shadow: var(--shadow-lift);
}

.wine-pairing__card:hover .pairing-card__title,
.wine-pairing__card:hover .pairing-card__text {
  color: var(--color-white);
}

.pairing-card__title {
  margin-block-end: var(--space-3);
  color: var(--color-cobalt-blue);
}

.pairing-card__text {
  margin-block-end: 0;
  color: var(--color-dark);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

/* Témoignage du Chef */
.chef-quote {
  padding-block: var(--space-8);
  background-color: var(--color-peach);
}

.chef-quote__container {
  display: flex;
  justify-content: center;
}

.chef-quote__frame {
  max-width: var(--quote-max-width);
  width: 100%;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  background-color: var(--color-ivory);
  border: var(--border-medium) solid var(--color-cobalt-blue);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-7);
  box-shadow: var(--shadow-subtle);
}

.chef-quote__text {
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  line-height: var(--leading-h4);
  color: var(--color-cobalt-blue);
  font-style: italic;
  margin-block-end: var(--space-4);
  max-width: 31.25rem;
}

.chef-quote__attribution {
  margin-block-end: 0;
  font-weight: var(--weight-semibold);
  color: var(--color-olive-green);
}

/* Réservation */
.reservation-cta {
  padding-block: var(--space-8);
  background-color: var(--color-cobalt-blue);
  color: var(--color-white);
}

.reservation-cta__container {
  max-width: var(--cta-max-width);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-4);
}

.reservation-cta__title {
  color: var(--color-white);
  margin-block-end: 0;
}

.reservation-cta__text {
  color: var(--color-ivory);
  margin-block-end: 0;
}

.reservation-cta__button {
  margin-block-start: var(--space-2);
}

.reservation-cta__contact {
  margin-block-end: 0;
  font-size: var(--text-caption);
  color: var(--color-peach);
}

.reservation-cta__contact a {
  color: var(--color-peach);
  text-decoration: underline;
}

.reservation-cta__contact a:hover,
.reservation-cta__contact a:focus-visible {
  color: var(--color-white);
}

/* Note sur le Casino Physique */
.offline-note {
  padding-block: var(--space-7);
  background-color: rgba(85, 107, 47, 0.12);
}

.offline-note__container {
  max-width: var(--note-max-width);
  margin-inline: auto;
  text-align: center;
}

.offline-note__title {
  margin-block-end: var(--space-3);
}

.offline-note__text {
  margin-block-end: 0;
  max-width: 37.5rem;
  margin-inline: auto;
}

/* Tablet and intermediate breakpoints */
@media (max-width: 64rem) {
  .chef-intro__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .chef-intro__text {
    order: 1;
  }

  .chef-intro__visual {
    order: 0;
  }

  .chef-intro__title {
    text-align: center;
  }

  .chef-intro__text p,
  .chef-intro__quote {
    max-width: 100%;
  }

  .chef-intro__oval {
    max-width: 22rem;
  }

  .signature-dishes__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .signature-dishes__card--one,
  .signature-dishes__card--two,
  .signature-dishes__card--three {
    transform: translateY(0);
  }

  .casino-experience__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .casino-experience__text p {
  }

  .casino-experience__oval {
    max-width: 24rem;
  }

  .wine-pairing__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .wine-pairing__card {
    aspect-ratio: auto;
    min-height: 12rem;
    border-radius: var(--radius-large);
  }

  .chef-quote__frame {
    aspect-ratio: auto;
    min-height: 22rem;
    border-radius: var(--radius-large);
    padding: var(--space-6);
  }
}

@media (max-width: 48rem) {
  .chef-intro {
    padding-block-start: var(--space-6);
    padding-block-end: var(--space-7);
  }

  .chef-intro__title {
    text-align: center;
  }

  .chef-intro__lead {
    text-align: left;
  }

  .chef-intro__text p {
    text-align: left;
  }

  .chef-intro__oval {
    max-width: 18rem;
  }

  .philosophy {
    padding-block: var(--space-7);
  }

  .philosophy__container p,
  .philosophy__list {
    max-width: 100%;
  }

  .signature-dishes {
    padding-block: var(--space-7);
  }

  .casino-experience {
    padding-block: var(--space-7);
  }

  .wine-pairing {
    padding-block: var(--space-7);
  }

  .chef-quote {
    padding-block: var(--space-7);
  }

  .chef-quote__frame {
    min-height: 20rem;
    padding: var(--space-5);
  }

  .reservation-cta {
    padding-block: var(--space-7);
  }

  .offline-note {
    padding-block: var(--space-6);
  }
}

@media (max-width: 30rem) {
  .chef-intro__oval {
    max-width: 80%;
  }

  .chef-quote__frame {
    min-height: 18rem;
    padding: var(--space-4);
  }

  .chef-quote__text {
    font-size: var(--text-body-large);
  }
}


/* Page-owned styles for Notre Cuisine */
.page-notre-cuisine {
  --nc-cobalt: #0047AB;
  --nc-peach: #FFDAB9;
  --nc-olive: #556B2F;
  --nc-ivory: #FFFFF0;
  --nc-cherry: #DC143C;
  --nc-cobalt-dark: #003A8C;
  --nc-peach-dark: #F5C79E;
  --nc-olive-dark: #445624;
  --nc-border: 1px solid var(--nc-cobalt);
  --nc-border-olive: 1px solid var(--nc-olive);
  --nc-shadow-subtle: 0 2px 8px rgba(0, 0, 0, 0.06);
  --nc-shadow-lift: 0 4px 16px rgba(0, 0, 0, 0.1);
  --nc-radius-small: 4px;
  --nc-radius-medium: 12px;
  --nc-radius-large: 24px;
  --nc-radius-full: 50%;
}

/* Introduction */
.nc-intro {
  padding-block: var(--space-8);
}

.nc-intro__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.nc-intro__title {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  font-weight: var(--weight-bold);
  color: var(--nc-cobalt);
  margin-block-end: 0;
  max-width: 100%;
}

.nc-intro__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  align-items: center;
}

.nc-intro__content {
  min-width: 0;
}

.nc-intro__text {
  font-size: var(--text-body-large);
  line-height: var(--leading-body);
  max-width: 70ch;
  margin-block-end: var(--space-4);
}

.nc-intro__address {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--nc-olive);
  max-width: 70ch;
  margin-block-end: 0;
}

.nc-intro__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.nc-intro__oval {
  width: min(80%, 340px);
  aspect-ratio: 4 / 5;
  border-radius: 50%;
  overflow: visible;
  position: relative;
  box-shadow: var(--nc-shadow-subtle);
  transition: transform 0.6s ease;
}

.nc-intro__oval img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}

@media (min-width: 48rem) {
  .nc-intro__layout {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: var(--space-7);
  }

  .nc-intro__content {
    align-self: start;
  }

  .nc-intro__oval {
    width: 100%;
    max-width: 420px;
    justify-self: end;
  }
}

@media (min-width: 75rem) {
  .nc-intro__oval {
    max-width: 480px;
  }
}

/* Philosophy */
.nc-philosophy {
  padding-block: var(--space-8);
}

.nc-philosophy__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  font-weight: var(--weight-semibold);
  color: var(--nc-cobalt);
  text-align: center;
  margin-block-end: var(--space-6);
}

.nc-philosophy__columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.nc-philosophy__column {
  min-width: 0;
}

.nc-philosophy__column p {
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-4);
}

.nc-philosophy__column p:last-child {
  margin-block-end: 0;
}

.nc-philosophy__quote {
  max-width: 65ch;
  margin-inline: auto;
  text-align: center;
  border-inline-start: none;
  padding-inline-start: 0;
  font-style: italic;
  color: var(--nc-olive);
  margin-block-end: var(--space-4);
}

.nc-philosophy__note {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--nc-olive);
  text-align: center;
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

@media (min-width: 48rem) {
  .nc-philosophy__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-8);
  }

  .nc-philosophy__column p,
  .nc-philosophy__quote,
  .nc-philosophy__note {
    text-align: left;
    margin-inline: 0;
  }
}

/* Specialties */
.nc-specialties {
  padding-block: var(--space-8);
}

.nc-specialties__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  font-weight: var(--weight-semibold);
  color: var(--nc-cobalt);
  text-align: center;
  margin-block-end: var(--space-7);
}

.nc-specialties__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.nc-specialties__card {
  min-width: 0;
  background-color: var(--nc-ivory);
  border: var(--nc-border);
  border-radius: var(--nc-radius-medium);
  box-shadow: var(--nc-shadow-subtle);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  transition: box-shadow 0.2s ease;
}

.nc-specialties__card:hover {
  box-shadow: var(--nc-shadow-lift);
}

.nc-dish-card__media {
  display: flex;
  justify-content: center;
  min-width: 0;
}

.nc-dish-card__circle {
  width: 180px;
  height: 180px;
  border-radius: var(--nc-radius-full);
  overflow: hidden;
  box-shadow: var(--nc-shadow-subtle);
  transition: transform 0.3s ease;
  position: relative;
}

.nc-dish-card__circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.nc-specialties__card:hover .nc-dish-card__circle {
  transform: scale(1.05);
}

.nc-dish-card__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.nc-dish-card__title {
  font-size: var(--text-h4);
  line-height: var(--leading-h4);
  font-weight: var(--weight-semibold);
  color: var(--nc-cobalt);
  margin-block-end: 0;
}

.nc-dish-card__text {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  max-width: 60ch;
  margin-block-end: 0;
}

.nc-dish-card__circle::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--nc-cherry);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.nc-specialties__card:hover .nc-dish-card__circle::after {
  opacity: 1;
}

@media (min-width: 48rem) {
  .nc-specialties__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .nc-specialties__card--2 {
    transform: translateY(var(--space-5));
  }
}

@media (min-width: 75rem) {
  .nc-dish-card__circle {
    width: 200px;
    height: 200px;
  }
}

/* Techniques */
.nc-techniques {
  padding-block: var(--space-7);
  background-color: #F0F3E8;
}

.nc-techniques__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  font-weight: var(--weight-semibold);
  color: var(--nc-cobalt);
  text-align: center;
  margin-block-end: var(--space-6);
}

.nc-techniques__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.nc-technique {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  text-align: center;
}

.nc-technique__icon {
  width: 48px;
  height: 48px;
  border-radius: var(--nc-radius-full);
  background-color: var(--nc-peach);
  border: var(--nc-border);
  position: relative;
  flex-shrink: 0;
}

.nc-technique__icon::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  border: 2px solid var(--nc-cobalt);
}

.nc-technique__title {
  font-size: var(--text-h4);
  line-height: var(--leading-h4);
  font-weight: var(--weight-semibold);
  color: var(--nc-cobalt);
  margin-block-end: 0;
}

.nc-technique__text {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  max-width: 60ch;
  margin-block-end: 0;
}

@media (min-width: 48rem) {
  .nc-techniques__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .nc-technique {
    align-items: flex-start;
    text-align: left;
  }
}

/* Fresh products */
.nc-fresh {
  padding-block: var(--space-8);
}

.nc-fresh__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  align-items: center;
}

.nc-fresh__content {
  min-width: 0;
}

.nc-fresh__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  font-weight: var(--weight-semibold);
  color: var(--nc-cobalt);
  margin-block-end: var(--space-4);
}

.nc-fresh__text {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  max-width: 65ch;
  margin-block-end: var(--space-5);
}

.nc-fresh__list {
  margin-block-end: 0;
}

.nc-fresh__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.nc-fresh__oval {
  width: min(80%, 320px);
  aspect-ratio: 4 / 5;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: var(--nc-shadow-subtle);
  transition: transform 0.6s ease;
}

.nc-fresh__oval img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (min-width: 48rem) {
  .nc-fresh__layout {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: var(--space-7);
  }

  .nc-fresh__oval {
    width: 100%;
    max-width: 380px;
    justify-self: end;
  }
}

@media (min-width: 75rem) {
  .nc-fresh__oval {
    max-width: 440px;
  }
}

/* Kitchen in action */
.nc-action {
  padding-block: var(--space-7);
}

.nc-action__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.nc-action__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  font-weight: var(--weight-semibold);
  color: var(--nc-cobalt);
  text-align: center;
  margin-block-end: 0;
}

.nc-action__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.nc-action__circle {
  width: min(80%, 280px);
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: var(--nc-radius-full);
  overflow: hidden;
  box-shadow: var(--nc-shadow-subtle);
  transition: transform 0.4s ease;
}

.nc-action__circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.nc-action__circle:hover {
  transform: rotate(2deg);
}

.nc-action__text {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  max-width: 60ch;
  text-align: center;
  margin-inline: auto;
  margin-block-end: 0;
}

@media (min-width: 48rem) {
  .nc-action__circle {
    width: 320px;
  }
}

@media (min-width: 75rem) {
  .nc-action__circle {
    width: 360px;
  }
}

/* Wine pairing */
.nc-wine {
  padding-block: var(--space-8);
  background-color: var(--nc-ivory);
  border-block: var(--nc-border);
}

.nc-wine__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  font-weight: var(--weight-semibold);
  color: var(--nc-cobalt);
  text-align: center;
  margin-block-end: var(--space-6);
}

.nc-wine__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.nc-wine__main,
.nc-wine__accords {
  min-width: 0;
}

.nc-wine__subtitle {
  font-size: var(--text-h4);
  line-height: var(--leading-h4);
  font-weight: var(--weight-semibold);
  color: var(--nc-cobalt);
  margin-block-end: var(--space-3);
}

.nc-wine__text {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  max-width: 65ch;
  margin-block-end: 0;
}

.nc-wine__list {
  margin-block-end: 0;
}

@media (min-width: 48rem) {
  .nc-wine__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-7);
  }
}

/* Casino experience */
.nc-casino {
  position: relative;
  padding-block: var(--space-9);
  overflow: hidden;
}

.nc-casino__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.nc-casino__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: blur(2px) brightness(0.85);
}

.nc-casino__container {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
}

.nc-casino__content {
  background-color: rgba(255, 255, 240, 0.92);
  border: var(--nc-border);
  border-radius: var(--nc-radius-large);
  padding: var(--space-6);
  max-width: 70ch;
  width: 100%;
  text-align: center;
}

.nc-casino__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  font-weight: var(--weight-semibold);
  color: var(--nc-cobalt);
  margin-block-end: var(--space-4);
}

.nc-casino__text {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  margin-block-end: 0;
}

@media (max-width: 47.9375rem) {
  .nc-casino__content {
    padding: var(--space-5);
  }
}

/* CTA */
.nc-cta {
  padding-block: var(--space-8);
}

.nc-cta__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  text-align: center;
}

.nc-cta__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  font-weight: var(--weight-semibold);
  color: var(--nc-cobalt);
  margin-block-end: 0;
}

.nc-cta__text {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.nc-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-4);
  min-width: 0;
}

.nc-cta__btn {
  min-width: 0;
}

@media (max-width: 47.9375rem) {
  .nc-cta__actions {
    flex-direction: column;
    width: 100%;
    max-width: 320px;
    margin-inline: auto;
  }

  .nc-cta__btn {
    width: 100%;
  }
}

/* Scroll animation classes */
.nc-scroll-animate {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.nc-scroll-animate.nc-visible {
  opacity: 1;
  transform: translateY(0);
}

.nc-intro__oval.nc-scroll-animate {
  transform: translateY(20px) rotate(0deg);
}

.nc-intro__oval.nc-scroll-animate.nc-visible {
  transform: translateY(0) rotate(2deg);
}

.nc-fresh__oval.nc-scroll-animate {
  transform: translateY(-20px);
}

.nc-fresh__oval.nc-scroll-animate.nc-visible {
  transform: translateY(0);
}


/* Page-owned styles for la-carte */

/* Introduction Gourmande */
.la-carte-intro {
  background-color: var(--color-ivory);
}

.la-carte-intro__container {
  position: relative;
}

.la-carte-intro__title {
  text-align: center;
  margin-block-end: var(--space-6);
}

.la-carte-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
}

.la-carte-intro__content {
  min-width: 0;
}

.la-carte-intro__lead {
  font-style: italic;
  color: var(--color-olive-green);
  margin-block-end: var(--space-4);
}

.la-carte-intro__promise {
  margin-block-start: var(--space-5);
  padding: var(--space-5);
  background-color: var(--color-ivory);
  border: var(--border-thin) solid var(--color-cobalt-blue);
  border-radius: var(--radius-medium);
}

.la-carte-intro__promise h2 {
  margin-block-end: var(--space-3);
}

.la-carte-intro__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.la-carte-intro__figure {
  margin: 0;
  width: min(100%, 400px);
}

.la-carte-intro__image {
  width: 100%;
  height: auto;
  border-radius: 50%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  filter: sepia(0.2) saturate(0.9);
  transition: transform 0.4s ease;
}

.la-carte-intro__figure figcaption {
  text-align: center;
  margin-block-start: var(--space-2);
}

/* Entrées */
.la-carte-entrees {
  background-color: var(--color-ivory);
  position: relative;
  overflow: hidden;
}

.la-carte-entrees__container {
  position: relative;
  z-index: 1;
}

.la-carte-entrees__title {
  text-align: center;
  margin-block-end: var(--space-3);
}

.la-carte-entrees__subtitle {
  text-align: center;
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: var(--space-6);
}

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

.la-carte-entrees__column {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.la-carte-entrees__item {
  min-width: 0;
}

.la-carte-entrees__item-title {
  margin-block-end: var(--space-2);
  position: relative;
  display: inline-block;
}

.la-carte-entrees__item-title::after {
  content: "";
  position: absolute;
  inset-inline-start: 100%;
  inset-block-start: 0.2em;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background-color: var(--color-cherry-red);
  opacity: 0;
  transform: translateX(0.25rem);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.la-carte-entrees__item:hover .la-carte-entrees__item-title::after {
  opacity: 1;
  transform: translateX(0.5rem);
}

.la-carte-entrees__item-desc {
  max-width: 50ch;
  margin-block-end: 0;
}

.la-carte-entrees__images {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.la-carte-entrees__bg-image {
  position: absolute;
  width: 180px;
  height: 180px;
  object-fit: cover;
  border-radius: 50%;
  opacity: 0.12;
  filter: sepia(0.3);
  transition: transform 0.6s ease;
}

.la-carte-entrees__bg-image--one {
  top: 10%;
  left: 5%;
}

.la-carte-entrees__bg-image--two {
  bottom: 10%;
  right: 5%;
}

/* Plats Principaux */
.la-carte-plats {
  background-color: var(--color-ivory);
}

.la-carte-plats__container {
  position: relative;
}

.la-carte-plats__title {
  text-align: center;
  margin-block-end: var(--space-3);
}

.la-carte-plats__subtitle {
  text-align: center;
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: var(--space-6);
}

.la-carte-plats__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.la-carte-plats__card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.la-carte-plats__figure {
  margin: 0;
  width: 100%;
  max-width: 300px;
}

.la-carte-plats__image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 50%;
  filter: sepia(0.2) saturate(0.9);
  transition: transform 0.4s ease;
}

.la-carte-plats__card:hover .la-carte-plats__image {
  transform: scale(1.05);
}

.la-carte-plats__caption {
  margin-block-start: var(--space-2);
  font-style: italic;
}

.la-carte-plats__card-title {
  margin-block-start: var(--space-3);
  margin-block-end: var(--space-2);
}

.la-carte-plats__card-desc {
  max-width: 55ch;
  margin-block-end: 0;
}

/* Desserts */
.la-carte-desserts {
  background-color: var(--color-ivory);
}

.la-carte-desserts__container {
  position: relative;
}

.la-carte-desserts__title {
  text-align: center;
  margin-block-end: var(--space-3);
}

.la-carte-desserts__subtitle {
  text-align: center;
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: var(--space-6);
}

.la-carte-desserts__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
}

.la-carte-desserts__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.la-carte-desserts__item {
  min-width: 0;
}

.la-carte-desserts__item-title {
  margin-block-end: var(--space-2);
}

.la-carte-desserts__item-desc {
  max-width: 60ch;
  margin-block-end: 0;
}

.la-carte-desserts__media {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  align-items: center;
}

.la-carte-desserts__figure {
  margin: 0;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
}

.la-carte-desserts__figure--one {
  align-self: flex-start;
}

.la-carte-desserts__figure--two {
  align-self: flex-end;
}

.la-carte-desserts__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: sepia(0.2) saturate(0.9);
  transition: transform 0.4s ease;
}

.la-carte-desserts__figure:hover .la-carte-desserts__image {
  transform: scale(1.08);
}

/* Suggestions du Chef */
.la-carte-suggestions {
  background-color: var(--color-ivory);
}

.la-carte-suggestions__container {
  position: relative;
}

.la-carte-suggestions__title {
  text-align: center;
  margin-block-end: var(--space-3);
}

.la-carte-suggestions__subtitle {
  text-align: center;
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: var(--space-6);
}

.la-carte-suggestions__block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
}

.la-carte-suggestions__figure {
  margin: 0;
  width: min(100%, 400px);
  text-align: center;
}

.la-carte-suggestions__image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 50%;
  filter: sepia(0.2) saturate(0.9);
  transition: transform 0.4s ease;
}

.la-carte-suggestions__figure:hover .la-carte-suggestions__image {
  transform: scale(1.05);
}

.la-carte-suggestions__caption {
  margin-block-start: var(--space-2);
}

.la-carte-suggestions__content {
  max-width: 65ch;
  text-align: center;
  margin-inline: auto;
}

.la-carte-suggestions__item-title {
  margin-block-end: var(--space-3);
}

.la-carte-suggestions__desc {
  margin-block-end: 0;
}

/* Carte des Vins et Boissons */
.la-carte-vins {
  background-color: var(--color-ivory);
}

.la-carte-vins__container {
  position: relative;
}

.la-carte-vins__title {
  text-align: center;
  margin-block-end: var(--space-3);
}

.la-carte-vins__subtitle {
  text-align: center;
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: var(--space-6);
}

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

.la-carte-vins__column {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.la-carte-vins__item {
  min-width: 0;
  padding: var(--space-4);
  border: var(--border-thin) solid var(--color-olive-green);
  border-radius: var(--radius-medium);
  background-color: var(--color-ivory);
  transition: border-color 0.2s ease;
}

.la-carte-vins__item:hover {
  border-color: var(--color-cobalt-blue);
}

.la-carte-vins__item-title {
  margin-block-end: var(--space-2);
}

.la-carte-vins__item-desc {
  max-width: 50ch;
  margin-block-end: 0;
}

/* Informations Pratiques */
.la-carte-infos {
  background-color: var(--color-peach);
  border-block-start: var(--border-medium) solid var(--color-cobalt-blue);
}

.la-carte-infos__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.la-carte-infos__title {
  margin-block-end: var(--space-4);
}

.la-carte-infos__content {
  max-width: 600px;
  margin-inline: auto;
}

.la-carte-infos__content p {
  margin-block-end: var(--space-4);
}

.la-carte-infos__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.la-carte-infos__list li {
  margin: 0;
}

.la-carte-infos__list a {
  color: var(--color-cobalt-blue);
  font-weight: var(--weight-semibold);
}

.la-carte-infos__list a:hover,
.la-carte-infos__list a:focus-visible {
  color: var(--color-cherry-red);
}

/* Appel à l'Action Final */
.la-carte-cta {
  background-color: var(--color-cobalt-blue);
  color: var(--color-white);
  text-align: center;
}

.la-carte-cta__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.la-carte-cta__title {
  color: var(--color-white);
  margin-block-end: 0;
}

.la-carte-cta__text {
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: 0;
  color: var(--color-white);
}

.la-carte-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  justify-content: center;
}

.la-carte-cta__button,
.la-carte-cta__link {
  min-width: 200px;
}

/* Tablet adjustments */
@media (min-width: 48rem) and (max-width: 74.9375rem) {
  .la-carte-intro__grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: var(--space-5);
  }

  .la-carte-intro__media {
    justify-content: flex-end;
  }

  .la-carte-intro__figure {
    width: 100%;
    max-width: 320px;
  }

  .la-carte-plats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .la-carte-plats__card:nth-child(3) {
    grid-column: 1 / -1;
    justify-self: center;
    max-width: 400px;
  }

  .la-carte-desserts__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .la-carte-desserts__figure {
    width: 160px;
    height: 160px;
  }
}

/* Mobile adjustments */
@media (max-width: 47.9375rem) {
  .la-carte-intro__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .la-carte-intro__media {
    justify-content: center;
    order: -1;
  }

  .la-carte-intro__figure {
    width: 80%;
    max-width: 320px;
  }

  .la-carte-entrees__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .la-carte-entrees__bg-image {
    width: 100px;
    height: 100px;
  }

  .la-carte-plats__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .la-carte-plats__card {
    max-width: 100%;
  }

  .la-carte-desserts__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .la-carte-desserts__media {
    order: -1;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .la-carte-desserts__figure {
    width: 150px;
    height: 150px;
  }

  .la-carte-desserts__figure--one,
  .la-carte-desserts__figure--two {
    align-self: auto;
  }

  .la-carte-vins__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .la-carte-cta__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .la-carte-cta__button,
  .la-carte-cta__link {
    width: 100%;
  }
}

/* Desktop refinements */
@media (min-width: 75rem) {
  .la-carte-intro__grid {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: var(--space-7);
  }

  .la-carte-intro__media {
    justify-content: flex-end;
  }

  .la-carte-intro__figure {
    width: 100%;
    max-width: 400px;
    margin-inline-start: -20px;
  }

  .la-carte-plats__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .la-carte-desserts__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .la-carte-desserts__figure {
    width: 200px;
    height: 200px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .la-carte-intro__image,
  .la-carte-plats__image,
  .la-carte-desserts__image,
  .la-carte-suggestions__image,
  .la-carte-entrees__bg-image {
    transition: none;
  }
}


/* ============================================================
   Page-owned styles for Accueil (home)
   Scope: #home-main and page-owned components
   ============================================================ */

#home-main {
  overflow-x: hidden;
}

/* ---------- Shared page-owned image treatment ---------- */
#home-main .oval-frame img,
#home-main .circle-frame img {
  filter: sepia(0.12) saturate(1.05) contrast(0.98);
  transition: transform 0.4s ease, filter 0.4s ease;
}

#home-main .oval-frame:hover img,
#home-main .circle-frame:hover img {
  transform: scale(1.05);
  filter: sepia(0.18) saturate(1.08) contrast(0.98);
}

/* ---------- Héro d'introduction ---------- */
.home-hero {
  background: linear-gradient(180deg, rgba(255, 218, 185, 0.22) 0%, var(--color-ivory) 100%);
  padding-block: var(--space-8);
}

.home-hero__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-5);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
  align-items: center;
}

.home-hero__media {
  display: flex;
  justify-content: center;
  min-width: 0;
}

.home-hero__oval {
  width: min(100%, 26rem);
  max-width: 100%;
  box-shadow: var(--shadow-lift);
  border: var(--border-medium) solid var(--color-cobalt-blue);
}

.home-hero__content {
  min-width: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  align-items: center;
}

.home-hero__content h1 {
  max-width: 16ch;
  margin-inline: auto;
  margin-block-end: 0;
  color: var(--color-cobalt-blue);
}

.home-hero__content p {
  margin-inline: auto;
  margin-block-end: 0;
  font-size: var(--text-body-large);
  line-height: var(--leading-body);
  color: var(--color-dark);
}

.home-hero__facts {
  width: 100%;
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  text-align: left;
  list-style: none;
}

.home-hero__facts li {
  position: relative;
  padding-inline-start: var(--space-5);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-olive-green);
}

.home-hero__facts li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.55em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
  background-color: var(--color-cherry-red);
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  justify-content: center;
  width: 100%;
}

.home-hero__actions .btn {
  min-width: 12rem;
}

@media (min-width: 48rem) {
  .home-hero {
    padding-block: var(--space-9);
  }

  .home-hero__inner {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: var(--space-8);
  }

  .home-hero__media {
    order: 2;
  }

  .home-hero__content {
    order: 1;
    text-align: left;
    align-items: flex-start;
  }

  .home-hero__content h1,
  .home-hero__content p,
  .home-hero__facts {
    margin-inline: 0;
  }

  .home-hero__actions {
    justify-content: flex-start;
  }
}

@media (min-width: 75rem) {
  .home-hero__inner {
    padding-inline: var(--space-7);
  }
}

/* ---------- La Table Délices ---------- */
.home-identity {
  background-color: var(--color-ivory);
}

.home-identity__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
  align-items: center;
}

.home-identity__content {
  min-width: 0;
}

.home-identity__content h2 {
  max-width: 22ch;
  margin-block-end: var(--space-4);
}

.home-identity__content p {
  margin-block-end: var(--space-4);
}

.home-identity__content .content-list {
  max-width: 65ch;
  margin-block-end: 0;
}

.home-identity__media {
  display: flex;
  justify-content: center;
  min-width: 0;
}

.home-identity__oval {
  width: min(100%, 24rem);
  max-width: 100%;
  border: var(--border-thin) solid var(--color-olive-green);
  box-shadow: var(--shadow-subtle);
}

@media (min-width: 48rem) {
  .home-identity__grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: var(--space-8);
  }
}

/* ---------- Notre Cuisine ---------- */
.home-cuisine {
  background-color: rgba(255, 218, 185, 0.35);
}

.home-cuisine__header {
  text-align: center;
  margin-block-end: var(--space-7);
}

.home-cuisine__header h2 {
  margin-block-end: var(--space-3);
}

.home-cuisine__lead {
  max-width: 70ch;
  margin-inline: auto;
  margin-block-end: 0;
  font-size: var(--text-body-large);
  color: var(--color-olive-green);
}

.home-cuisine__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.home-cuisine__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
  text-align: center;
  padding: var(--space-6);
}

.home-cuisine__card .circle-frame {
  width: min(100%, 13rem);
  max-width: 100%;
  border: var(--border-thin) solid var(--color-cobalt-blue);
  box-shadow: var(--shadow-subtle);
}

.home-cuisine__card h3 {
  margin-block-end: 0;
  max-width: 20ch;
}

.home-cuisine__card p {
  margin-block-end: 0;
}

.home-cuisine__card .content-list {
  max-width: 60ch;
  margin-block-end: 0;
  text-align: left;
}

@media (min-width: 48rem) {
  .home-cuisine__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }
}

/* ---------- La Carte ---------- */
.home-menu {
  background-color: var(--color-ivory);
}

.home-menu__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
  align-items: center;
}

.home-menu__content {
  min-width: 0;
}

.home-menu__content h2 {
  max-width: 20ch;
  margin-block-end: var(--space-4);
}

.home-menu__content p {
  margin-block-end: var(--space-4);
}

.home-menu__content .content-list {
  max-width: 65ch;
  margin-block-end: var(--space-5);
}

.home-menu__media {
  display: flex;
  justify-content: center;
  min-width: 0;
}

.home-menu__oval {
  width: min(100%, 24rem);
  max-width: 100%;
  border: var(--border-thin) solid var(--color-cobalt-blue);
  box-shadow: var(--shadow-subtle);
}

@media (min-width: 48rem) {
  .home-menu__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-8);
  }

  .home-menu__media {
    order: 2;
  }
}

/* ---------- Sélection du Chef ---------- */
.home-chef {
  background-color: rgba(255, 218, 185, 0.35);
}

.home-chef__header {
  text-align: center;
  margin-block-end: var(--space-7);
}

.home-chef__header h2 {
  margin-block-end: var(--space-3);
}

.home-chef__lead {
  max-width: 70ch;
  margin-inline: auto;
  margin-block-end: 0;
  font-size: var(--text-body-large);
  color: var(--color-olive-green);
}

.home-chef__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.home-chef__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
  text-align: center;
  padding: var(--space-6);
}

.home-chef__card .circle-frame {
  width: min(100%, 12rem);
  max-width: 100%;
  border: var(--border-thin) solid var(--color-cobalt-blue);
  box-shadow: var(--shadow-subtle);
}

.home-chef__card h3 {
  margin-block-end: 0;
  max-width: 22ch;
}

.home-chef__card p {
  margin-block-end: 0;
}

@media (min-width: 48rem) {
  .home-chef__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }
}

/* ---------- Intérieur & Atmosphère ---------- */
.home-interior {
  background-color: var(--color-ivory);
}

.home-interior__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
  align-items: center;
}

.home-interior__content {
  min-width: 0;
}

.home-interior__content h2 {
  max-width: 22ch;
  margin-block-end: var(--space-4);
}

.home-interior__content p {
  margin-block-end: var(--space-4);
}

.home-interior__content .content-list {
  max-width: 65ch;
  margin-block-end: 0;
}

.home-interior__media {
  display: flex;
  justify-content: center;
  min-width: 0;
}

.home-interior__oval {
  width: min(100%, 24rem);
  max-width: 100%;
  border: var(--border-thin) solid var(--color-olive-green);
  box-shadow: var(--shadow-subtle);
}

@media (min-width: 48rem) {
  .home-interior__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-8);
  }

  .home-interior__media {
    order: 2;
  }
}

/* ---------- Casino Hors Ligne ---------- */
.home-casino {
  background-color: rgba(255, 218, 185, 0.35);
}

.home-casino__header {
  text-align: center;
  margin-block-end: var(--space-7);
}

.home-casino__header h2 {
  margin-block-end: var(--space-3);
}

.home-casino__lead {
  max-width: 70ch;
  margin-inline: auto;
  margin-block-end: 0;
  font-size: var(--text-body-large);
  color: var(--color-olive-green);
}

.home-casino__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.home-casino__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
  text-align: center;
  padding: var(--space-6);
}

.home-casino__card .circle-frame {
  width: min(100%, 12rem);
  max-width: 100%;
  border: var(--border-thin) solid var(--color-cobalt-blue);
  box-shadow: var(--shadow-subtle);
}

.home-casino__card h3 {
  margin-block-end: 0;
  max-width: 20ch;
}

.home-casino__card p {
  margin-block-end: 0;
}

.home-casino__card .content-list {
  max-width: 60ch;
  margin-block-end: 0;
  text-align: left;
}

@media (min-width: 48rem) {
  .home-casino__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }
}

/* ---------- Dîner & Casino ---------- */
.home-dinner {
  background-color: var(--color-ivory);
}

.home-dinner__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
  align-items: center;
}

.home-dinner__content {
  min-width: 0;
}

.home-dinner__content h2 {
  max-width: 22ch;
  margin-block-end: var(--space-4);
}

.home-dinner__content p {
  margin-block-end: var(--space-4);
}

.home-dinner__content .content-list {
  max-width: 65ch;
  margin-block-end: var(--space-5);
}

.home-dinner__media {
  display: flex;
  justify-content: center;
  min-width: 0;
}

.home-dinner__oval {
  width: min(100%, 24rem);
  max-width: 100%;
  border: var(--border-thin) solid var(--color-cobalt-blue);
  box-shadow: var(--shadow-subtle);
}

@media (min-width: 48rem) {
  .home-dinner__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-8);
  }

  .home-dinner__media {
    order: 2;
  }
}

/* ---------- Galerie ---------- */
.home-gallery {
  background-color: rgba(255, 218, 185, 0.35);
}

.home-gallery__header {
  text-align: center;
  margin-block-end: var(--space-7);
}

.home-gallery__header h2 {
  margin-block-end: var(--space-3);
}

.home-gallery__lead {
  max-width: 70ch;
  margin-inline: auto;
  margin-block-end: 0;
  font-size: var(--text-body-large);
  color: var(--color-olive-green);
}

.home-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.home-gallery__item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: center;
  text-align: center;
  margin-block-end: 0;
}

.home-gallery__item .circle-frame,
.home-gallery__item .oval-frame {
  width: 100%;
  max-width: 100%;
  border: var(--border-thin) solid var(--color-olive-green);
  box-shadow: var(--shadow-subtle);
}

.home-gallery__item .oval-frame {
  aspect-ratio: 3 / 2;
}

.home-gallery__item figcaption {
  max-width: 60ch;
  margin-block-start: 0;
  font-size: var(--text-caption);
  color: var(--color-olive-green);
}

@media (min-width: 48rem) {
  .home-gallery__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .home-gallery__item--oval {
    grid-column: span 1;
  }
}

@media (min-width: 75rem) {
  .home-gallery__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* ---------- Réservation & Contact ---------- */
.home-contact {
  background-color: var(--color-ivory);
}

.home-contact__block {
  width: 100%;
  max-width: 37.5rem;
  margin-inline: auto;
  padding: var(--space-7);
  background-color: var(--color-ivory);
  border: var(--border-thin) solid var(--color-cobalt-blue);
  border-radius: var(--radius-large);
  box-shadow: var(--shadow-subtle);
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  align-items: center;
  text-align: center;
}

.home-contact__block h2 {
  margin-block-end: 0;
}

.home-contact__block p {
  margin-block-end: 0;
}

.home-contact__details {
  width: 100%;
  max-width: 65ch;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  text-align: left;
  list-style: none;
}

.home-contact__details li {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-dark);
}

.home-contact__details a {
  color: var(--color-cobalt-blue);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.home-contact__details a:hover,
.home-contact__details a:focus-visible {
  color: var(--color-cherry-red);
}

/* ---------- Scroll animation base ---------- */
@media (prefers-reduced-motion: no-preference) {
  .home-hero__oval,
  .home-identity__oval,
  .home-cuisine__circle,
  .home-menu__oval,
  .home-chef__circle,
  .home-interior__oval,
  .home-casino__circle,
  .home-dinner__oval,
  .home-gallery__item .circle-frame,
  .home-gallery__item .oval-frame {
    opacity: 0;
    transform: translateY(1.5rem) rotate(0deg);
    transition: opacity 0.6s ease, transform 0.6s ease;
  }

  .home-hero__oval.is-visible,
  .home-identity__oval.is-visible,
  .home-cuisine__circle.is-visible,
  .home-menu__oval.is-visible,
  .home-chef__circle.is-visible,
  .home-interior__oval.is-visible,
  .home-casino__circle.is-visible,
  .home-dinner__oval.is-visible,
  .home-gallery__item .circle-frame.is-visible,
  .home-gallery__item .oval-frame.is-visible {
    opacity: 1;
    transform: translateY(0) rotate(0deg);
  }

  .home-hero__oval.is-visible {
    transform: translateY(0) rotate(-1.5deg);
  }

  .home-identity__oval.is-visible {
    transform: translateY(0) rotate(1.2deg);
  }

  .home-menu__oval.is-visible {
    transform: translateY(0) rotate(-1.2deg);
  }

  .home-interior__oval.is-visible {
    transform: translateY(0) rotate(1.5deg);
  }

  .home-dinner__oval.is-visible {
    transform: translateY(0) rotate(-1.5deg);
  }

  .home-cuisine__circle.is-visible,
  .home-chef__circle.is-visible,
  .home-casino__circle.is-visible {
    transform: translateY(0) rotate(0deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__oval,
  .home-identity__oval,
  .home-cuisine__circle,
  .home-menu__oval,
  .home-chef__circle,
  .home-interior__oval,
  .home-casino__circle,
  .home-dinner__oval,
  .home-gallery__item .circle-frame,
  .home-gallery__item .oval-frame {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


.thank-you {
  padding-block: var(--space-8);
}

@media (min-width: 48rem) {
  .thank-you {
    padding-block: var(--space-9);
  }
}

.thank-you__inner {
  max-width: 36rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.thank-you__title {
  margin-block-end: 0;
}

.thank-you__message,
.thank-you__next {
  margin-block-end: 0;
}

.thank-you__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-4);
  margin-block-start: var(--space-2);
}

.thank-you__actions .btn {
  min-width: 12rem;
}