@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;800&display=swap');
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css");
@import url("https://unpkg.com/leaflet@1.9.4/dist/leaflet.css");
@import url("https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css");

.flatpickr-calendar {
  width: auto !important;
  max-width: calc(100vw - 1rem);
  padding: 0;
}

.flatpickr-innerContainer {
  padding: 2rem;
}

.flatpickr-calendar.multiMonth .flatpickr-days {
  display: flex !important;
  gap: 1rem;
  width: auto !important;
}

.flatpickr-calendar.multiMonth .dayContainer {
  flex: 0 0 307.875px;
  max-width: 307.875px;
  min-width: 307.875px;
  width: 307.875px;
}

@media (max-width: 719.98px) {
  .flatpickr-innerContainer {
    padding: 1rem;
  }
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  transform: scale(1.5);
  transform-origin: center;
}

.content-grid {
  --padding-inline: var(--section-padding-inline, 1rem);
  --content-max-width: var(--container-max-width, 72rem);
  --breakout-max-width: 88rem;

  --breakout-size: calc((var(--breakout-max-width) - var(--content-max-width)) / 2);

  display: grid;
  grid-template-columns:
	[full-width-start] minmax(var(--padding-inline), 1fr)
	[breakout-start] minmax(0, var(--breakout-size))
	[content-start] min(
	  100% - (var(--padding-inline) * 2),
	  var(--content-max-width)
	)
	[content-end]
	minmax(0, var(--breakout-size)) [breakout-end]
	minmax(var(--padding-inline), 1fr) [full-width-end];
}

.content-grid.acco {
  --content-max-width: 1360px;
  --breakout-max-width: 1600px;

  --breakout-size: calc(
	(var(--breakout-max-width) - var(--content-max-width)) / 2
  );
}

.content-grid > :not(.breakout, .full-width),
.full-width > :not(.breakout, .full-width) {
  grid-column: content;
}

.content-grid > .breakout {
  grid-column: breakout;
}

.content-grid > .full-width {
  grid-column: full-width;

  display: grid;
  grid-template-columns: inherit;
}

img.full-width {
  width: 100%;
  max-height: 45vh;
  object-fit: cover;
}

:root {
  --color-scheme: light;

  --font-body: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --font-heading: var(--font-body);
  --font-family: var(--font-body);

  --fs-300: 0.95rem;
  --fs-350: 1rem;
  --fs-400: 1.125rem;
  --fs-500: 1.375rem;
  --fs-600: clamp(1.5rem, 1.28rem + 0.9vw, 2rem);
  --fs-700: clamp(2rem, 1.55rem + 1.8vw, 3rem);
  --fs-800: clamp(2.5rem, 1.72rem + 3vw, 4rem);
  --fs-900: clamp(3rem, 1.95rem + 4.3vw, 5.25rem);

  --container-max-width: 1600px;
  --section-padding-block: clamp(3rem, 6vw, 6rem);
  --section-padding-inline: clamp(0.5rem, 3vw, 3rem);
  --site-header-height: 6rem;
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;

  --color-background: #f7f4ee;
  --color-surface: #ffffff;
  --color-block-odd: #f7f4ee;
  --color-block-even: #efe8dd;
  --color-primary: #5e7f86;
  --color-primary-dark: #385c63;
  --color-accent: #ba8f70;
  --color-text: #3f4747;
  --color-muted: rgba(63, 71, 71, 0.68);
  --color-border: rgba(63, 71, 71, 0.14);
  --button-bg: var(--color-primary);
  --button-bg-hover: var(--color-primary-dark);
  --button-color: var(--color-surface);
  --button-color-hover: var(--color-surface);
  --button-padding: 0.9rem 1.6rem;
  --button-radius: var(--radius);
  --button-font-size: calc(var(--fs-300) + .2rem);
  --button-font-weight: 400;
  --button-letter-spacing: 0.02em;
  --button-text-transform: none;

  --clr-primary-000: var(--color-surface);
  --clr-primary-100: #d9ecf3;
  --clr-primary-200: #9cc9dc;
  --clr-primary-300: var(--color-primary);
  --clr-primary-400: var(--color-primary-dark);
  --clr-primary-500: #0f3345;
  --clr-secondary-000: hsl(269, 75%, 95%);
  --clr-secondary-100: hsl(269, 75%, 85%);
  --clr-secondary-200: hsl(269, 75%, 70%);
  --clr-secondary-300: hsl(269, 75%, 55%);
  --clr-secondary-400: hsl(269, 75%, 40%);
  --clr-secondary-500: hsl(269, 75%, 25%);
  --clr-accent-100: hsl(358, 72%, 95%);
  --clr-accent-200: hsl(358, 72%, 80%);
  --clr-accent-300: hsl(358, 72%, 65%);
  --clr-accent-400: var(--color-accent);
  --clr-accent-500: #93652f;
  --clr-accent2-100: hsl(100, 76%, 86%);
  --clr-accent2-200: hsl(100, 76%, 76%);
  --clr-accent2-300: hsl(100, 76%, 56%);
  --clr-accent2-400: hsl(100, 76%, 46%);
  --clr-accent2-500: hsl(100, 76%, 26%);
  
  --dirtywhite: var(--color-background);
  --cream: rgba(222, 216, 209, 1.00);
  --cream-light: rgba(222, 216, 209, .3);
  --clr-text: var(--color-text);
  --clr-light-darken: var(--color-muted);
  --clr-light: rgba(38, 50, 58, .5);
  --radius: .45rem;
  --line: var(--color-border);
  --line-light: RGBA(224, 223, 239, 1.00);
  --line2: rgba(0,0,0,.3);
  
  --margin-block: var(--space-4);

  --admin-page-max-width: 1600px;
  --admin-page-padding-inline: 1rem;
  --admin-card-padding: calc(var(--admin-page-padding-inline) / 2);
  --admin-gap: var(--admin-card-padding);
  --admin-header-action-bg: rgba(255,255,255,.08);
  --admin-action-surface: #3a536b;
  --admin-action-surface-hover: #30465c;
}

body.theme-riva-mediterranean {
  --font-body: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --font-heading: var(--font-body);
  --font-family: var(--font-body);

  --container-max-width: 1600px;
  --section-padding-block: clamp(4rem, 8vw, 8rem);
  --section-padding-inline: clamp(1rem, 4vw, 4rem);

  --color-background: #f3f1ef;
  --color-surface: #ffffff;
  --color-block-odd: #f3f1ef;
  --color-block-even: #ded8d1;
  --color-primary: #476c9b;
  --color-primary-dark: #101419;
  --color-accent: #9e8c78;
  --color-text: #101419;
  --color-muted: rgba(16, 20, 25, 0.62);
  --color-border: rgba(16, 20, 25, 0.14);
  --button-bg: rgba(16,20,25,.8);
  --button-bg-hover: #101419;
  --button-color: #ded8d1;
  --button-color-hover: #ffffff;
  --button-padding: 1.6rem 2.6rem;
  --button-radius: .4rem;
  --button-font-size: .85rem;
  --button-font-weight: 300;
  --button-letter-spacing: .08rem;
  --button-text-transform: uppercase;

  --clr-primary-100: #dcece7;
  --clr-primary-200: #a8cbc3;
  --clr-primary-300: var(--color-primary);
  --clr-primary-400: var(--color-primary-dark);
  --clr-primary-500: #213f42;
  --clr-accent-400: var(--color-accent);
  --clr-accent-500: #9a624b;
  --dirtywhite: var(--color-background);
  --clr-text: var(--color-text);
  --clr-light-darken: var(--color-muted);
  --radius: .35rem;
  --line: var(--color-border);
}

.public-status-page {
  min-height: clamp(28rem, 62vh, 44rem);
  display: grid;
  align-items: center;
  padding-block: clamp(4rem, 9vw, 8rem);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(244, 247, 241, 0.74)),
    var(--color-background);
}

.public-status-panel {
  max-width: 46rem;
  padding: clamp(2rem, 4vw, 3.5rem);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 1.5rem 5rem rgba(16, 20, 25, 0.08);
}

.public-status-kicker {
  margin: 0 0 var(--space-2);
  color: var(--color-muted);
  font-size: var(--fs-300);
  font-weight: 800;
  letter-spacing: 0;
}

.public-status-panel h1 {
  margin: 0;
  max-width: 14ch;
  color: var(--color-text);
  font-size: var(--fs-700);
  line-height: 1.05;
}

.public-status-message {
  margin-block: var(--space-3);
  color: var(--color-muted);
  font-size: var(--fs-400);
  line-height: 1.7;
}

.public-status-message p {
  margin-block: 0 var(--space-2);
}

.public-status-action {
  display: inline-flex;
  align-items: center;
  width: fit-content;
}

body.theme-riva-classic {
  --container-max-width: 1520px;
  --section-padding-block: clamp(3.5rem, 7vw, 7rem);
  --section-padding-inline: clamp(1rem, 3.5vw, 3.5rem);

  --color-background: #f6f0e5;
  --color-surface: #fffdf7;
  --color-block-odd: #f6f0e5;
  --color-block-even: #efe3d3;
  --color-primary: #6f8171;
  --color-primary-dark: #405847;
  --color-accent: #b87956;
  --color-text: #403c35;
  --color-muted: rgba(64, 60, 53, 0.66);
  --color-border: rgba(64, 60, 53, 0.16);
  --button-bg: rgba(16,20,25,.8);
  --button-bg-hover: #101419;
  --button-color: #ded8d1;
  --button-color-hover: #ffffff;
  --button-padding: 1.6rem 2.6rem;
  --button-radius: .4rem;
  --button-font-size: .85rem;
  --button-font-weight: 300;
  --button-letter-spacing: .08rem;
  --button-text-transform: uppercase;

  --clr-primary-100: #e2eadb;
  --clr-primary-200: #b8c7aa;
  --clr-primary-300: var(--color-primary);
  --clr-primary-400: var(--color-primary-dark);
  --clr-accent-400: var(--color-accent);
  --clr-accent-500: #935d3f;
  --dirtywhite: var(--color-background);
  --clr-text: var(--color-text);
  --clr-light-darken: var(--color-muted);
  --radius: .25rem;
  --line: var(--color-border);
}

body.theme-felix-arba {
  --container-max-width: 1320px;
  --section-padding-block: clamp(4.5rem, 8vw, 8rem);
  --section-padding-inline: clamp(1.25rem, 5vw, 4rem);

  --color-background: #f5f7f2;
  --color-surface: #ffffff;
  --color-block-odd: #f5f7f2;
  --color-block-even: #ffffff;
  --color-primary: #06736f;
  --color-primary-dark: #101614;
  --color-accent: #d5533f;
  --color-text: #101614;
  --color-muted: rgba(16, 22, 20, .64);
  --color-border: rgba(16, 22, 20, .14);
  --button-bg: #cfff4d;
  --button-bg-hover: #101614;
  --button-color: #101614;
  --button-color-hover: #ffffff;
  --button-padding: .95rem 1.25rem;
  --button-radius: .05rem;
  --button-font-size: .92rem;
  --button-font-weight: 900;
  --button-letter-spacing: 0;
  --button-text-transform: none;

  --clr-primary-100: #e1f4ef;
  --clr-primary-200: #8dd6cc;
  --clr-primary-300: var(--color-primary);
  --clr-primary-400: var(--color-primary-dark);
  --clr-primary-500: #101614;
  --clr-accent-400: var(--color-accent);
  --clr-accent-500: #a83125;
  --dirtywhite: var(--color-background);
  --clr-text: var(--color-text);
  --clr-light-darken: var(--color-muted);
  --radius: .08rem;
  --line: var(--color-border);
}

@media (min-width: 800px) {
  :root {
    --admin-page-padding-inline: 2rem;
  }
}

@media (min-width: 1280px) {
  :root {
    --admin-page-padding-inline: 3rem;
  }
}

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

html {
	color-scheme: var(--color-scheme);
}

body {
  margin: 0;
  font-family: var(--font-family);
  font-size: var(--fs-350);
  font-weight: 400;
  line-height: 1.65;
  color: var(--clr-text);
  background-color: var(--color-background);
  overflow-x: hidden !important;
}

.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;
}

.site-header,
.site-footer,
.block {
  width: 100%;
}

.site-header,
.site-footer {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.site-shell,
.container,
.block__inner {
  width: min(100%, 1600px);
  margin-inline: auto;
  padding-inline: var(--section-padding-inline);
}

.site-header {
  position: relative;
  z-index: 30;
  background: #ded8d1;
  /* background: var(--color-background); */
}

body:has(.block-hero-half) .site-header {
  background: var(--color-block-even);
}

body:has(.block-hero-fullscreen) .site-header,
body:has(.block-hero-fullscreen_half) .site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 30;
  background: transparent;
}

body:has(.block-hero-fullscreen.block-hero-foreground-light) .site-header,
body:has(.block-hero-fullscreen_half.block-hero-foreground-light) .site-header {
  --hero-header-text-color: rgba(255, 252, 246, .94);
  --hero-header-muted-color: rgba(255, 252, 246, .7);
  --hero-header-nav-background: rgba(16, 20, 25, .1);
  --hero-header-nav-blur: 5px;
  --hero-header-contact-background: transparent;
  --hero-header-contact-border: transparent;
}

body:has(.block-hero-fullscreen.block-hero-foreground-dark) .site-header,
body:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .site-header {
  --hero-header-text-color: rgba(16, 20, 25, .9);
  --hero-header-muted-color: rgba(16, 20, 25, .64);
  --hero-header-nav-background: rgba(255, 252, 246, .2);
  --hero-header-nav-blur: 12px;
  --hero-header-contact-background: transparent;
  --hero-header-contact-border: transparent;
}

body:has(.block-hero-fullscreen) .site-header a,
body:has(.block-hero-fullscreen_half) .site-header a {
  color: inherit;
}

body:has(.block-hero-fullscreen) .site-header .site-brand,
body:has(.block-hero-fullscreen_half) .site-header .site-brand,
body:has(.block-hero-fullscreen) .site-header .site-brand-name,
body:has(.block-hero-fullscreen_half) .site-header .site-brand-name,
body:has(.block-hero-fullscreen) .site-header .site-brand-subtitle,
body:has(.block-hero-fullscreen_half) .site-header .site-brand-subtitle {
  color: var(--hero-header-text-color, var(--color-primary-dark));
}

body:has(.block-hero-fullscreen) .site-header .site-contact-card,
body:has(.block-hero-fullscreen_half) .site-header .site-contact-card {
  gap: 1.5rem;
  border: .01rem solid var(--hero-header-contact-border, transparent);
  background: var(--hero-header-contact-background, transparent);
  color: var(--hero-header-text-color, var(--color-primary-dark));
  backdrop-filter: none;
}

body:has(.block-hero-fullscreen) .site-header .site-contact-text,
body:has(.block-hero-fullscreen_half) .site-header .site-contact-text,
body:has(.block-hero-fullscreen) .site-header .site-contact-icon i,
body:has(.block-hero-fullscreen_half) .site-header .site-contact-icon i {
  color: var(--hero-header-muted-color, currentColor);
}

body:has(.block-hero-fullscreen) .site-header .site-contact-icon,
body:has(.block-hero-fullscreen_half) .site-header .site-contact-icon {
  width: auto;
  height: auto;
  border-right-color: transparent;
  padding-right: 0;
}

body:has(.block-hero-fullscreen) .site-nav,
body:has(.block-hero-fullscreen_half) .site-nav {
  background: var(--hero-header-nav-background, rgba(16, 20, 25, .2));
  backdrop-filter: blur(var(--hero-header-nav-blur, 12px));
}

@media (max-width: 899px) {
  body.has-mobile-fullscreen-hero .site-header,
  body:has(.block-hero-mobile-fullscreen) .site-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 30;
    background: transparent;
  }

  body.has-mobile-fullscreen-hero-light .site-header,
  body:has(.block-hero-mobile-fullscreen.block-hero-foreground-light) .site-header {
    --hero-header-text-color: rgba(255, 252, 246, .94);
    --hero-header-muted-color: rgba(255, 252, 246, .7);
    --hero-header-nav-background: rgba(16, 20, 25, .1);
    --hero-header-nav-blur: 5px;
    --hero-header-contact-background: transparent;
    --hero-header-contact-border: transparent;
  }

  body.has-mobile-fullscreen-hero-dark .site-header,
  body:has(.block-hero-mobile-fullscreen.block-hero-foreground-dark) .site-header {
    --hero-header-text-color: rgba(16, 20, 25, .9);
    --hero-header-muted-color: rgba(16, 20, 25, .64);
    --hero-header-nav-background: rgba(255, 252, 246, .2);
    --hero-header-nav-blur: 12px;
    --hero-header-contact-background: transparent;
    --hero-header-contact-border: transparent;
  }

  body.has-mobile-fullscreen-hero .site-header a,
  body:has(.block-hero-mobile-fullscreen) .site-header a {
    color: inherit;
  }

  body.has-mobile-fullscreen-hero .site-header .site-brand,
  body.has-mobile-fullscreen-hero .site-header .site-brand-name,
  body.has-mobile-fullscreen-hero .site-header .site-brand-subtitle,
  body:has(.block-hero-mobile-fullscreen) .site-header .site-brand,
  body:has(.block-hero-mobile-fullscreen) .site-header .site-brand-name,
  body:has(.block-hero-mobile-fullscreen) .site-header .site-brand-subtitle {
    color: var(--hero-header-text-color, var(--color-primary-dark));
  }

  body.has-mobile-fullscreen-hero .site-header .site-contact-card,
  body:has(.block-hero-mobile-fullscreen) .site-header .site-contact-card {
    gap: 1.5rem;
    border: .01rem solid var(--hero-header-contact-border, transparent);
    background: var(--hero-header-contact-background, transparent);
    color: var(--hero-header-text-color, var(--color-primary-dark));
    backdrop-filter: none;
  }

  body.has-mobile-fullscreen-hero .site-header .site-contact-text,
  body.has-mobile-fullscreen-hero .site-header .site-contact-icon i,
  body:has(.block-hero-mobile-fullscreen) .site-header .site-contact-text,
  body:has(.block-hero-mobile-fullscreen) .site-header .site-contact-icon i {
    color: var(--hero-header-muted-color, currentColor);
  }

  body.has-mobile-fullscreen-hero .site-header .site-contact-icon,
  body:has(.block-hero-mobile-fullscreen) .site-header .site-contact-icon {
    width: auto;
    height: auto;
    border-right-color: transparent;
    padding-right: 0;
  }

  body.has-mobile-fullscreen-hero .site-nav,
  body:has(.block-hero-mobile-fullscreen) .site-nav {
    background: var(--hero-header-nav-background, rgba(16, 20, 25, .2));
    backdrop-filter: blur(var(--hero-header-nav-blur, 12px));
  }
}

.site-header .site-shell {
  display: grid;
  gap: 0;
  width: min(100%, 1600px);
  padding-block: 0;
}

.site-header-top {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  align-items: center;
  justify-content: space-between;
  padding-block: clamp(1rem, 2.4vw, 1.4rem);
}

.site-brand {
  display: grid;
  width: max-content;
  gap: .35rem;
  color: var(--color-text);
  font-family: var(--font-heading);
  line-height: 1;
  text-align: left;
}

.site-brand-logo {
  display: block;
  width: auto;
  height: var(--site-brand-logo-height, clamp(4.3rem, 5.9vw, 5.4rem));
  max-width: min(44vw, 16rem);
  object-fit: contain;
  filter:
    drop-shadow(0 .12rem .12rem rgba(0, 0, 0, .18))
    drop-shadow(0 .62rem 1rem rgba(0, 0, 0, .12));
}

.site-brand-name {
  color: var(--color-primary-dark);
  font-size: 2.8rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: .75;
}

.site-brand-subtitle {
  display: block;
  width: 100%;
  color: color-mix(in srgb, var(--color-primary-dark) 46%, white);
  font-size: .65rem;
  font-weight: 400;
  letter-spacing: .95rem;
  line-height: 1;
  text-transform: uppercase;
}

.site-header-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: flex-end;
}

.site-contact-card {
  display: inline-flex;
  gap: .5rem;
  align-items: center;
  min-height: 5.5rem;
  padding: 1rem 1.25rem;
  border-radius: .4rem;
  background: #ded8d1;
  color: var(--color-primary-dark);
  line-height: 1.25;
}

.site-contact-icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
}

.site-contact-icon i {
  color: var(--color-primary);
  font-size: 1.4rem;
}

.site-contact-text {
  color: rgba(16, 20, 25, .76);
  font-size: var(--fs-300);
  font-weight: 400;
}

.site-nav {
  width: 100vw;
  min-height: 100px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  display: flex;
  align-items: stretch;
  justify-content: center;
  background: #e9e7e5;
  transition:
    background-color 360ms cubic-bezier(.2, .75, .24, 1),
    box-shadow 360ms cubic-bezier(.2, .75, .24, 1),
    backdrop-filter 360ms cubic-bezier(.2, .75, .24, 1);
}

.site-header.is-nav-floating {
  padding-bottom: var(--site-floating-nav-height, 100px);
}

.site-header.is-nav-floating .site-nav {
  position: fixed;
  inset: 0 0 auto;
  z-index: 60;
  margin-inline: 0;
  opacity: 0;
  pointer-events: none;
  background: rgba(233, 231, 229, .94);
  transform: translateY(-110%);
  transition:
    background-color 360ms cubic-bezier(.2, .75, .24, 1),
    box-shadow 360ms cubic-bezier(.2, .75, .24, 1),
    backdrop-filter 360ms cubic-bezier(.2, .75, .24, 1),
    opacity 320ms ease,
    transform 420ms cubic-bezier(.22, .61, .36, 1);
  box-shadow: 0 .75rem 1.75rem rgba(16, 20, 25, .14);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.site-header.is-nav-arming .site-nav {
  transition: none !important;
}

body:has(.block-hero-fullscreen.block-hero-foreground-light) .site-header.is-nav-floating .site-nav,
body:has(.block-hero-fullscreen_half.block-hero-foreground-light) .site-header.is-nav-floating .site-nav {
  background: rgba(16, 20, 25, .66);
}

body:has(.block-hero-fullscreen.block-hero-foreground-dark) .site-header.is-nav-floating .site-nav,
body:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .site-header.is-nav-floating .site-nav {
  background: rgba(255, 252, 246, .84);
}

.site-header.is-nav-floating.is-nav-revealed .site-nav {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .site-header.is-nav-floating .site-nav {
    transition: none;
  }
}

.language-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  color: var(--color-muted);
  font-size: var(--fs-300);
  line-height: 1;
}

.language-switcher a,
.language-switcher strong,
.language-switcher span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  min-height: 2rem;
  padding: .25rem .35rem;
  border: .01rem solid var(--color-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-surface) 64%, transparent);
  color: var(--color-text);
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
}

.language-switcher strong {
  background: var(--color-primary);
  color: var(--color-surface);
}

.site-footer {
  background: #d3cbc2;
}

.site-footer .site-shell {
  display: grid;
  gap: clamp(2rem, 4vw, 4rem);
  padding-block: clamp(3rem, 6vw, 5.5rem);
}

.site-footer-main,
.site-footer-bottom {
  display: grid;
  gap: clamp(1.5rem, 3vw, 3rem);
}

.site-footer-main {
  gap: clamp(3rem, 6vw, 6rem);
}

.site-footer-credits,
.footer-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1rem;
  align-items: center;
  color: rgba(16, 20, 25, .62);
  font-size: var(--fs-300);
  font-weight: 300;
  line-height: 1.45;
}

.site-footer-credits a,
.footer-legal-links a,
.footer-legal-links button {
  color: #273b55;
  font: inherit;
  text-decoration: none;
}

.site-footer-credits a:hover,
.footer-legal-links a:hover,
.footer-legal-links button:hover {
  color: var(--color-primary);
}

.footer-legal-links button {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

@media (min-width: 760px) {
  .site-footer-bottom {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }
}

@media (min-width: 960px) {
  .site-footer-main {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.site-footer-card {
  display: grid;
  align-content: start;
  gap: 1.1rem;
  min-height: 100%;
  padding-block: clamp(1.75rem, 3vw, 3rem);
  border-top: .01rem solid rgba(16, 20, 25, .16);
  background: transparent;
}

.site-footer-card h2 {
  color: #273b55;
  font-size: clamp(2.15rem, 3.2vw, 3.8rem);
  font-weight: 300;
  line-height: 1.05;
  text-transform: uppercase;
}

.site-footer-address h2 {
  font-size: clamp(1.05rem, 1.55vw, 1.9rem);
  letter-spacing: .08rem;
}

.site-footer-logo {
  display: block;
  width: min(100%, 11rem);
  height: auto;
  align-self: start;
  justify-self: center;
  margin-inline: auto;
  margin-bottom: 1.6rem;
  filter:
    drop-shadow(0 .12rem .12rem rgba(0, 0, 0, .18))
    drop-shadow(0 .62rem 1rem rgba(0, 0, 0, .12));
}

.site-footer-summary {
  max-width: 100%;
  font-size: var(--fs-300) !important;
  line-height: 1.6;
}

.site-footer-card p {
  margin: 0;
  color: rgba(16, 20, 25, .68);
  font-size: var(--fs-400);
  text-align: center;
}

.site-footer-eyebrow {
  margin-bottom: .25rem;
}

.site-footer-image-card {
  color: #273b55;
}

.site-footer-links nav {
  display: grid;
  gap: .75rem;
  padding-top: .1rem;
}

.site-footer-links a {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  width: fit-content;
  color: #273b55;
  font-size: var(--fs-400);
  font-weight: 300;
  text-decoration: none;
}

.site-footer-links a i {
  color: var(--color-primary);
  font-size: .92em;
}

.site-footer-links a:hover {
  color: var(--color-primary);
}

.site-footer-contact {
  align-content: center;
  gap: 1.4rem;
}

.site-footer-contact-row {
  display: flex;
  gap: .5rem;
  align-items: center;
}

.site-footer-contact-row a {
  color: #273b55;
  font-size: var(--fs-400);
  font-weight: 300;
  overflow-wrap: anywhere;
}

.site-footer-contact-icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  place-items: center;
}

.site-footer-contact-icon i {
  color: var(--color-primary);
  font-size: 1.25rem;
}

.site-footer-payment {
  display: grid;
  gap: .75rem;
  padding-top: .35rem;
}

.site-footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.site-footer-social a {
  display: inline-flex;
  min-height: 2.35rem;
  align-items: center;
  justify-content: center;
  gap: .52rem;
  padding: .48rem .72rem;
  border: .01rem solid rgba(16, 20, 25, .16);
  border-radius: .35rem;
  background: color-mix(in srgb, var(--color-surface) 45%, transparent);
  color: #273b55;
  font-size: var(--fs-300);
  font-weight: 300;
  line-height: 1;
  text-decoration: none;
}

.site-footer-social a:hover {
  border-color: color-mix(in srgb, var(--color-primary) 45%, rgba(16, 20, 25, .16));
  color: var(--color-primary);
}

.site-footer-social i {
  color: currentColor;
  font-size: 1.05rem;
}

.site-footer-payment p {
  color: #273b55;
  font-size: var(--fs-300);
  font-weight: 400;
  letter-spacing: .08rem;
  text-transform: uppercase;
}

.site-footer-payment-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.site-footer-payment-badges span {
  display: inline-flex;
  min-height: 2.05rem;
  align-items: center;
  justify-content: center;
  gap: .42rem;
  padding: .38rem .62rem;
  border: .01rem solid rgba(16, 20, 25, .16);
  border-radius: .35rem;
  background: color-mix(in srgb, var(--color-surface) 58%, transparent);
  color: #273b55;
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .035rem;
  line-height: 1;
  text-transform: uppercase;
}

.site-footer-payment-badges i {
  color: currentColor;
  font-size: 1.12rem;
  line-height: 1;
}

body[class*="theme-riva-"] .site-header .site-shell {
  padding-block: 0;
}

body[class*="theme-riva-"] .site-brand {
  gap: var(--riva-brand-gap, .35rem);
}

body[class*="theme-riva-"] .site-brand-logo {
  height: var(--riva-brand-logo-height, clamp(3.5rem, 4.85vw, 4.45rem));
}

body[class*="theme-riva-"] .site-brand-name {
  font-size: var(--riva-brand-name-size, 2.8rem);
  line-height: .75;
}

body[class*="theme-riva-"] .site-brand-subtitle {
  font-size: var(--riva-brand-subtitle-size, .65rem);
  letter-spacing: var(--riva-brand-subtitle-letter-spacing, .95rem);
}

body[class*="theme-riva-"] .site-footer {
  border-top: .01rem solid var(--color-border);
  background: #d3cbc2;
}

body[class*="theme-riva-"] .site-footer .site-shell {
  padding-block: clamp(3rem, 6vw, 5.5rem);
}

body[class*="theme-riva-"] h1,
body[class*="theme-riva-"] h2,
body[class*="theme-riva-"] h3 {
  font-weight: 400;
}

body[class*="theme-riva-"] p {
  color: var(--color-muted);
}

@media (max-width: 1280px) {
  body[class*="theme-riva-"] {
    --riva-brand-gap: clamp(.175rem, calc(.4828vw - .0362rem), .35rem);
    --riva-brand-logo-height: clamp(3.2rem, 6vw, 5.35rem);
    --riva-brand-name-size: clamp(1.4rem, calc(3.8621vw - .2897rem), 2.8rem);
    --riva-brand-subtitle-size: clamp(.325rem, calc(.8966vw - .0672rem), .65rem);
    --riva-brand-subtitle-letter-spacing: clamp(.475rem, calc(1.3103vw - .0983rem), .95rem);
  }
}

@media (max-width: 700px) {
  body[class*="theme-riva-"] {
    --riva-brand-gap: .175rem;
    --riva-brand-logo-height: 3rem;
    --riva-brand-name-size: 1.4rem;
    --riva-brand-subtitle-size: .325rem;
    --riva-brand-subtitle-letter-spacing: .475rem;
  }
}

body.theme-felix-arba .site-header {
  border-bottom: .01rem solid var(--color-border);
  background: #ffffff;
}

body.theme-felix-arba:has(.block-hero-fullscreen) .site-header,
body.theme-felix-arba:has(.block-hero-fullscreen_half) .site-header {
  position: relative;
  background: #ffffff;
}

body.theme-felix-arba .site-header-top {
  padding-block: clamp(1rem, 2vw, 1.25rem);
}

body.theme-felix-arba .site-brand {
  gap: .45rem;
}

body.theme-felix-arba .site-brand-name {
  color: var(--color-primary-dark);
  font-size: clamp(1.6rem, 3.2vw, 2.35rem);
  font-weight: 800;
  line-height: 1;
}

body.theme-felix-arba .site-brand-subtitle {
  color: var(--color-primary);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18rem;
}

body.theme-felix-arba .site-contact-card {
  min-height: 0;
  border: .01rem solid var(--color-border);
  border-radius: var(--radius);
  background: #f5f7f2;
}

body.theme-felix-arba .site-nav {
  min-height: 0;
  border-top: .01rem solid var(--color-border);
  background: transparent;
}

body.theme-felix-arba .site-footer {
  border-top: .01rem solid var(--color-border);
  background: #101614;
  color: #f5f7f2;
}

body.theme-felix-arba .site-footer-card h2,
body.theme-felix-arba .site-footer-links a,
body.theme-felix-arba .site-footer-contact-row a,
body.theme-felix-arba .site-footer-payment p {
  color: #f5f7f2;
}

body.theme-felix-arba .site-footer-card,
body.theme-felix-arba .site-footer-contact-icon,
body.theme-felix-arba .site-footer-payment-badges span {
  border-color: rgba(245, 247, 242, .18);
}

body.theme-felix-arba .site-footer-card p,
body.theme-felix-arba .site-footer-summary p {
  color: rgba(245, 247, 242, .68);
}

a {
	text-decoration: none;
	color: var(--color-primary);
  text-underline-offset: 0.18em;
  transition: color 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

a:hover {
  color: var(--color-primary-dark);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  color: var(--clr-text);
  font-family: var(--font-heading);
  font-weight: 800;
  line-height: 1.08;
}

h1,
h2,
h3,
h4 {
  margin-bottom: 1rem;
}

h1 {
  font-size: var(--fs-900);
}

h2 {
  font-size: var(--fs-700);
}

h3 {
  font-size: var(--fs-600);
}

h4 {
  font-size: var(--fs-500);
}

p,
figure {
  margin: 0;
  color: var(--clr-text);
}

p {
  margin-bottom: 1rem;
  max-width: 68ch;
  font-size: var(--fs-350);
  line-height: 1.7;
}

@media (max-width: 800px) {
  .site-main .block p {
    line-height: 1.55;
  }
}

:is(h1, h2, h3, h4, p):last-child {
  margin-bottom: 0;
}

.text-muted {
	color: var(--color-muted);
}

.protected-email-inline {
  overflow-wrap: anywhere;
}

.block-heading {
  --block-heading-gap: clamp(.35rem, .7vw, .65rem);

  display: grid;
  align-content: start;
  gap: var(--block-heading-gap);
}

.block-heading > :is(p, .block__title) {
  margin: 0;
}

.block-badge,
.hero-eyebrow,
.image-text-eyebrow,
.feature-eyebrow,
.card-grid-eyebrow,
.faq-eyebrow,
.gallery-eyebrow,
.contact-form-eyebrow,
.menu-list-eyebrow,
.menu-list-category-eyebrow,
.opening-hours-eyebrow,
.map-block-eyebrow,
.testimonials-eyebrow,
.booking-info-eyebrow,
.pricing-table-eyebrow,
.booking-calendar-eyebrow,
.offer-cards-eyebrow,
.accommodation-list-eyebrow,
.site-footer-eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  width: fit-content;
  padding: 0 0 .48rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-primary) !important;
  font-size: clamp(.64rem, .58rem + .2vw, .75rem);
  font-weight: 400;
  letter-spacing: clamp(.1rem, .07rem + .08vw, .18rem);
  line-height: 1;
  text-transform: uppercase;
}

.block-badge::after,
.hero-eyebrow::after,
.image-text-eyebrow::after,
.feature-eyebrow::after,
.card-grid-eyebrow::after,
.faq-eyebrow::after,
.gallery-eyebrow::after,
.contact-form-eyebrow::after,
.menu-list-eyebrow::after,
.menu-list-category-eyebrow::after,
.opening-hours-eyebrow::after,
.map-block-eyebrow::after,
.testimonials-eyebrow::after,
.booking-info-eyebrow::after,
.pricing-table-eyebrow::after,
.booking-calendar-eyebrow::after,
.offer-cards-eyebrow::after,
.accommodation-list-eyebrow::after,
.site-footer-eyebrow::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: .16rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-primary) 88%, white 12%);
}

.block-badge i,
.hero-eyebrow i,
.image-text-eyebrow i,
.feature-eyebrow i,
.card-grid-eyebrow i,
.faq-eyebrow i,
.gallery-eyebrow i,
.contact-form-eyebrow i,
.menu-list-eyebrow i,
.menu-list-category-eyebrow i,
.opening-hours-eyebrow i,
.map-block-eyebrow i,
.testimonials-eyebrow i,
.booking-info-eyebrow i,
.pricing-table-eyebrow i,
.booking-calendar-eyebrow i,
.offer-cards-eyebrow i,
.accommodation-list-eyebrow i,
.site-footer-eyebrow i {
  display: inline-grid;
  width: .95rem;
  min-width: .95rem;
  place-items: center;
  color: var(--color-primary) !important;
  font-size: .85rem;
  line-height: 1;
  margin-right: 0;
}

.section {
  padding-block: 3rem;
}

.block {
  position: relative;
  margin-bottom: 0;
}

.site-main > .block:not(.block-hero) {
  margin-block: 0;
  padding-block: clamp(2.5rem, 6vw, 6rem);
}

.site-main > .block:nth-of-type(odd):not(.block-hero) {
  --block-floating-bg: var(--color-block-odd);
  background: var(--color-block-odd);
}

.site-main > .block:nth-of-type(even):not(.block-hero) {
  --block-floating-bg: var(--color-block-even);
  background: var(--color-block-even);
}

.block__content {
  width: 100%;
}

.block-floating-link {
  position: absolute;
  top: 0;
  right: max(var(--section-padding-inline), calc((100vw - var(--container-max-width)) / 2 + var(--section-padding-inline)));
  z-index: 3;
  display: grid;
  width: clamp(4.05rem, 5.4vw, 5.625rem);
  aspect-ratio: 1;
  place-items: center;
  border-radius: 999px;
  background: var(--block-floating-bg, var(--color-background));
  box-shadow: 0 1.1rem 1.8rem rgba(16, 20, 25, .16);
  color: #273b55;
  transform: translateY(-50%);
}

.block-floating-link::before {
  content: "";
  display: block;
  width: 1.05rem;
  aspect-ratio: 1;
  border-top: .13rem solid currentColor;
  border-right: .13rem solid currentColor;
  transform: translateX(-.12rem) rotate(45deg);
}

.block-floating-link:hover {
  color: var(--color-primary);
  transform: translateY(calc(-50% - 2px));
}

.btn,
.button,
.submit {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 3rem;
	padding: var(--button-padding);
	cursor: pointer;
	border-radius: var(--button-radius);
	border: .01rem solid transparent;
	background-color: var(--button-bg);
	color: var(--button-color) !important;
	font-size: var(--button-font-size);
	font-weight: var(--button-font-weight);
  line-height: 1;
  letter-spacing: var(--button-letter-spacing);
  text-align: center;
  text-decoration: none;
  text-transform: var(--button-text-transform);
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.btn::after,
.button::after,
.submit::after {
  content: "\f178";
  display: inline-block;
  width: auto;
  height: auto;
  border: 0;
  color: currentColor;
  font-family: "Font Awesome 6 Free";
  font-size: .9em;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  transform: none;
}

@media (max-width: 399px) {
  .btn,
  .button,
  .submit {
    width: 100% !important;
  }
}

.btn:hover,
.button:hover,
.submit:hover {
  background-color: var(--button-bg-hover);
  color: var(--button-color-hover) !important;
  transform: translateY(-1px);
}

.margin-block {
	margin-block: var(--margin-block);
}

.space-3,
.space-2,
.space-5 {
	display: block;
	max-width: 100%;
	height: .01rem;
}
	
.space-3 {
	height: 3rem;
}
	
.space-2 {
	height: 2rem;
}
	
.space-5 {
	height: 5rem;
}

.line,
.line-top {
	display: block;
	height: .1rem;
	max-width: 100%;
	border-top: .01rem solid var(--line);
	margin-block: 2rem;
}

.line:nth-child(1) {
	margin-block: unset;
	margin-top: 3rem;
	margin-bottom: 2rem;
}

.hidden {
    display: none;
}
.frontend-debug-panel {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
  margin-block: 1rem;
  padding: .75rem 1rem;
  border: .01rem solid var(--line);
  border-radius: var(--radius);
  background: var(--color-surface);
  color: var(--clr-text);
  font-size: var(--fs-300);
}

.frontend-debug-panel strong {
  color: var(--color-primary-dark);
}

.block-debug-badge {
  display: grid;
  gap: 2px;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0,0,0,0.8);
  color: #fff;
  font-size: 10px;
  padding: 4px 6px;
  z-index: 9999;
  border-radius: 0 0 4px 0;
}

.block-debug-badge a {
  color: #fff;
  text-decoration: underline;
}

.field-debug {
  font-size: 10px;
  color: red;
  margin-left: 6px;
}

.block__image {
  position: relative;
}

.block__image > .field-debug {
  position: absolute;
  top: .5rem;
  right: .5rem;
  margin-left: 0;
}

.gallery-unapproved-media-badge {
  position: absolute;
  z-index: 3;
  inset-block-start: .65rem;
  inset-inline-start: .65rem;
  max-width: calc(100% - 1.3rem);
  padding: .35rem .55rem;
  border-radius: 999px;
  background: rgba(36, 31, 25, .82);
  color: #fff8e8;
  font-size: .78rem;
  font-weight: 400;
  line-height: 1.2;
  box-shadow: 0 .45rem 1rem rgba(0, 0, 0, .18);
  pointer-events: none;
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, .9);
  backdrop-filter: blur(8px);
}

.lightbox.hidden {
  display: none;
}

.lightbox-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 90%;
  max-height: 90%;
}

.lightbox-content {
  max-width: 100%;
  max-height: 75vh;
  border-radius: 10px;
  cursor: pointer;
  opacity: 1;
  touch-action: pan-y;
  transition: opacity .25s ease;
}

.lightbox-content.fade {
  opacity: 0;
}

.lightbox-close {
  position: absolute;
  top: 20px;
  right: 30px;
  color: white;
  font-size: 40px;
  line-height: 1;
  cursor: pointer;
}

.lightbox-prev,
.lightbox-next {
  position: absolute;
  top: 50%;
  padding: 10px;
  color: white;
  font-size: 50px;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  transform: translateY(-50%);
}

.lightbox-prev {
  left: 20px;
}

.lightbox-next {
  right: 20px;
}

.lightbox-counter {
  position: absolute;
  bottom: 20px;
  left: 50%;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .6);
  color: white;
  font-size: 16px;
  backdrop-filter: blur(6px);
  transform: translateX(-50%);
}

.lightbox-thumbs {
  display: flex;
  gap: 10px;
  max-width: 100%;
  margin-top: 16px;
  padding: 8px 4px;
  overflow-x: auto;
}

.lightbox-thumb {
  flex: 0 0 auto;
  width: 90px;
  height: 65px;
  border-radius: 8px;
  object-fit: cover;
  cursor: pointer;
  opacity: .6;
  transition: opacity .2s ease, transform .2s ease;
}

.lightbox-thumb:hover {
  opacity: .9;
}

.lightbox-thumb.active {
  opacity: 1;
  transform: scale(1.05);
}

.lightbox-thumbs::-webkit-scrollbar {
  height: 8px;
}

.lightbox-thumbs::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(255, 255, 255, .35);
}

.nav {
    width: min(100%, 1600px);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    align-items: stretch;
    text-align: center;
    font-weight: 300;
    list-style-type: none;
    margin: 0;
    padding-block: 0;
    padding-inline: var(--section-padding-inline);
    background: #e9e7e5;
    transition:
        background-color 360ms cubic-bezier(.2, .75, .24, 1),
        backdrop-filter 360ms cubic-bezier(.2, .75, .24, 1);

    .nav-item {
        flex: 1 1 10rem;
        position: relative;

        a {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1.05rem;
            min-height: 3rem;
            width: 100%;
            height: 100%;
            padding: 1.05rem 1rem;
            border: 0;
            border-left: .01rem solid rgba(255,255,255,.18);
            border-radius: 0;
            /* background: #d3cbc2; */
            color: #273b55;
            text-decoration: none;
            text-transform: uppercase;
            font-size: 1.1rem;
            font-weight: 300;
            letter-spacing: .1rem;
          
            transition: background-color .24s cubic-bezier(.2, .75, .24, 1),
                        color .24s cubic-bezier(.2, .75, .24, 1),
                        box-shadow .24s cubic-bezier(.2, .75, .24, 1),
                        transform .24s cubic-bezier(.2, .75, .24, 1);
          
            &::after {
              content: none;
            }
          
            &:hover::after {
              transform: none;
            }

            &:hover {
              background: #000;
              color: #fff;
            }
        }

        &.has-children > a .nav-caret {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-left: -.55rem;
            color: var(--color-primary);
            font-size: .72em;
            transition: transform .2s ease;
        }

        &.has-children:hover > a .nav-caret,
        &.has-children:focus-within > a .nav-caret {
            transform: rotate(180deg);
        }

        .nav-children {
            display: none;
            position: absolute;
            top: 100%;
            left: 0;
            list-style-type: none;
            text-align: left;
            background-color: var(--dirtywhite);

            &.active > a {
                font-weight: 400;
    
                &::after {
                    transform: scaleX(1);
                }
    
                &:hover::after {
                    /* display: none; */
                }
            }
        }
          
        &:hover .nav-children {
            display: block;
        }

        &.active > a {
            font-weight: 400;
            background: var(--color-background);
            color: var(--color-primary-dark);

            &::after {
                transform: none;
            }

            &:hover::after {
                /* display: none; */
            }
        }
    }
}

.nav .nav-item {
    flex: 1 1 10rem;
    position: relative;
}

.nav .nav-item a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.05rem;
    width: 100%;
    height: 100%;
    min-height: 3rem;
    padding: 1.05rem 1rem;
    border: 0;
    border-left: .01rem solid rgba(255, 255, 255, .18);
    border-radius: 0;
    color: #273b55;
    font-size: 1.1rem;
    font-weight: 300;
    letter-spacing: .1rem;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        background-color .24s cubic-bezier(.2, .75, .24, 1),
        color .24s cubic-bezier(.2, .75, .24, 1),
        box-shadow .24s cubic-bezier(.2, .75, .24, 1),
        transform .24s cubic-bezier(.2, .75, .24, 1);
}

.nav .nav-item a::after {
    content: none;
}

.nav .nav-item a:hover {
    background: #000;
    color: #fff;
}

.nav .nav-item.has-children > a .nav-caret {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: -.55rem;
    color: var(--color-primary);
    font-size: .72em;
    transition: transform .2s ease;
}

.nav .nav-item.has-children:hover > a .nav-caret,
.nav .nav-item.has-children:focus-within > a .nav-caret {
    transform: rotate(180deg);
}

.nav .nav-item .nav-children {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    list-style-type: none;
    text-align: left;
    background-color: var(--dirtywhite);
}

.nav .nav-item:hover .nav-children {
    display: block;
}

.nav .nav-item.active > a {
    background: var(--color-background);
    color: var(--color-primary-dark);
    font-weight: 400;
}

.site-nav-toggle {
    display: none;
}

.nav-mobile-contact {
    display: none;
}

.nav-mobile-call {
    display: none;
}

.nav-mobile-brand {
    display: none;
}

.nav-mobile-image {
    display: none;
}

.site-mobile-header-call {
    display: none;
}

.nav-language-item {
    flex: 0 1 7rem;
}

.nav .nav-item a i,
.nav-language-dropdown summary i {
    display: inline-grid;
    width: 1.1rem;
    min-width: 1.1rem;
    place-items: center;
    color: var(--color-primary);
    font-size: 1.28rem;
    line-height: 1;
}

.nav-language-dropdown {
    position: relative;
    height: 100%;
}

.nav-language-dropdown summary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.05rem;
    min-height: 3rem;
    width: 100%;
    height: 100%;
    padding: 1.05rem 1rem;
    border: 0;
    border-left: .01rem solid rgba(255,255,255,.18);
    border-radius: 0;
    /* background: #d3cbc2; */
    color: #273b55;
    cursor: pointer;
    font-size: 1.1rem;
    font-weight: 300;
    letter-spacing: .1rem;
    line-height: 1;
    list-style: none;
    transition: background-color .24s cubic-bezier(.2, .75, .24, 1),
                color .24s cubic-bezier(.2, .75, .24, 1),
                box-shadow .24s cubic-bezier(.2, .75, .24, 1);
}

.nav-language-dropdown summary:hover {
    background: #000;
    color: #fff;
}

.nav-language-dropdown summary::-webkit-details-marker {
    display: none;
}

.nav-language-flag {
    display: inline-block;
    position: relative;
    width: 1.35rem;
    min-width: 1.35rem;
    height: .9rem;
    border: .01rem solid rgba(16, 20, 25, .22);
    border-radius: .08rem;
    background: #ddd;
    box-shadow: 0 .06rem .16rem rgba(16, 20, 25, .12);
    line-height: 1;
    opacity: 1 !important;
    overflow: hidden;
    vertical-align: -.08em;
}

.nav-language-flag-hr {
    background:
        linear-gradient(180deg, #d81e34 0 33.333%, #f7f7f7 33.333% 66.666%, #1d4f91 66.666% 100%);
}

.nav-language-flag-hr::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: .34rem;
    height: .42rem;
    border: .01rem solid rgba(16, 20, 25, .22);
    border-radius: .02rem .02rem .08rem .08rem;
    background:
        linear-gradient(45deg, #d81e34 25%, #fff 25% 50%, #d81e34 50% 75%, #fff 75% 100%) 0 0 / .17rem .17rem;
    box-shadow: 0 .02rem .04rem rgba(16, 20, 25, .2);
    transform: translate(-50%, -46%);
}

.nav-language-flag-en {
    background:
        linear-gradient(146deg, transparent 0 43%, #fff 43% 48%, #c8102e 48% 52%, #fff 52% 57%, transparent 57% 100%),
        linear-gradient(34deg, transparent 0 43%, #fff 43% 48%, #c8102e 48% 52%, #fff 52% 57%, transparent 57% 100%),
        linear-gradient(90deg, transparent 0 38%, #fff 38% 44%, #c8102e 44% 56%, #fff 56% 62%, transparent 62% 100%),
        linear-gradient(180deg, transparent 0 34%, #fff 34% 42%, #c8102e 42% 58%, #fff 58% 66%, transparent 66% 100%),
        #012169;
}

.nav-language-flag-gb,
.nav-language-flag-uk {
    background:
        linear-gradient(146deg, transparent 0 43%, #fff 43% 48%, #c8102e 48% 52%, #fff 52% 57%, transparent 57% 100%),
        linear-gradient(34deg, transparent 0 43%, #fff 43% 48%, #c8102e 48% 52%, #fff 52% 57%, transparent 57% 100%),
        linear-gradient(90deg, transparent 0 38%, #fff 38% 44%, #c8102e 44% 56%, #fff 56% 62%, transparent 62% 100%),
        linear-gradient(180deg, transparent 0 34%, #fff 34% 42%, #c8102e 42% 58%, #fff 58% 66%, transparent 66% 100%),
        #012169;
}

.nav-language-flag-de {
    background:
        linear-gradient(180deg, #111 0 33.333%, #dd0000 33.333% 66.666%, #ffce00 66.666% 100%);
}

.nav-language-flag-it {
    background:
        linear-gradient(90deg, #008c45 0 33.333%, #f4f5f0 33.333% 66.666%, #cd212a 66.666% 100%);
}

.nav-language-code {
    line-height: 1;
}

.nav-language-dropdown summary::after {
    content: none;
}

.nav-language-dropdown summary .nav-caret {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: -.55rem;
    color: var(--color-primary);
    font-size: .72em;
    transition: transform .2s ease;
}

.nav .nav-item.has-children > a .nav-caret,
.nav-language-dropdown summary .nav-caret {
    color: var(--color-primary);
}

.nav .nav-item.has-children:hover > a .nav-caret,
.nav .nav-item.has-children:focus-within > a .nav-caret {
    transform: none;
}

@media (hover: hover) and (pointer: fine) {
    .nav .nav-item.has-children:hover > a .nav-caret,
    .nav .nav-item.has-children:focus-within > a .nav-caret {
        transform: rotate(180deg);
    }
}

.nav-language-menu {
    position: absolute;
    top: calc(100% + .45rem);
    right: 0;
    z-index: 30;
    display: none;
    min-width: 7rem;
    overflow: hidden;
    border: .01rem solid var(--color-border);
    border-radius: var(--radius);
    background: var(--color-surface);
    box-shadow: 0 1rem 2rem rgba(38, 50, 58, .12);
}

.nav-language-dropdown[open] .nav-language-menu {
    display: grid;
}

.nav-language-dropdown[open] summary .nav-caret {
    transform: rotate(180deg);
}

.nav-language-menu > a,
.nav-language-menu > strong,
.nav-language-menu > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    padding: .75rem 1rem;
    color: var(--color-text);
    font-size: var(--fs-300);
    font-weight: 800;
    text-align: center;
}

.nav-language-menu > strong {
    background: color-mix(in srgb, var(--color-primary) 14%, var(--color-surface) 86%);
}

@keyframes nav-dropdown-reveal {
    from {
        opacity: 0;
        transform: translateY(-.35rem) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes mobile-language-dropdown-reveal {
    from {
        max-height: 0;
        opacity: 0;
        transform: translateY(-.2rem);
    }

    to {
        max-height: var(--nav-submenu-height, var(--nav-language-menu-height, 18rem));
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes mobile-language-dropdown-hide {
    from {
        max-height: var(--nav-submenu-height, var(--nav-language-menu-height, 18rem));
        opacity: 1;
        transform: translateY(0);
    }

    to {
        max-height: 0;
        opacity: 0;
        transform: translateY(-.2rem);
    }
}

@media (hover: hover) and (pointer: fine) and (min-width: 1101px) {
    .nav .nav-item > a,
    .nav-language-dropdown summary,
    .nav .nav-children .nav-item > a,
    .nav-language-menu > :is(a, strong, span) {
        transition: background-color .24s cubic-bezier(.2, .75, .24, 1),
                    color .24s cubic-bezier(.2, .75, .24, 1),
                    box-shadow .24s cubic-bezier(.2, .75, .24, 1),
                    opacity .24s cubic-bezier(.2, .75, .24, 1);
    }

    .nav .nav-item > a i,
    .nav-language-dropdown summary i,
    .nav .nav-children .nav-item > a i {
        transition: color .24s cubic-bezier(.2, .75, .24, 1),
                    opacity .24s cubic-bezier(.2, .75, .24, 1);
    }

    .nav .nav-item.has-children > a .nav-caret,
    .nav-language-dropdown summary .nav-caret {
        transition: transform .24s cubic-bezier(.2, .75, .24, 1);
    }

    .nav .nav-item.has-children:hover > .nav-children,
    .nav .nav-item.has-children:focus-within > .nav-children,
    .nav-language-dropdown[open] .nav-language-menu {
        animation: nav-dropdown-reveal .18s cubic-bezier(.2, .75, .24, 1) both;
        transform-origin: top center;
        will-change: opacity, transform;
    }
}

.footer-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  align-items: center;
}

.footer-legal-links a,
.footer-legal-links button {
  border: 0;
  background: transparent;
  color: var(--color-muted);
  cursor: pointer;
  font: inherit;
  font-size: var(--fs-300);
  padding: 0;
}

.block-menu-item-detail .block__content {
  padding-block: clamp(1.5rem, 4vw, 3rem) 0;
}

.menu-item-detail-photo {
  overflow: hidden;
  width: min(100%, 12rem);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .42);
  cursor: zoom-in;
}

.menu-item-detail-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  filter: saturate(.92) contrast(.98);
}

body[class*="theme-riva-"] .nav {
    --riva-dropdown-background: rgba(233, 231, 229, .72);
    --riva-dropdown-blur: 14px;
    --riva-dropdown-text: #273b55;
    --riva-dropdown-hover-background: rgba(16, 20, 25, .82);
    --riva-dropdown-hover-text: rgba(255, 252, 246, .95);
    gap: 0;
    font-size: var(--fs-300);
    font-weight: 400;
}

body[class*="theme-riva-"] .nav .nav-item a {
    padding: 1.05rem .65rem;
    color: #273b55;
    font-size: 1.1rem;
    font-weight: 300;
    letter-spacing: .1rem;
}

body[class*="theme-riva-"] .nav .nav-item a:hover {
    background: rgba(16, 20, 25, .82);
    color: rgba(255, 252, 246, .95);
}

body[class*="theme-riva-"] .nav .nav-item a::after {
    content: none;
}

body[class*="theme-riva-"] .nav .nav-item.active > a:hover,
body[class*="theme-riva-"] .nav-language-dropdown summary:hover {
    background: rgba(16, 20, 25, .82);
    color: rgba(255, 252, 246, .95);
}

body[class*="theme-riva-"] .nav .nav-item > a:hover i,
body[class*="theme-riva-"] .nav .nav-item.active > a:hover i,
body[class*="theme-riva-"] .nav-language-dropdown summary:hover i {
    color: var(--color-primary);
}

body.theme-riva-classic .nav {
    gap: .3rem .8rem;
}

body.theme-riva-classic .nav .nav-item a {
    letter-spacing: .1rem;
}

body[class*="theme-riva-"] .site-brand {
    color: var(--color-text);
    font-weight: 800;
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen) .site-header .site-contact-icon i,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .site-header .site-contact-icon i {
    color: var(--color-primary);
}

body[class*="theme-riva-"] .nav-language-dropdown summary {
    padding: 1.05rem .65rem;
    background: transparent;
    color: #273b55;
}

body[class*="theme-riva-"] .nav-language-menu {
    top: 100%;
    right: 0;
    min-width: 100%;
    border: 0;
    border-radius: 0;
    background: var(--riva-dropdown-background);
    background-color: var(--riva-dropdown-background);
    background-clip: padding-box;
    box-shadow: 0 .85rem 1.6rem rgba(16, 20, 25, .14);
    -webkit-backdrop-filter: blur(var(--riva-dropdown-blur)) saturate(1.16);
    backdrop-filter: blur(var(--riva-dropdown-blur)) saturate(1.16);
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav-language-dropdown[open] .nav-language-menu,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav-language-dropdown[open] .nav-language-menu {
    background: rgba(16, 20, 25, .48);
    background-color: rgba(16, 20, 25, .48);
    -webkit-backdrop-filter: blur(22px) saturate(1.24);
    backdrop-filter: blur(22px) saturate(1.24);
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav-language-dropdown[open] .nav-language-menu,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav-language-dropdown[open] .nav-language-menu {
    background: rgba(255, 252, 246, .62);
    background-color: rgba(255, 252, 246, .62);
    -webkit-backdrop-filter: blur(22px) saturate(1.24);
    backdrop-filter: blur(22px) saturate(1.24);
}

body[class*="theme-riva-"] .nav-language-menu > a,
body[class*="theme-riva-"] .nav-language-menu > strong,
body[class*="theme-riva-"] .nav-language-menu > span {
    padding: 1.05rem .65rem;
    background: transparent;
    color: var(--riva-dropdown-text);
    font-size: 1.1rem;
    font-weight: 300;
    letter-spacing: .1rem;
    text-transform: uppercase;
}

body[class*="theme-riva-"] .nav-language-menu > a:hover,
body[class*="theme-riva-"] .nav-language-menu > strong {
    background: var(--riva-dropdown-hover-background);
    color: var(--riva-dropdown-hover-text);
}

body[class*="theme-riva-"] .nav .nav-children {
    z-index: 35;
    min-width: 100%;
    padding: 0;
    overflow: hidden;
    background: var(--riva-dropdown-background);
    background-clip: padding-box;
    box-shadow: 0 .85rem 1.6rem rgba(16, 20, 25, .14);
    text-align: center;
    -webkit-backdrop-filter: blur(var(--riva-dropdown-blur)) saturate(1.16);
    backdrop-filter: blur(var(--riva-dropdown-blur)) saturate(1.16);
}

body[class*="theme-riva-"] .nav .nav-children .nav-item {
    flex: 0 0 auto;
    width: 100%;
}

body[class*="theme-riva-"] .nav .nav-children .nav-item a {
    justify-content: center;
    min-height: 0;
    padding: 1.05rem .65rem;
    background: transparent;
    color: var(--riva-dropdown-text);
    text-align: center;
    white-space: nowrap;
}

body[class*="theme-riva-"] .nav .nav-children .nav-item a:hover,
body[class*="theme-riva-"] .nav .nav-children .nav-item.active > a {
    background: var(--riva-dropdown-hover-background);
    color: var(--riva-dropdown-hover-text);
}

body[class*="theme-riva-"] .nav .nav-children .nav-item a:hover i,
body[class*="theme-riva-"] .nav .nav-children .nav-item.active > a i {
    color: var(--color-primary);
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav {
    --riva-dropdown-background: rgba(16, 20, 25, .34);
    --riva-dropdown-blur: 12px;
    --riva-dropdown-text: rgba(255, 252, 246, .92);
    --riva-dropdown-hover-background: rgba(255, 252, 246, .18);
    --riva-dropdown-hover-text: rgba(255, 252, 246, .98);
    background: transparent;
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav {
    --riva-dropdown-background: rgba(255, 252, 246, .46);
    --riva-dropdown-blur: 14px;
    --riva-dropdown-text: rgba(16, 20, 25, .9);
    --riva-dropdown-hover-background: rgba(16, 20, 25, .18);
    --riva-dropdown-hover-text: rgba(16, 20, 25, .96);
    background: transparent;
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav .nav-item a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav .nav-item a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav-language-dropdown summary,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav-language-dropdown summary {
    color: rgba(255, 252, 246, .92);
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav .nav-item.active > a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav .nav-item.active > a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav .nav-item > a:hover,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav .nav-item > a:hover {
    background: rgba(16, 20, 25, .82);
    color: rgba(255, 252, 246, .95);
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav .nav-item.active > a i,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav .nav-item.active > a i,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav .nav-item > a:hover i,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav .nav-item > a:hover i {
    color: var(--color-primary);
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav .nav-item a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav .nav-item a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav-language-dropdown summary,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav-language-dropdown summary {
    color: rgba(16, 20, 25, .9);
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav .nav-item.active > a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav .nav-item.active > a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav .nav-item > a:hover,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav .nav-item > a:hover,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav-language-dropdown summary:hover,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav-language-dropdown summary:hover {
    background: rgba(16, 20, 25, .82);
    color: rgba(255, 252, 246, .95);
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav .nav-children .nav-item a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav .nav-children .nav-item a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav .nav-children .nav-item a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav .nav-children .nav-item a {
    background: transparent;
    color: var(--riva-dropdown-text);
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav-language-menu > a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav-language-menu > a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav-language-menu > strong,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav-language-menu > strong,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav-language-menu > span,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav-language-menu > span,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav-language-menu > a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav-language-menu > a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav-language-menu > strong,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav-language-menu > strong,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav-language-menu > span,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav-language-menu > span {
    color: var(--riva-dropdown-text);
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav .nav-children .nav-item a:hover,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav .nav-children .nav-item a:hover,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav .nav-children .nav-item a:hover,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav .nav-children .nav-item a:hover,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav .nav-children .nav-item.active > a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav .nav-children .nav-item.active > a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav .nav-children .nav-item.active > a,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav .nav-children .nav-item.active > a {
    background: var(--riva-dropdown-hover-background);
    color: var(--riva-dropdown-hover-text);
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav-language-menu > a:hover,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav-language-menu > a:hover,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav-language-menu > strong,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav-language-menu > strong,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav-language-menu > a:hover,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav-language-menu > a:hover,
body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav-language-menu > strong,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav-language-menu > strong {
    background: var(--riva-dropdown-hover-background);
    color: var(--riva-dropdown-hover-text);
}

body[class*="theme-riva-"] .header-language-switcher {
    flex: 0 0 auto;
}

body[class*="theme-riva-"] .nav-language-dropdown[open] {
    isolation: isolate;
}

body[class*="theme-riva-"] .nav-language-dropdown[open] .nav-language-menu {
    z-index: 80;
    -webkit-backdrop-filter: blur(30px) saturate(1.32) contrast(1.04) !important;
    backdrop-filter: blur(30px) saturate(1.32) contrast(1.04) !important;
}

body[class*="theme-riva-"] .site-header.is-nav-floating .site-nav {
    background: rgba(255, 252, 246, .84);
}

body[class*="theme-riva-"] .site-header.is-nav-floating .nav {
    --riva-dropdown-background: rgba(255, 252, 246, .46);
    --riva-dropdown-blur: 14px;
    --riva-dropdown-text: rgba(16, 20, 25, .9);
    --riva-dropdown-hover-background: rgba(16, 20, 25, .18);
    --riva-dropdown-hover-text: rgba(16, 20, 25, .96);
    background: transparent;
}

body[class*="theme-riva-"] .site-header.is-nav-floating .nav .nav-item a,
body[class*="theme-riva-"] .site-header.is-nav-floating .nav-language-dropdown summary {
    color: rgba(16, 20, 25, .9);
}

body[class*="theme-riva-"] .site-header.is-nav-floating .nav .nav-item.active > a,
body[class*="theme-riva-"] .site-header.is-nav-floating .nav .nav-item > a:hover,
body[class*="theme-riva-"] .site-header.is-nav-floating .nav-language-dropdown summary:hover,
body[class*="theme-riva-"] .site-header.is-nav-floating .nav-language-dropdown[open] summary {
    background: rgba(16, 20, 25, .82);
    color: rgba(255, 252, 246, .95);
}

body[class*="theme-riva-"] .site-header.is-nav-floating .nav .nav-item > a i,
body[class*="theme-riva-"] .site-header.is-nav-floating .nav-language-dropdown summary i,
body[class*="theme-riva-"] .site-header.is-nav-floating .nav .nav-item.has-children > a .nav-caret,
body[class*="theme-riva-"] .site-header.is-nav-floating .nav-language-dropdown summary .nav-caret {
    color: var(--color-primary);
}

body[class*="theme-riva-"] .site-header.is-nav-floating .nav-language-dropdown[open] .nav-language-menu {
    background-color: rgba(255, 252, 246, .7) !important;
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav-language-dropdown[open] .nav-language-menu,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav-language-dropdown[open] .nav-language-menu {
    background-color: rgba(16, 20, 25, .56) !important;
}

body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav-language-dropdown[open] .nav-language-menu,
body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav-language-dropdown[open] .nav-language-menu {
    background-color: rgba(255, 252, 246, .7) !important;
}

@media (hover: hover) and (pointer: fine) and (min-width: 1101px) {
    body[class*="theme-riva-"]:has(.block-hero-fullscreen),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) {
        --riva-transparent-icon-blue: color-mix(in srgb, var(--color-primary) 80%, white 20%);
    }

    body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) {
        --riva-transparent-muted-text: rgba(255, 252, 246, .68);
        --riva-transparent-nav-text: rgba(255, 252, 246, .82);
        --riva-transparent-nav-active-text: rgba(255, 252, 246, .98);
    }

    body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) {
        --riva-transparent-muted-text: rgba(16, 20, 25, .68);
        --riva-transparent-nav-text: color-mix(in srgb, rgba(16, 20, 25, .86) 80%, white 20%);
        --riva-transparent-nav-active-text: rgba(255, 252, 246, .96);
    }

    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-header-top > .site-brand,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-header-top > .site-brand,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-header-top > .site-brand .site-brand-name,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-header-top > .site-brand .site-brand-name,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-header-top > .site-brand .site-brand-subtitle,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-header-top > .site-brand .site-brand-subtitle,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-header-contact .site-contact-card,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-header-contact .site-contact-card,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-header-contact .site-contact-text,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-header-contact .site-contact-text {
        color: var(--riva-transparent-muted-text);
    }

    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-contact-icon,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-contact-icon,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-contact-icon i,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-contact-icon i,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .nav .nav-item > a i,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .nav .nav-item > a i,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .nav-language-dropdown summary i,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .nav-language-dropdown summary i,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .nav .nav-item.has-children > a .nav-caret,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .nav .nav-item.has-children > a .nav-caret,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .nav-language-dropdown summary .nav-caret,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .nav-language-dropdown summary .nav-caret {
        color: var(--riva-transparent-icon-blue);
    }

    body[class*="theme-riva-"] .nav .nav-item > a,
    body[class*="theme-riva-"] .nav-language-dropdown summary,
    body[class*="theme-riva-"] .nav .nav-children .nav-item > a,
    body[class*="theme-riva-"] .nav-language-menu > :is(a, strong, span) {
        transition: background-color .28s cubic-bezier(.2, .75, .24, 1),
                    color .28s cubic-bezier(.2, .75, .24, 1),
                    box-shadow .28s cubic-bezier(.2, .75, .24, 1),
                    opacity .28s cubic-bezier(.2, .75, .24, 1);
    }

    body[class*="theme-riva-"] .nav .nav-item > a span:not(.nav-caret),
    body[class*="theme-riva-"] .nav-language-dropdown summary span:not(.nav-caret) {
        color: color-mix(in srgb, rgba(16, 20, 25, .86) 80%, white 20%);
        opacity: .86;
        transition: color .32s cubic-bezier(.2, .75, .24, 1),
                    opacity .32s cubic-bezier(.2, .75, .24, 1);
    }

    body[class*="theme-riva-"] .nav .nav-item.active > a span:not(.nav-caret) {
        color: rgba(255, 252, 246, .86);
        opacity: .84;
    }

    body[class*="theme-riva-"] .nav .nav-item.active > a:not(:hover) {
        background: rgba(16, 20, 25, .82);
        color: rgba(255, 252, 246, .95);
    }

    body[class*="theme-riva-"] .nav .nav-item.active > a:not(:hover) i {
        color: var(--color-primary);
    }

    body[class*="theme-riva-"] .nav .nav-item > a:hover span:not(.nav-caret),
    body[class*="theme-riva-"] .nav-language-dropdown summary:hover span:not(.nav-caret),
    body[class*="theme-riva-"] .nav-language-dropdown[open] summary span:not(.nav-caret) {
        color: rgba(255, 252, 246, .95);
        opacity: 1;
    }

    body[class*="theme-riva-"] .nav .nav-children .nav-item > a span:not(.nav-caret) {
        color: color-mix(in srgb, var(--riva-dropdown-text) 72%, transparent);
        opacity: .78;
        transition: color .32s cubic-bezier(.2, .75, .24, 1),
                    opacity .32s cubic-bezier(.2, .75, .24, 1);
    }

    body[class*="theme-riva-"] .nav .nav-children .nav-item > a:hover span:not(.nav-caret),
    body[class*="theme-riva-"] .nav .nav-children .nav-item.active > a span:not(.nav-caret) {
        color: var(--riva-dropdown-hover-text);
        opacity: 1;
    }

    body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav .nav-item > a span:not(.nav-caret),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav .nav-item > a span:not(.nav-caret),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-light) .nav-language-dropdown summary span:not(.nav-caret),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-light) .nav-language-dropdown summary span:not(.nav-caret) {
        color: var(--riva-transparent-nav-text);
        opacity: .86;
    }

    body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav .nav-item > a span:not(.nav-caret),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav .nav-item > a span:not(.nav-caret),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen.block-hero-foreground-dark) .nav-language-dropdown summary span:not(.nav-caret),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half.block-hero-foreground-dark) .nav-language-dropdown summary span:not(.nav-caret) {
        color: var(--riva-transparent-nav-text);
        opacity: .86;
    }

    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .nav .nav-item.active > a span:not(.nav-caret),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .nav .nav-item.active > a span:not(.nav-caret) {
        color: var(--riva-transparent-nav-active-text);
        opacity: 1;
    }

    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .nav .nav-item > a:hover span:not(.nav-caret),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .nav .nav-item > a:hover span:not(.nav-caret),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .nav-language-dropdown summary:hover span:not(.nav-caret),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .nav-language-dropdown summary:hover span:not(.nav-caret),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .nav-language-dropdown[open] summary span:not(.nav-caret),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .nav-language-dropdown[open] summary span:not(.nav-caret) {
        color: var(--riva-transparent-nav-active-text);
        opacity: 1;
    }

    body[class*="theme-riva-"] .nav .nav-item.active > a:not(:hover) span:not(.nav-caret) {
        color: rgba(255, 252, 246, .95);
        opacity: 1;
    }

    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .nav .nav-item.active > a:not(:hover) span:not(.nav-caret),
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .nav .nav-item.active > a:not(:hover) span:not(.nav-caret) {
        color: var(--riva-transparent-nav-active-text);
        opacity: 1;
    }

    body[class*="theme-riva-"] .site-header.is-nav-floating .nav .nav-item > a span:not(.nav-caret),
    body[class*="theme-riva-"] .site-header.is-nav-floating .nav-language-dropdown summary span:not(.nav-caret) {
        color: color-mix(in srgb, rgba(16, 20, 25, .86) 80%, white 20%);
        opacity: .86;
    }

    body[class*="theme-riva-"] .site-header.is-nav-floating .nav .nav-item.active > a span:not(.nav-caret),
    body[class*="theme-riva-"] .site-header.is-nav-floating .nav .nav-item.active > a:not(:hover) span:not(.nav-caret),
    body[class*="theme-riva-"] .site-header.is-nav-floating .nav .nav-item > a:hover span:not(.nav-caret),
    body[class*="theme-riva-"] .site-header.is-nav-floating .nav-language-dropdown summary:hover span:not(.nav-caret),
    body[class*="theme-riva-"] .site-header.is-nav-floating .nav-language-dropdown[open] summary span:not(.nav-caret) {
        color: rgba(255, 252, 246, .98);
        opacity: 1;
    }
}

@media (max-width: 1100px) {
    .site-header-top {
        padding-block: clamp(.8rem, 1.9vw, 1.1rem);
    }

    .site-header-top {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .site-header-top > .site-brand {
        display: grid;
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        transition:
            opacity 220ms ease,
            transform 260ms cubic-bezier(.22, .61, .36, 1);
    }

    .site-mobile-header-call {
        display: inline-flex;
        grid-column: 1;
        grid-row: 1;
        min-height: 3.2rem;
        align-items: center;
        justify-self: start;
        gap: .8rem;
        color: var(--color-primary-dark);
        font-size: .988rem;
        font-weight: 300;
        line-height: 1;
        opacity: 0;
        pointer-events: none;
        text-decoration: none;
        transform: translateY(.35rem);
        transition:
            opacity 220ms ease,
            transform 260ms cubic-bezier(.22, .61, .36, 1);
    }

    .site-mobile-header-call i {
        color: var(--color-primary);
        font-size: 1em;
    }

    .site-mobile-header-call span {
        color: currentColor;
    }

    body:has(.block-hero-fullscreen) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-mobile-header-call,
    body:has(.block-hero-fullscreen_half) .site-header:not(.is-mobile-header-floating):not(.is-open) .site-mobile-header-call {
        color: var(--hero-header-text-color, var(--color-primary-dark));
    }

    .site-header.is-mobile-header-floating {
        position: fixed !important;
        inset: 0 0 auto !important;
        z-index: 70;
        margin-inline: 0;
        background: #ded8d1 !important;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-110%);
        transition:
            opacity 320ms ease,
            transform 420ms cubic-bezier(.22, .61, .36, 1),
            background-color 360ms ease,
            box-shadow 360ms ease;
        box-shadow: 0 .75rem 1.75rem rgba(16, 20, 25, .14);
    }

    .site-header.is-mobile-header-arming {
        transition: none !important;
    }

    .site-header.is-mobile-header-arming .site-header-top,
    .site-header.is-mobile-header-arming .site-nav {
        transition: none !important;
    }

    .site-header.is-mobile-header-floating.is-mobile-header-revealed {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    .site-header.is-open {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        max-width: none !important;
        z-index: 90;
        height: 100vh;
        height: 100svh;
        height: 100dvh;
        min-height: 100vh;
        min-height: 100svh;
        max-height: 100vh;
        max-height: 100dvh;
        margin-inline: 0;
        overflow: hidden;
        overscroll-behavior: contain;
        background: #ded8d1 !important;
        opacity: 1;
        pointer-events: auto;
        transform: none !important;
        transition: opacity 260ms ease, background-color 260ms ease;
        box-shadow: none;
    }

    .site-header.is-open.is-mobile-menu-arming,
    .site-header.is-open.is-mobile-menu-arming .site-header-top {
        transition: none !important;
    }

    .site-header.is-open.is-mobile-menu-closing {
        transition: opacity 300ms ease, background-color 300ms ease;
    }

    .site-header.is-open.is-mobile-menu-visible {
        pointer-events: auto;
    }

    .site-header.is-open .site-shell {
        display: grid;
        width: 100vw;
        max-width: none;
        height: 100%;
        min-height: 100vh;
        min-height: 100svh;
        min-height: 0;
        max-height: 100%;
        grid-template-rows: auto minmax(0, 1fr);
        padding-inline: 0;
        overflow: hidden;
    }

    .site-header.is-open .site-header-top {
        padding-inline: var(--section-padding-inline);
        background: #ded8d1;
        opacity: 1;
        transform: translateY(0);
    }

    .site-header.is-open .site-header-top > .site-brand {
        opacity: 0;
        pointer-events: none;
        transform: translateY(-.35rem);
    }

    .site-header.is-open .site-mobile-header-call {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    .site-header.is-open .site-nav {
        display: block;
        box-sizing: border-box;
        width: 100vw;
        max-width: none;
        height: auto;
        min-height: 0;
        max-height: 100%;
        margin-inline: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;
        background: #ded8d1;
        opacity: 0;
        pointer-events: none;
        transform: translateX(100%);
        transition:
            opacity 220ms ease,
            transform 460ms cubic-bezier(.22, .61, .36, 1);
        will-change: transform;
        backface-visibility: hidden;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }

    .site-header.is-open.is-mobile-menu-arming .site-nav {
        transition: none !important;
        opacity: 0;
        transform: translateX(100%);
    }

    .site-header.is-open.is-mobile-menu-closing .site-nav {
        transition:
            opacity 220ms ease,
            transform 420ms cubic-bezier(.45, 0, .55, 1);
    }

    .site-header.is-open.is-mobile-menu-visible .site-nav {
        opacity: 1;
        pointer-events: auto;
        transform: translateX(0);
    }

    .site-header.is-open .nav {
        display: grid;
        min-height: max-content;
        align-content: start;
        justify-items: stretch;
        gap: 0;
        padding-block: clamp(1.8rem, 5svh, 4rem);
        background: #ded8d1;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }

    body[class*="theme-riva-"] .site-header.is-open .site-nav,
    body[class*="theme-riva-"] .site-header.is-open .nav {
        background: #ded8d1 !important;
        background-color: #ded8d1 !important;
    }

    body:has(.block-hero-fullscreen) .site-header.is-open .site-brand,
    body:has(.block-hero-fullscreen_half) .site-header.is-open .site-brand,
    body:has(.block-hero-fullscreen) .site-header.is-open .site-brand-name,
    body:has(.block-hero-fullscreen_half) .site-header.is-open .site-brand-name,
    body:has(.block-hero-fullscreen) .site-header.is-open .site-brand-subtitle,
    body:has(.block-hero-fullscreen) .site-header.is-open .site-mobile-header-call,
    body:has(.block-hero-fullscreen_half) .site-header.is-open .site-mobile-header-call,
    body:has(.block-hero-fullscreen) .site-header.is-open .site-nav-toggle,
    body:has(.block-hero-fullscreen_half) .site-header.is-open .site-nav-toggle {
        color: var(--color-primary-dark);
    }

    body:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating.is-mobile-header-docking,
    body:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating.is-mobile-header-docking {
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none;
    }

    body:not(:has(.block-hero-fullscreen)):not(:has(.block-hero-fullscreen_half)) .site-header.is-mobile-header-floating + .site-main {
        padding-top: var(--site-mobile-header-height, 5rem);
    }

    body:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating .site-brand,
    body:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating .site-brand,
    body:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating .site-brand-name,
    body:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating .site-brand-name,
    body:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating .site-brand-subtitle,
    body:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating .site-mobile-header-call,
    body:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating .site-mobile-header-call {
        color: var(--color-primary-dark);
    }

    body:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating .site-nav-toggle,
    body:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating .site-nav-toggle {
        color: var(--color-primary-dark);
    }

    body:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating.is-mobile-header-docking .site-brand,
    body:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating.is-mobile-header-docking .site-brand,
    body:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating.is-mobile-header-docking .site-brand-name,
    body:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating.is-mobile-header-docking .site-brand-name,
    body:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating.is-mobile-header-docking .site-brand-subtitle,
    body:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating.is-mobile-header-docking .site-mobile-header-call,
    body:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating.is-mobile-header-docking .site-mobile-header-call,
    body:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating.is-mobile-header-docking .site-nav-toggle,
    body:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating.is-mobile-header-docking .site-nav-toggle {
        color: var(--hero-header-text-color, var(--color-primary-dark));
    }

    .site-header.is-mobile-header-floating .site-nav,
    .site-header.is-mobile-header-floating .nav {
        background: #e9e7e5;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    body:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating.is-mobile-header-docking .site-nav,
    body:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating.is-mobile-header-docking .site-nav,
    body:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating.is-mobile-header-docking .nav,
    body:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating.is-mobile-header-docking .nav {
        background: transparent;
        background-color: transparent;
    }

    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating .nav,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating .nav {
        --riva-dropdown-background: rgba(233, 231, 229, .96);
        --riva-dropdown-text: #273b55;
        --riva-dropdown-hover-background: rgba(16, 20, 25, .82);
        --riva-dropdown-hover-text: rgba(255, 252, 246, .95);
        background: #e9e7e5;
    }

    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating .nav .nav-item a,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating .nav .nav-item a,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen) .site-header.is-mobile-header-floating .nav-language-dropdown summary,
    body[class*="theme-riva-"]:has(.block-hero-fullscreen_half) .site-header.is-mobile-header-floating .nav-language-dropdown summary {
        color: #273b55;
    }

    .site-header-contact {
        display: none;
    }

    .site-nav {
        min-height: 0;
        display: grid;
        align-items: stretch;
        justify-content: stretch;
    }

    .site-nav-toggle {
        display: flex;
        width: 3.2rem;
        height: 3.2rem;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: var(--color-primary-dark);
        cursor: pointer;
        font: inherit;
    }

    .site-nav-toggle-icon,
    .site-nav-toggle-icon::before,
    .site-nav-toggle-icon::after {
        display: block;
        width: 1.7rem;
        height: .12rem;
        background: currentColor;
        transition: transform 180ms ease, opacity 180ms ease;
    }

    .site-nav-toggle-icon {
        position: relative;
    }

    .site-nav-toggle-icon::before,
    .site-nav-toggle-icon::after {
        content: "";
        position: absolute;
        left: 0;
    }

    .site-nav-toggle-icon::before {
        top: -.55rem;
    }

    .site-nav-toggle-icon::after {
        top: .55rem;
    }

    .site-header.is-open .site-nav-toggle-icon {
        background: transparent;
    }

    .site-header.is-open .site-nav-toggle-icon::before {
        transform: translateY(.55rem) rotate(45deg);
    }

    .site-header.is-open .site-nav-toggle-icon::after {
        transform: translateY(-.55rem) rotate(-45deg);
    }

    .nav {
        display: none;
        width: min(100%, 1600px);
        margin-inline: auto;
        padding-inline: var(--section-padding-inline);
    }

    .site-header.is-open .nav {
        display: grid;
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        margin-inline: 0;
        padding-inline: 0;
    }

    .site-header.is-open .nav-mobile-image {
        display: block;
        width: 100%;
        height: 20svh;
        margin-inline: 0;
        overflow: hidden;
        opacity: 1;
        transform: translateY(0);
    }

    .site-header.is-open .nav-mobile-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .site-header.is-open .nav .nav-item a,
    .site-header.is-open .nav-language-dropdown summary {
        justify-content: flex-start;
        min-height: 3rem;
        padding-block: 0;
        padding-inline: 2rem;
        border-top: 0;
        font-size: .8em;
        font-weight: 400;
        text-align: left;
    }

    body[class*="theme-riva-"] .site-header.is-open .nav .nav-item:not(.nav-mobile-brand) > a,
    body[class*="theme-riva-"] .site-header.is-open .nav-language-dropdown summary {
        font-weight: 400;
    }

    .site-header.is-open .nav .nav-item.has-children > a .nav-caret,
    .site-header.is-open .nav-language-dropdown summary .nav-caret {
        align-self: center;
        width: 2rem;
        min-width: 2rem;
        height: 2rem;
        border: 0;
        border-radius: 0;
        margin-left: auto;
        background: transparent;
        color: var(--color-primary);
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .site-header.is-open .nav .nav-item.has-children > a .nav-caret > i,
    .site-header.is-open .nav-language-dropdown summary .nav-caret > i {
        display: inline-grid;
        width: 1.72rem;
        height: 1.72rem;
        place-items: center;
        border: .1rem solid currentColor;
        border-radius: 999px;
        color: currentColor;
        font-size: .7rem;
        opacity: .84;
    }

    .site-header.is-open .nav-language-dropdown summary .nav-caret {
        transform: none !important;
    }

    .site-header.is-open .nav-language-dropdown[open] summary .nav-caret {
        transform: rotate(180deg) !important;
    }

    .site-header.is-open .nav .nav-item.has-children {
        display: grid;
    }

    .nav .nav-item,
    .nav-language-item {
        flex: none;
        width: 100vw;
        max-width: 100%;
        padding: 0;
    }

    .nav .nav-item a,
    .nav-language-dropdown summary {
        box-sizing: border-box;
        width: 100%;
        min-height: 3rem;
        justify-content: flex-start;
        padding-inline: 2rem;
        border-left: 0;
        border-top: .01rem solid rgba(16, 20, 25, .12);
        text-align: left;
    }

    .nav .nav-item a:hover,
    .nav-language-dropdown summary:hover {
        padding-inline: 2rem;
    }

    .site-header.is-open .nav > .nav-item:not(.nav-mobile-brand):not(.nav-mobile-call):not(.nav-mobile-contact):nth-child(odd) > a,
    .site-header.is-open .nav > .nav-language-item:nth-child(odd) > .nav-language-dropdown > summary {
        background: #e9e7e5;
    }

    .site-header.is-open .nav > .nav-item:not(.nav-mobile-brand):not(.nav-mobile-call):not(.nav-mobile-contact):nth-child(even) > a,
    .site-header.is-open .nav > .nav-language-item:nth-child(even) > .nav-language-dropdown > summary {
        background: #ded8d1;
    }

    .site-header.is-open .nav > .nav-item:not(.nav-mobile-brand):not(.nav-mobile-call):not(.nav-mobile-contact) > a:hover,
    .site-header.is-open .nav > .nav-item:not(.nav-mobile-brand):not(.nav-mobile-call):not(.nav-mobile-contact).active > a,
    .site-header.is-open .nav > .nav-language-item > .nav-language-dropdown > summary:hover {
        background: rgba(16, 20, 25, .82);
        color: rgba(255, 252, 246, .95);
    }

    .site-header.is-open .nav .nav-children {
        display: none;
    }

    .site-header.is-open .nav .nav-children,
    .site-header.is-open .nav .nav-item.is-submenu-open > .nav-children,
    .site-header.is-open .nav-language-dropdown[open] .nav-language-menu {
        position: static;
        width: 100%;
        min-width: 100%;
        overflow: hidden;
        border: 0;
        border-radius: 0;
        transform: none;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        box-shadow: none;
    }

    .site-header.is-open .nav .nav-item.is-submenu-open > .nav-children,
    .site-header.is-open .nav .nav-item.is-submenu-closing > .nav-children,
    .site-header.is-open .nav-language-dropdown[open] .nav-language-menu {
        display: grid;
    }

    .site-header.is-open .nav .nav-item.is-submenu-open > .nav-children {
        animation: mobile-language-dropdown-reveal 240ms cubic-bezier(.2, .75, .24, 1) both;
        transform-origin: top center;
        will-change: max-height, opacity, transform;
    }

    .site-header.is-open .nav .nav-item.is-submenu-closing > .nav-children {
        animation: mobile-language-dropdown-hide 320ms cubic-bezier(.45, 0, .55, 1) both;
        pointer-events: none;
    }

    .site-header.is-open .nav-language-dropdown[open] .nav-language-menu {
        max-height: 0;
        opacity: 0;
        transform: translateY(-.2rem);
        transition:
            max-height 260ms cubic-bezier(.2, .75, .24, 1),
            opacity 220ms cubic-bezier(.2, .75, .24, 1),
            transform 260ms cubic-bezier(.2, .75, .24, 1);
        transform-origin: top center;
        will-change: max-height, opacity, transform;
    }

    .site-header.is-open .nav-language-dropdown.is-language-open .nav-language-menu {
        max-height: var(--nav-language-menu-height, 18rem);
        opacity: 1;
        transform: translateY(0);
    }

    .site-header.is-open .nav-language-dropdown.is-language-closing .nav-language-menu {
        max-height: 0;
        opacity: 0;
        transform: translateY(-.2rem);
        pointer-events: none;
        transition-duration: 320ms, 260ms, 320ms;
        transition-timing-function: cubic-bezier(.45, 0, .55, 1);
    }

    .site-header.is-open .nav-language-dropdown.is-language-closing summary .nav-caret {
        transform: none !important;
    }

    .site-header.is-open .nav-language-dropdown:not([open]) .nav-language-menu {
        display: none !important;
    }

    .site-header.is-open .nav .nav-item.is-submenu-open > a .nav-caret {
        transform: rotate(180deg);
    }

    .site-header.is-open .nav .nav-children .nav-item {
        width: 100%;
    }

    .site-header.is-open .nav .nav-children .nav-item a,
    .site-header.is-open .nav-language-menu > :is(a, strong, span) {
        min-height: 3rem;
        padding-inline: 3rem 2rem;
        justify-content: flex-start;
        text-align: left;
    }

    .nav-mobile-brand {
        display: block;
        margin-bottom: clamp(2.2rem, 6svh, 4rem);
    }

    .nav-mobile-brand .nav-mobile-brand-link {
        --riva-brand-gap: .175rem;
        --riva-brand-name-size: 2.8rem;
        --riva-brand-subtitle-size: .65rem;
        --riva-brand-subtitle-letter-spacing: .95rem;

        display: grid !important;
        width: fit-content;
        min-height: 0;
        margin-inline: auto;
        gap: var(--riva-brand-gap, .175rem);
        padding: 0;
        border: 0;
        color: var(--color-primary-dark);
        text-align: center;
        text-decoration: none;
        transform: scale(.86);
        transform-origin: center;
    }

    .site-header.is-open .nav .nav-mobile-brand .nav-mobile-brand-link {
        display: grid !important;
        width: fit-content;
        min-height: 0;
        margin-inline: auto;
        padding: 0;
        background: transparent;
        color: var(--color-primary-dark);
    }

    .nav-mobile-brand .nav-mobile-brand-link:hover {
        padding-inline: 0;
        background: transparent;
        color: var(--color-primary-dark);
    }

    .nav-mobile-brand .site-brand-logo {
        width: 11rem;
        height: auto;
        max-width: min(88vw, 11rem);
    }

    body[class*="theme-riva-"] .nav-mobile-brand .site-brand-logo {
        width: 11rem;
        height: auto;
        max-width: min(88vw, 11rem);
    }

    body[class*="theme-riva-"] .nav-mobile-brand .nav-mobile-brand-link {
        transform: none;
    }

    .site-header.is-open .nav .nav-mobile-brand .nav-mobile-brand-link:hover {
        padding-inline: 0;
        background: transparent;
        color: var(--color-primary-dark);
    }

    body[class*="theme-riva-"] .nav-mobile-brand .site-brand-name {
        color: currentColor;
        font-family: var(--font-heading);
        font-size: var(--riva-brand-name-size, 1.4rem);
        font-weight: 400;
        letter-spacing: 0;
        line-height: .75;
        text-transform: none;
    }

    body[class*="theme-riva-"] .nav-mobile-brand .site-brand-subtitle {
        display: block;
        color: color-mix(in srgb, var(--color-primary-dark) 46%, transparent);
        font-size: var(--riva-brand-subtitle-size, .325rem);
        font-weight: 400;
        letter-spacing: var(--riva-brand-subtitle-letter-spacing, .475rem);
        line-height: 1;
        margin-top: -.18rem;
        text-transform: uppercase;
        white-space: nowrap;
    }

    body[class*="theme-riva-"] .site-header-top > .site-brand,
    body[class*="theme-riva-"] .site-header-top > .site-brand:hover {
        color: var(--hero-header-text-color, var(--color-primary-dark));
        text-decoration: none;
    }

    body[class*="theme-riva-"] .site-header-top > .site-brand .site-brand-name {
        text-transform: none;
    }

    body[class*="theme-riva-"] .site-header-top > .site-brand .site-brand-subtitle {
        color: color-mix(in srgb, currentColor 46%, transparent);
        text-transform: uppercase;
        white-space: nowrap;
    }

    .nav-language-dropdown {
        height: auto;
    }

    .nav-language-menu {
        position: static;
        min-width: 100%;
        border-radius: 0;
        box-shadow: none;
    }

    .site-header.is-open .nav-language-menu > a,
    .site-header.is-open .nav-language-menu > strong,
    .site-header.is-open .nav-language-menu > span {
        display: flex;
        align-items: center;
        min-height: 3rem;
        padding-inline: 3rem 2rem !important;
        text-align: left;
    }

    .nav-mobile-contact {
        display: none;
    }

    @media (prefers-reduced-motion: reduce) {
        .site-header.is-open,
        .site-header.is-open .site-header-top,
        .site-header.is-open .site-nav,
        .site-header.is-open .nav-mobile-image {
            clip-path: none;
            transition: none;
            transform: none !important;
        }
    }
}

.news-listing,
.news-post {
  margin-block: 4rem 6rem;
}

.news-header,
.news-post-header {
  max-width: 52rem;
  margin-bottom: 2rem;
}

.news-eyebrow {
  margin-bottom: .5rem;
  color: var(--clr-primary-300);
  font-size: var(--fs-300);
  font-weight: 800;
  letter-spacing: .07rem;
  text-transform: uppercase;
}

.news-header h1,
.news-post-header h1 {
  font-size: var(--fs-800);
  font-weight: 300;
  line-height: 1.05;
}

.news-translation-notice {
  margin-bottom: 1.25rem;
  padding: .85rem 1rem;
  border: .01rem solid var(--line);
  border-radius: var(--radius);
  background: color-mix(in srgb, white 88%, var(--clr-primary-100, #d7efe7) 12%);
  color: var(--clr-text);
  font-size: var(--fs-300);
}

.news-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.news-card {
  display: grid;
  overflow: hidden;
  border: .01rem solid var(--line);
  border-radius: var(--radius);
  background: white;
}

.news-card-image {
  display: block;
  overflow: hidden;
}

.news-card-image img,
.news-post-image {
  display: block;
  width: 100%;
  object-fit: cover;
}

.news-card-image img {
  aspect-ratio: 5 / 3;
  transition: transform .25s ease;
}

.news-card:hover .news-card-image img {
  transform: scale(1.03);
}

.news-card-content {
  display: grid;
  gap: .75rem;
  padding: 1.25rem;
}

.news-card h2 {
  font-size: var(--fs-500);
  font-weight: 400;
  line-height: 1.2;
}

.news-card h2 a {
  color: var(--clr-text);
}

.news-date {
  color: gray;
  font-size: var(--fs-300);
}

.news-read-more {
  width: fit-content;
  margin-top: .5rem;
  color: var(--clr-primary-300);
  font-weight: 400;
}

.news-read-more::after {
  content: " →";
}

.news-post-image {
  max-height: 42rem;
  margin-bottom: 2rem;
  border-radius: var(--radius);
}

.news-lead {
  margin-top: 1rem;
  font-size: var(--fs-400);
  font-weight: 400;
}

.news-post-content {
  max-width: 52rem;
}

.news-post-content > * + * {
  margin-top: 1rem;
}

.news-post-content h2,
.news-post-content h3 {
  margin-top: 2rem;
  font-weight: 400;
  line-height: 1.2;
}

.news-post-content ul,
.news-post-content ol {
  padding-left: 1.25rem;
}

.news-post-footer {
  margin-top: 3rem;
}

.news-post-footer .btn {
  margin-left: 0;
}

.flash {
  margin-block: 1rem;
  padding: 1rem;
  border: .01rem solid var(--line);
  border-radius: var(--radius);
  background: white;
}

.flash-notice {
  border-color: var(--clr-accent2-300);
}

.flash-alert {
  border-color: var(--clr-accent-400);
}

.public-toast-region {
  position: fixed;
  top: clamp(1rem, 2vw, 1.75rem);
  right: clamp(1rem, 2vw, 1.75rem);
  z-index: 1200;
  display: grid;
  width: min(26rem, calc(100vw - 2rem));
  gap: .75rem;
  pointer-events: none;
}

.public-toast,
.public-toast-region .toast {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .9rem;
  align-items: center;
  padding: .9rem .95rem .9rem 1rem;
  border: .01rem solid rgba(31, 49, 68, .12);
  border-left-width: .22rem;
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 1rem 2.5rem rgba(31, 49, 68, .16);
  color: var(--color-text);
  opacity: 0;
  pointer-events: auto;
  transform: translateY(-.5rem);
  transition: opacity .24s ease, transform .24s ease;
}

.public-toast.visible,
.public-toast-region .toast.visible {
  opacity: 1;
  transform: translateY(0);
}

.public-toast-notice,
.public-toast-region .toast-notice {
  border-left-color: var(--clr-accent2-300);
}

.public-toast-error,
.public-toast-alert,
.public-toast-region .toast-error,
.public-toast-region .toast-alert {
  border-left-color: var(--clr-accent-400);
}

.public-toast .toast-message,
.public-toast-region .toast .toast-message {
  font-size: .92rem;
  font-weight: 350;
  line-height: 1.4;
}

.public-toast .toast-close,
.public-toast-region .toast .toast-close {
  display: inline-grid;
  width: 1.85rem;
  height: 1.85rem;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: rgba(31, 49, 68, .08);
  color: currentColor;
  cursor: pointer;
  font: inherit;
  font-size: 1.15rem;
  line-height: 1;
  padding: 0;
}

.public-toast .toast-close:hover,
.public-toast-region .toast .toast-close:hover {
  background: rgba(31, 49, 68, .14);
}

@media (max-width: 639.98px) {
  .public-toast-region {
    top: .75rem;
    right: .75rem;
    left: .75rem;
    width: auto;
  }
}

.footer-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: center;
}

.footer-legal-links a,
.footer-legal-links button {
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-decoration: underline;
}

.cookie-consent {
  position: fixed;
  inset: auto 0 0;
  z-index: 9998;
  padding: clamp(.75rem, 2vw, 1.5rem);
  pointer-events: none;
}

.cookie-consent[hidden],
.cookie-consent-banner[hidden],
.cookie-consent-panel[hidden] {
  display: none;
}

.cookie-consent-banner {
  --cookie-panel-bg: color-mix(in srgb, var(--color-primary-dark) 94%, var(--color-surface) 6%);
  --cookie-panel-text: color-mix(in srgb, var(--color-surface) 88%, var(--color-background) 12%);
  --cookie-panel-muted: color-mix(in srgb, var(--cookie-panel-text) 76%, transparent);
  --cookie-panel-line: color-mix(in srgb, var(--cookie-panel-text) 22%, transparent);
  --cookie-panel-button-bg: color-mix(in srgb, var(--color-accent) 56%, transparent);
  --cookie-panel-button-border: color-mix(in srgb, var(--cookie-panel-text) 48%, transparent);
  --cookie-panel-button-hover: color-mix(in srgb, var(--color-accent) 72%, transparent);
  background: var(--cookie-panel-bg);
  border: .01rem solid var(--cookie-panel-line);
  border-radius: var(--radius);
  box-shadow: 0 1rem 2.8rem rgba(0, 0, 0, .28);
  color: var(--cookie-panel-text);
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  margin-inline: auto;
  max-width: min(70rem, calc(100vw - 1.5rem));
  padding: clamp(1.35rem, 3vw, 2.75rem);
  pointer-events: auto;
}

.cookie-consent-copy {
  display: grid;
  gap: .08rem;
  max-width: 54rem;
}

.cookie-consent-copy h2 {
  margin: 0;
  color: var(--cookie-panel-text);
  font-size: clamp(1.15rem, 1vw + .9rem, 1.55rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.15;
}

.cookie-consent-copy p {
  margin: 0;
  color: var(--cookie-panel-muted);
  font-size: var(--fs-300);
  font-weight: 300;
  line-height: 1.55;
}

.cookie-consent-copy a {
  justify-self: start;
  color: var(--cookie-panel-text);
  font-size: var(--fs-300);
  font-weight: 400;
  line-height: 1.25;
  padding-block: .15rem;
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-decoration-color: currentColor;
  text-underline-offset: .22em;
}

.cookie-consent-copy a:hover,
.cookie-consent-copy a:focus-visible {
  color: #fff;
  text-decoration-thickness: .12em;
}

.cookie-consent-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
}

.cookie-consent-button,
.cookie-consent-actions .btn {
  --button-bg: transparent;
  --button-bg-hover: var(--cookie-panel-button-hover);
  --button-color: var(--cookie-panel-text);
  --button-color-hover: #fff;
  width: auto !important;
  margin: 0;
  border: .01rem solid var(--cookie-panel-button-border);
  background: color-mix(in srgb, var(--cookie-panel-text) 8%, transparent);
  color: var(--cookie-panel-text);
  font-size: .82rem;
  font-weight: 300;
  letter-spacing: .065rem;
  line-height: 1;
  padding: .78rem 1.05rem;
  text-transform: uppercase;
}

.cookie-consent-button:hover,
.cookie-consent-actions .btn:hover {
  border-color: color-mix(in srgb, var(--cookie-panel-text) 68%, transparent);
  background: var(--cookie-panel-button-hover);
  color: var(--button-color-hover);
}

.cookie-consent-button-primary {
  background: var(--cookie-panel-button-bg);
}

.cookie-consent-panel {
  border-top: .01rem solid var(--cookie-panel-line);
  display: grid;
  gap: .8rem;
  padding-top: clamp(1rem, 2vw, 1.4rem);
}

.cookie-consent-panel label {
  align-items: flex-start;
  display: flex;
  gap: .9rem;
  color: var(--cookie-panel-muted);
}

.cookie-consent-panel label > span {
  display: grid;
  gap: .16rem;
  min-width: 0;
}

.cookie-consent-panel label strong {
  color: var(--cookie-panel-text);
  font-weight: 400;
  line-height: 1.25;
}

.cookie-consent-panel label small {
  color: var(--cookie-panel-muted);
  font-size: .86rem;
  font-weight: 300;
  line-height: 1.35;
}

.cookie-consent-panel input[type="checkbox"] {
  appearance: none;
  position: relative;
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 1.5rem;
  margin: .05rem 0 0;
  border: .01rem solid var(--cookie-panel-button-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--cookie-panel-text) 16%, transparent);
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease;
}

.cookie-consent-panel input[type="checkbox"]::before {
  content: "";
  position: absolute;
  inset-block-start: .18rem;
  inset-inline-start: .18rem;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: var(--cookie-panel-text);
  transition: transform .2s ease;
}

.cookie-consent-panel input[type="checkbox"]:checked {
  border-color: color-mix(in srgb, var(--color-primary) 74%, var(--cookie-panel-text) 26%);
  background: color-mix(in srgb, var(--color-primary) 64%, transparent);
}

.cookie-consent-panel input[type="checkbox"]:checked::before {
  transform: translateX(1.22rem);
}

.cookie-consent-panel input[type="checkbox"]:disabled {
  cursor: default;
  opacity: .62;
}

.cookie-protected-embed {
  position: relative;
  min-height: inherit;
}

.cookie-protected-embed iframe {
  opacity: 0;
  pointer-events: none;
}

.cookie-protected-embed.is-active iframe {
  opacity: 1;
  pointer-events: auto;
}

.cookie-embed-placeholder {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: .75rem;
  padding: clamp(1.25rem, 4vw, 3rem);
  background:
    linear-gradient(rgba(16, 20, 25, .74), rgba(16, 20, 25, .78)),
    color-mix(in srgb, var(--color-primary-dark) 88%, var(--color-primary) 12%);
  color: color-mix(in srgb, var(--color-surface) 88%, var(--color-background) 12%);
  text-align: center;
}

.cookie-embed-placeholder[hidden] {
  display: none;
}

.cookie-embed-placeholder h3 {
  margin: 0;
  color: currentColor;
  font-size: clamp(1.15rem, 1vw + .95rem, 1.65rem);
  font-weight: 350;
  line-height: 1.2;
}

.cookie-embed-placeholder p {
  max-width: 34rem;
  margin: 0;
  color: color-mix(in srgb, currentColor 76%, transparent);
  font-size: var(--fs-300);
  font-weight: 300;
  line-height: 1.55;
}

.cookie-embed-placeholder button {
  width: auto;
  margin-top: .25rem;
  border: .01rem solid color-mix(in srgb, currentColor 46%, transparent);
  border-radius: var(--button-radius);
  background: color-mix(in srgb, var(--color-accent) 56%, transparent);
  color: currentColor;
  cursor: pointer;
  font: inherit;
  font-size: .82rem;
  font-weight: 300;
  letter-spacing: .065rem;
  line-height: 1;
  padding: .78rem 1.05rem;
  text-transform: uppercase;
}

.cookie-embed-placeholder button:hover {
  background: color-mix(in srgb, var(--color-primary) 52%, transparent);
  color: #fff;
}

body[class*="theme-riva-"] .cookie-consent-banner {
  --cookie-panel-bg: rgba(16, 20, 25, .94);
  --cookie-panel-text: #f3f1ef;
  --cookie-panel-muted: rgba(243, 241, 239, .72);
  --cookie-panel-line: rgba(243, 241, 239, .2);
  --cookie-panel-button-bg: rgba(158, 140, 120, .48);
  --cookie-panel-button-border: rgba(243, 241, 239, .42);
  --cookie-panel-button-hover: rgba(71, 108, 155, .46);
  border-radius: var(--radius);
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  body[class*="theme-riva-"] .cookie-consent-banner {
    -webkit-backdrop-filter: blur(14px) saturate(1.08);
    backdrop-filter: blur(14px) saturate(1.08);
    background: rgba(16, 20, 25, .88);
  }
}

@media (max-width: 719.98px) {
  .cookie-consent {
    padding: .75rem;
  }

  .cookie-consent-banner {
    max-width: none;
    padding: 1.15rem;
  }

  .cookie-consent-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .cookie-consent-button,
  .cookie-consent-actions .btn {
    justify-content: center;
    width: 100% !important;
  }
}

.legal-page {
  margin-block: 4rem;
}

.legal-page-header {
  display: grid;
  gap: .75rem;
  max-width: 54rem;
  margin-bottom: 2rem;
}

.legal-page-eyebrow {
  color: var(--clr-primary-300);
  font-size: var(--fs-300);
  font-weight: 800;
  letter-spacing: .07rem;
  text-transform: uppercase;
}

.legal-page-header h1 {
  font-size: var(--fs-700);
  font-weight: 300;
  line-height: 1.1;
}

.legal-page-content {
  display: grid;
  gap: 1rem;
  max-width: 58rem;
}

.legal-page-content section {
  border-top: .01rem solid var(--line);
  display: grid;
  gap: .45rem;
  padding-top: 1rem;
}

.legal-page-content h2 {
  font-size: var(--fs-500);
  font-weight: 400;
}

.legal-page-content p {
  margin: 0;
}

@media (max-width: 1100px) {
  body[class*="theme-riva-"] .site-header.is-open .nav > .nav-item:not(.nav-mobile-brand) > a,
  body[class*="theme-riva-"] .site-header.is-open .nav-language-dropdown > summary {
    font-weight: 400;
  }

  body[class*="theme-riva-"] .site-header.is-open .nav .nav-item.has-children > a .nav-caret {
    margin-left: auto;
  }
}
/* DO NOT import styles from other layer (admin/frontend). */
/*


 */
