/* --- Section heads --- */
.sl-intro__text,
.sl-accesso__thesis,
.sl-design__text,
.sl-chef__text,
.sl-filo__head,
.sl-gallery__head > div,
.sl-press__head,
.sl-torino__head,
.sl-metodo__head,
.sl-partners__head {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: var(--sl-s-5);
}

.sl-label + .sl-t1,
.sl-label + .sl-t2,
.sl-label + .sl-t3 { margin-top: calc(var(--sl-s-3) - var(--sl-s-5)); }

/* --- Hero --- */
.sl-hero {
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: 100svh;
  overflow: hidden;
  background: var(--sl-abisso);
}

.sl-hero__media { position: absolute; inset: 0; z-index: 0; }

.sl-hero__media video,
.sl-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sl-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(76% 42% at 50% 47%, rgb(8 9 11 / 0.52) 0%, rgb(8 9 11 / 0.34) 58%, transparent 100%),
    linear-gradient(to bottom, rgb(8 9 11 / 0.62) 0%, rgb(8 9 11 / 0.32) 20%, rgb(8 9 11 / 0.50) 42%, rgb(8 9 11 / 0.58) 64%, rgb(8 9 11 / 0.92) 100%),
    radial-gradient(125% 92% at 50% 44%, transparent 34%, rgb(8 9 11 / 0.44) 100%);
  pointer-events: none;
}

.sl-hero__body {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: var(--sl-s-6);
  padding: calc(var(--sl-s-9) + 1.5rem) var(--sl-gutter) var(--sl-s-7);
  text-align: center;
}

.sl-hero__title { display: grid; gap: var(--sl-s-5); justify-items: center; }

.sl-hero__brand {
  display: block;
  font-family: var(--sl-display);
  font-size: clamp(2.25rem, 0.9rem + 5.6vw, 5.25rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.16em;
  text-indent: 0.16em;
  text-transform: uppercase;
  color: var(--sl-cream);
  text-shadow: 0 2px 48px rgb(0 0 0 / 0.5);
}

.sl-hero__brand span { display: inline-block; }

.sl-hero__tag {
  display: block;
  max-width: 34ch;
  text-wrap: balance;
  font-family: var(--sl-text);
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.3rem);
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: var(--sl-cream-soft);
}

.sl-hero__place {
  max-width: none;
  font-size: var(--sl-t-label);
  font-weight: 500;
  letter-spacing: var(--sl-track-label);
  text-transform: uppercase;
  color: var(--sl-cream-soft);
}

.sl-hero__foot {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sl-s-4) var(--sl-s-6);
  padding: var(--sl-s-5) var(--sl-gutter) var(--sl-s-6);
}

.sl-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1.125rem;
  max-width: none;
  font-size: var(--sl-t-label);
  font-weight: 500;
  letter-spacing: var(--sl-track-label);
  text-transform: uppercase;
  color: var(--sl-cream-soft);
}

.sl-hero__dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--sl-gold);
}

.sl-cue {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-size: var(--sl-t-label);
  font-weight: 500;
  letter-spacing: var(--sl-track-label);
  text-transform: uppercase;
  text-decoration: none;
  color: var(--sl-cream-mute);
  transition: color var(--sl-d-fast) var(--sl-ease);
}

.sl-cue:hover { color: var(--sl-gold); }
.sl-cue .sl-icon { animation: sl-cue-drift 2.6s var(--sl-ease) infinite; }

@keyframes sl-cue-drift {
  0%, 100% { transform: translateY(0); opacity: 0.55; }
  50% { transform: translateY(0.3rem); opacity: 1; }
}

/* --- Intro --- */
.sl-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.78fr);
  gap: clamp(2.5rem, 5vw, 5.5rem);
  align-items: center;
}

.sl-intro__title { max-width: 15ch; }
.sl-intro__figure { margin: 0; }

.sl-facts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sl-s-5) clamp(2rem, 4.5vw, 4.25rem);
  margin-top: var(--sl-s-2);
}

.sl-facts__item { display: flex; flex-direction: column-reverse; gap: 0.7rem; }

.sl-facts__v {
  font-family: var(--sl-display);
  font-size: clamp(1.875rem, 1.4rem + 1.7vw, 2.625rem);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--sl-gold);
}

.sl-facts__k {
  font-family: var(--sl-text);
  font-size: var(--sl-t-label);
  font-weight: 500;
  letter-spacing: var(--sl-track-label);
  text-transform: uppercase;
  color: var(--ctx-ink-mute);
}

/* --- Filosofia --- */
.sl-filo {
  position: relative;
  overflow: hidden;
  padding-block: clamp(6rem, 15vh, 11rem);
}

.sl-filo__media { position: absolute; inset: 0; z-index: 0; }

.sl-filo__img {
  position: relative;
  top: -8%;
  width: 100%;
  height: 116%;
  object-fit: cover;
}

.sl-filo__scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(100deg, rgb(8 9 11 / 0.94) 0%, rgb(8 9 11 / 0.84) 46%, rgb(8 9 11 / 0.74) 100%),
    linear-gradient(to top, rgb(8 9 11 / 0.55) 0%, transparent 45%);
  pointer-events: none;
}

.sl-filo__inner { position: relative; z-index: 1; }
.sl-filo .sl-ledger__item { border-top-color: color-mix(in oklab, var(--sl-cream) 22%, transparent); }
.sl-filo__head { max-width: 44rem; }

.sl-ledger {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(2rem, 4vw, 3.5rem);
  margin-top: clamp(3rem, 7vw, 6rem);
  list-style: none;
}

.sl-ledger__item {
  max-width: none;
  padding-top: var(--sl-s-5);
  border-top: 1px solid var(--sl-hairline);
}

.sl-ledger__item p { margin-top: var(--sl-s-3); color: var(--ctx-ink-soft); }

/* --- Accesso --- */
.sl-accesso__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 5vw, 6rem);
  align-items: start;
}

.sl-accesso__thesis .sl-t1 { max-width: 13ch; }

.sl-accesso__dash {
  display: grid;
  gap: var(--sl-s-4);
  max-width: none;
  margin-top: var(--sl-s-3);
  padding-top: var(--sl-s-5);
  border-top: 1px solid var(--sl-hairline-gold);
}

.sl-accesso__num {
  font-family: var(--sl-display);
  font-size: clamp(2rem, 1.5rem + 1.9vw, 3rem);
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--sl-gold);
}

.sl-accesso__numlabel {
  font-size: var(--sl-t-label);
  font-weight: 500;
  letter-spacing: var(--sl-track-label);
  text-transform: uppercase;
  color: var(--ctx-ink-mute);
}

.sl-accesso__figure { width: 100%; margin: var(--sl-s-6) 0 0; }
.sl-accesso__figure .sl-frame { aspect-ratio: 3 / 2; }

.sl-rows { list-style: none; border-top: 1px solid var(--sl-hairline); }

.sl-rows__item {
  display: grid;
  grid-template-columns: minmax(0, 8rem) minmax(0, 1fr);
  gap: var(--sl-s-4) var(--sl-s-5);
  max-width: none;
  padding-block: clamp(1.4rem, 2.4vw, 2rem);
  border-bottom: 1px solid var(--sl-hairline);
  transition: border-color var(--sl-d-base) var(--sl-ease);
}

.sl-rows__item:hover { border-bottom-color: var(--sl-hairline-gold); }

.sl-rows__label {
  max-width: none;
  padding-top: 0.35rem;
  font-size: var(--sl-t-label);
  font-weight: 500;
  letter-spacing: var(--sl-track-label);
  text-transform: uppercase;
  color: var(--sl-gold);
}

.sl-rows__body p { margin-top: var(--sl-s-3); max-width: 54ch; color: var(--ctx-ink-soft); }

.sl-accesso__close {
  display: grid;
  justify-items: start;
  gap: var(--sl-s-5);
  margin-top: clamp(2rem, 4vw, 3rem);
}

.sl-accesso__closetext {
  font-family: var(--sl-display);
  font-size: var(--sl-t-h3);
  line-height: 1.3;
  color: var(--ctx-ink);
}

/* --- Design --- */
.sl-design__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 5vw, 5.5rem);
  align-items: center;
}

.sl-design__figure { margin: 0; }
.sl-design__text .sl-t1 { max-width: 11ch; }

.sl-specs {
  width: 100%;
  margin-top: var(--sl-s-3);
  border-top: 1px solid var(--sl-hairline);
}

.sl-specs__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sl-s-5);
  padding-block: clamp(1rem, 1.8vw, 1.35rem);
  border-bottom: 1px solid var(--sl-hairline);
  transition: border-color var(--sl-d-base) var(--sl-ease);
}

.sl-specs__row:hover { border-bottom-color: var(--sl-hairline-gold); }

.sl-specs__v {
  font-family: var(--sl-display);
  font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.3rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
}

.sl-specs__k {
  order: 2;
  flex: none;
  font-size: var(--sl-t-label);
  font-weight: 500;
  letter-spacing: var(--sl-track-label);
  text-transform: uppercase;
  color: var(--ctx-ink-mute);
}

/* --- Partners --- */
.sl-partners {
  padding-block: clamp(3rem, 6vw, 5rem);
  overflow: hidden;
}

.sl-partners__head { margin-bottom: clamp(2rem, 4vw, 3rem); }
.sl-partners__title { color: var(--ctx-ink-soft); }

.sl-marquee {
  position: relative;
  width: 100%;
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

.sl-marquee__track {
  display: flex;
  align-items: center;
  gap: clamp(2rem, 4vw, 3.5rem);
  width: max-content;
  padding-inline-start: var(--sl-gutter);
  list-style: none;
  will-change: transform;
}

.sl-marquee__item {
  display: flex;
  align-items: center;
  gap: clamp(2rem, 4vw, 3.5rem);
  max-width: none;
  font-family: var(--sl-display);
  font-size: clamp(1rem, 0.9rem + 0.45vw, 1.3rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--ctx-ink-soft);
}

.sl-marquee__item::after {
  content: '';
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--sl-gold);
  opacity: 0.7;
}

.sl-marquee__track.is-scrolling { animation: sl-marquee-scroll 40s linear infinite; }
.sl-marquee:hover .sl-marquee__track.is-scrolling { animation-play-state: paused; }

@keyframes sl-marquee-scroll {
  to { transform: translateX(-50%); }
}

/* --- Moon Luxury (partner) --- */
.sl-moon__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(2.5rem, 5vw, 5.5rem);
  align-items: center;
}

.sl-moon__media {
  position: relative;
  min-height: clamp(22rem, 52vh, 36rem);
}

.sl-moon__figure {
  margin: 0;
  overflow: hidden;
  background: var(--sl-abisso);
}

.sl-moon__figure--main {
  position: relative;
  z-index: 1;
  width: min(72%, 22rem);
  aspect-ratio: 3 / 4;
  border-radius: var(--sl-r-md) 0 0 var(--sl-r-md);
}

.sl-moon__figure--accent {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: min(58%, 16rem);
  aspect-ratio: 2 / 3;
  border: 1px solid color-mix(in oklab, var(--sl-gold) 28%, transparent);
  box-shadow: 0 24px 64px rgb(8 9 11 / 0.45);
}

.sl-moon__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sl-moon__logo-wrap { margin: 0 0 var(--sl-s-5); }

.sl-moon__logo-link {
  display: inline-block;
  max-width: min(100%, 15rem);
}

.sl-moon__logo {
  display: block;
  width: 100%;
  height: auto;
}

.sl-moon__title { max-width: 16ch; }

.sl-moon__lead { max-width: 42ch; }

.sl-moon__body {
  max-width: 48ch;
  margin-top: var(--sl-s-4);
  color: var(--ctx-ink-soft);
  line-height: 1.65;
}

.sl-moon__product {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin: var(--sl-s-6) 0 0;
  font-size: var(--sl-t-label);
  font-weight: 500;
  letter-spacing: var(--sl-track-label);
  text-transform: uppercase;
  color: var(--sl-gold);
}

.sl-moon__product-mark {
  flex: none;
  width: 2.5rem;
  height: 1px;
  background: color-mix(in oklab, var(--sl-gold) 55%, transparent);
}

.sl-moon__actions { margin-top: var(--sl-s-5); }

@media (max-width: 56rem) {
  .sl-moon__grid {
    grid-template-columns: 1fr;
  }

  .sl-moon__media {
    min-height: auto;
    margin-inline: calc(-1 * var(--sl-gutter));
    padding-inline: var(--sl-gutter);
  }

  .sl-moon__figure--main {
    width: min(68%, 18rem);
  }

  .sl-moon__figure--accent {
    width: min(52%, 13rem);
  }
}

/* --- Chef --- */
.sl-chef__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}

.sl-chef__figure { margin: 0; }

.sl-chef__figure .sl-frame {
  aspect-ratio: 4 / 3;
  border-radius: var(--sl-r-shell) 0 0 var(--sl-r-shell);
  margin-right: calc(-1 * var(--sl-gutter));
}

/* --- Gallery --- */
.sl-gallery__head {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: var(--sl-s-5);
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.sl-gallery__hint {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  max-width: none;
  font-size: var(--sl-t-label);
  font-weight: 500;
  letter-spacing: var(--sl-track-label);
  text-transform: uppercase;
  color: var(--ctx-ink-mute);
}

.sl-rail {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
}

.sl-rail::-webkit-scrollbar { display: none; }
.sl-rail.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.sl-rail:focus-visible { outline-offset: -2px; }

.sl-rail__track {
  display: flex;
  gap: clamp(0.75rem, 1.4vw, 1.25rem);
  width: max-content;
  padding-inline: var(--sl-gutter);
  list-style: none;
}

.sl-rail__item {
  flex: none;
  max-width: none;
  height: clamp(18rem, 44vh, 30rem);
  overflow: hidden;
  border-radius: var(--sl-r-md);
  background: var(--sl-abisso);
  scroll-snap-align: center;
}

.sl-rail__item.is-wide { aspect-ratio: 3 / 2; }
.sl-rail__item.is-tall { aspect-ratio: 3 / 4; }

.sl-rail__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--sl-d-slow) var(--sl-ease-expo);
  pointer-events: none;
}

.sl-rail__item:hover img { transform: scale(1.03); }

/* --- Press --- */
.sl-press__inner {
  display: grid;
  gap: clamp(2.5rem, 5vw, 4.5rem);
  max-width: 56rem;
}

.sl-press__head {
  max-width: 22ch;
}

.sl-press__feature {
  display: grid;
  justify-items: start;
  gap: var(--sl-s-5);
  margin: 0;
  padding-top: var(--sl-s-6);
  border-top: 1px solid var(--sl-hairline-gold);
}

.sl-press__flag { color: var(--ctx-ink-mute); }

.sl-press__quote p {
  max-width: 28ch;
  margin: 0;
  font-family: var(--sl-display);
  font-size: clamp(1.55rem, 1.15rem + 1.6vw, 2.5rem);
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: -0.02em;
  text-wrap: balance;
  color: var(--ctx-ink);
}

.sl-press__caption {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.5rem;
}

.sl-press__outlet {
  margin: 0;
  font-size: var(--sl-t-label);
  font-weight: 500;
  letter-spacing: var(--sl-track-label);
  text-transform: uppercase;
  color: var(--ctx-ink-mute);
}

/* Secondary: quiet outlet names, not a CTA list */
.sl-press__also {
  padding-top: var(--sl-s-5);
  border-top: 1px solid var(--sl-hairline);
}

.sl-press__also-label {
  margin-bottom: var(--sl-s-4);
}

.sl-press__outlets {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.65rem 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sl-press__outlets li {
  display: inline-flex;
  align-items: baseline;
}

.sl-press__outlets li:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 1.25rem;
  height: 1px;
  margin-inline: 0.85rem 0.95rem;
  background: var(--sl-hairline-gold);
  vertical-align: middle;
  transform: translateY(-0.35em);
}

.sl-press__outlets a {
  font-family: var(--sl-display);
  font-size: clamp(1.05rem, 0.95rem + 0.45vw, 1.3rem);
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.3;
  text-decoration: none;
  color: var(--sl-cream-soft);
  border-bottom: 1px solid transparent;
  transition: color 0.25s var(--sl-ease, ease), border-color 0.25s var(--sl-ease, ease);
}

.sl-press__outlets a:hover,
.sl-press__outlets a:focus-visible {
  color: var(--sl-cream);
  border-bottom-color: var(--sl-hairline-gold);
  outline: none;
}

.sl-press__more {
  margin: 0;
}

/* --- Torino --- */
.sl-torino__head { max-width: 50rem; }
.sl-torino__title { max-width: 16ch; }

.sl-facets {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(2rem, 4vw, 3.5rem);
  margin-top: clamp(3rem, 6vw, 5rem);
  list-style: none;
}

.sl-facets__item {
  max-width: none;
  padding-top: var(--sl-s-5);
  border-top: 1px solid var(--sl-hairline);
}

.sl-facets__title {
  font-family: var(--sl-display);
  font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--sl-gold);
}

.sl-facets__body { margin-top: var(--sl-s-3); color: var(--ctx-ink-soft); }

/* --- Metodo --- */
.sl-metodo__head { max-width: 42rem; }

.sl-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: clamp(3rem, 6vw, 5rem);
  padding-top: clamp(2rem, 3.5vw, 3rem);
  border-top: 1px solid var(--sl-hairline);
  list-style: none;
}

.sl-steps__item {
  max-width: none;
  padding-inline: clamp(1.5rem, 3.5vw, 3.25rem);
}

.sl-steps__item:first-child { padding-inline-start: 0; }
.sl-steps__item:last-child { padding-inline-end: 0; }
.sl-steps__item + .sl-steps__item { border-left: 1px solid var(--sl-hairline); }

.sl-steps__mark {
  display: block;
  font-family: var(--sl-display);
  font-size: clamp(1.5rem, 1.25rem + 0.9vw, 2rem);
  line-height: 1;
  letter-spacing: 0.08em;
  color: var(--sl-gold);
}

.sl-steps__title { margin-top: var(--sl-s-5); }
.sl-steps__body { margin-top: var(--sl-s-3); color: var(--ctx-ink-soft); }

/* --- Prenota · immersive invite --- */
.sl-prenota {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: end;
  min-height: 100svh;
  padding-block: 0;
  overflow: hidden;
  background: var(--sl-abisso);
  color: var(--sl-cream);
}

.sl-prenota__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.sl-prenota__img {
  width: 100%;
  height: 112%;
  object-fit: cover;
  object-position: center 38%;
  will-change: transform;
}

.sl-prenota__scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to top,
      oklch(0.14 0.005 255 / 0.97) 0%,
      oklch(0.14 0.005 255 / 0.82) 26%,
      oklch(0.16 0.005 255 / 0.4) 54%,
      oklch(0.16 0.005 255 / 0.22) 74%,
      oklch(0.16 0.005 255 / 0.52) 100%
    ),
    radial-gradient(65% 50% at 50% 68%, transparent 18%, oklch(0.12 0.005 255 / 0.58) 100%);
  pointer-events: none;
}

.sl-prenota__stack {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: end;
  gap: clamp(2.75rem, 5.5vw, 4.25rem);
  width: 100%;
  padding-block: clamp(6rem, 14vh, 10rem) clamp(3.5rem, 8vh, 5.5rem);
}

.sl-prenota__copy {
  display: grid;
  justify-items: center;
  gap: var(--sl-s-5);
  max-width: 40rem;
  margin-inline: auto;
  text-align: center;
}

.sl-prenota__eyebrow {
  color: var(--sl-gold);
  letter-spacing: 0.18em;
}

.sl-prenota__title {
  max-width: 12ch;
  margin: 0;
  font-family: var(--sl-display);
  font-size: clamp(2.85rem, 1.1rem + 6vw, 5.75rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: var(--sl-cream);
  text-wrap: balance;
}

.sl-prenota__rule {
  display: block;
  width: 2.75rem;
  height: 1px;
  margin-block: var(--sl-s-2);
  background: var(--sl-gold);
  opacity: 0.85;
}

.sl-prenota__lead {
  max-width: 38ch;
  margin: 0;
  color: var(--sl-cream-soft);
  text-wrap: pretty;
}

.sl-prenota__cta { margin-top: var(--sl-s-3); }

.sl-prenota .sl-btn--outline {
  border-color: var(--sl-gold);
  color: var(--sl-cream);
  background: oklch(0.16 0.005 255 / 0.35);
  backdrop-filter: blur(8px);
}

.sl-prenota .sl-btn--outline:hover,
.sl-prenota .sl-btn--outline:focus-visible {
  border-color: var(--sl-gold);
  color: var(--sl-abisso);
  background: var(--sl-gold);
}

.sl-prenota .sl-coord {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: var(--sl-s-5) clamp(1.5rem, 3vw, 2.75rem);
  width: min(100%, 58rem);
  margin-inline: auto;
  padding-top: clamp(1.75rem, 3vw, 2.5rem);
  border-top: 1px solid oklch(0.80 0.088 88 / 0.28);
  text-align: left;
}

.sl-prenota .sl-coord__item {
  display: grid;
  align-content: start;
  gap: var(--sl-s-3);
  padding-top: 0;
  border-top: 0;
  font-size: var(--sl-t-small);
  color: var(--sl-cream-mute);
}

.sl-prenota .sl-coord__item .sl-label {
  color: var(--sl-gold);
  opacity: 0.9;
}

.sl-prenota .sl-coord__item dd { display: grid; gap: 0.35rem; }
.sl-prenota .sl-coord__item .sl-num {
  font-size: var(--sl-t-body);
  color: var(--sl-cream);
}
.sl-prenota .sl-coord__note { color: var(--sl-cream-mute); }
.sl-prenota .sl-coord__item a {
  color: var(--sl-cream-soft);
  text-decoration: none;
  transition: color var(--sl-d-fast) var(--sl-ease);
}
.sl-prenota .sl-coord__item a:hover { color: var(--sl-gold); }

@media (prefers-reduced-motion: reduce) {
  .sl-prenota .sl-btn--outline { backdrop-filter: none; }
  .sl-prenota__img {
    height: 100%;
    will-change: auto;
  }
}


/* --- Responsive · tablet --- */
@media (max-width: 62rem) {
  .sl-intro__grid,
  .sl-accesso__grid,
  .sl-design__grid,
  .sl-chef__grid { grid-template-columns: minmax(0, 1fr); }

  .sl-intro__figure { grid-row: 1; }
  .sl-intro__figure .sl-frame,
  .sl-design__figure .sl-frame { aspect-ratio: 3 / 2; }

  .sl-chef__figure .sl-frame {
    margin-inline: calc(-1 * var(--sl-gutter));
    border-radius: 0;
  }

  .sl-ledger,
  .sl-facets,
  .sl-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 3rem); }

  .sl-steps { padding-top: 0; border-top: 0; }
  .sl-steps__item { padding-inline: 0; padding-top: var(--sl-s-5); border-top: 1px solid var(--sl-hairline); }
  .sl-steps__item + .sl-steps__item { border-left: 0; }

  .sl-prenota .sl-coord { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* --- Responsive · handheld --- */
@media (max-width: 44rem) {
  .sl-hero__body { padding-top: calc(var(--sl-s-9) + 0.5rem); gap: var(--sl-s-5); }
  .sl-hero__foot { flex-direction: column; align-items: flex-start; }

  .sl-prenota .sl-coord { grid-template-columns: minmax(0, 1fr); }

  .sl-prenota__stack {
    padding-block: clamp(5rem, 12vh, 8rem) clamp(2.5rem, 6vh, 4rem);
  }

  .sl-prenota__title { max-width: 10ch; }

  .sl-rows__item { grid-template-columns: minmax(0, 1fr); gap: var(--sl-s-3); }
  .sl-rows__label { padding-top: 0; }

  .sl-facts { gap: var(--sl-s-5) var(--sl-s-6); }
  .sl-rail__item { height: clamp(15rem, 52vw, 22rem); }
  .sl-actions .sl-btn { flex: 1 1 14rem; }
}
