/* ODEON / Offers — photographic editorial composition, quiet depth and line reveals.
   Scope is deliberately limited to the offers page; existing interactions remain intact. */
.offers-hero,
.offers-body,
.offers-index {
  --offers-bg: #080807;
  --offers-surface: #10100e;
  --offers-ivory: #f2eee5;
  --offers-copy: #c9c1b4;
  --offers-muted: #aaa193;
  --offers-gold: #d4ad67;
  --offers-focus: #f1d79c;
  --offers-line: rgb(242 238 229 / 17%);
  --offers-field-line: rgb(242 238 229 / 32%);
  --offers-error: #f0aaa0;
  --offers-ease: cubic-bezier(.2, .75, .25, 1);
  color: var(--offers-ivory);
  font-family: "ALS Granate", "Helvetica Neue", Arial, sans-serif;
}

/* The hall sits behind the headline, while the left field stays quiet and readable. */
.offers-hero {
  isolation: isolate;
  min-height: 710px;
  min-height: clamp(660px, 78svh, 740px);
  align-items: center;
  padding-block: 74px 84px;
  background: var(--offers-bg);
  border: 0;
  overflow: hidden;
}
.offers-hero .offers-hero__media {
  z-index: 0;
  inset: 0 0 0 40%;
  overflow: hidden;
}
.offers-hero .offers-hero__media picture {
  display: block;
  width: 100%;
  height: 100%;
}
.offers-hero .offers-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% 48%;
  filter: brightness(.92) saturate(.9);
  transform-origin: 60% 50%;
}
.offers-hero .offers-hero__shade {
  z-index: 1;
  background: linear-gradient(90deg, var(--offers-bg), rgb(8 8 7 / 66%) 14%, rgb(8 8 7 / 12%) 46%, rgb(8 8 7 / 4%) 75%),
    linear-gradient(0deg, var(--offers-bg), transparent 32%, transparent 80%, rgb(8 8 7 / 18%));
}
.offers-hero .offers-hero__copy {
  z-index: 2;
  padding-right: 44%;
}
.offers-hero .micro-label,
.offers-body .micro-label,
.offers-body .offer-card__label {
  color: var(--offers-gold);
  font-size: .67rem;
  font-weight: 650;
  letter-spacing: .2em;
  line-height: 1.5;
}
.offers-hero .micro-label { margin-bottom: 28px; }
.offers-hero h1 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(4.75rem, 6.8vw, 6rem);
  font-weight: 300;
  line-height: .98;
  letter-spacing: -.052em;
  text-wrap: initial;
}
.offers-hero h1 em {
  color: var(--offers-gold);
  font-weight: 300;
}
.offers-hero .offers-hero__lead {
  max-width: 43ch;
  color: var(--offers-copy);
  margin-top: 28px;
  font-size: .98rem;
  line-height: 1.7;
}
.offers-hero .offers-hero__actions {
  margin-top: 32px;
  align-items: center;
  gap: 24px 30px;
}
.offers-hero .button,
.offers-body .button {
  min-height: 50px;
  border-radius: 999px;
  padding: 0 23px;
  gap: 26px;
  max-width: 100%;
  font-size: .68rem;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: .09em;
  box-shadow: none;
  transition: transform .24s var(--offers-ease), opacity .24s var(--offers-ease);
}
.offers-hero .button-gold,
.offers-body .button-gold {
  background: var(--offers-gold);
  color: var(--offers-bg);
  border-color: var(--offers-gold);
  box-shadow: none;
}
.offers-body .button-ghost {
  color: var(--offers-ivory);
  background: transparent;
  border-color: var(--offers-field-line);
  backdrop-filter: none;
}
.offers-hero .offers-hero__phone,
.offers-body .offers-cta__phone {
  min-height: 44px;
  align-content: center;
  gap: 6px;
}
.offers-hero .offers-hero__phone small,
.offers-body .offers-cta__phone small {
  color: var(--offers-muted);
  font-size: .59rem;
  font-weight: 600;
  letter-spacing: .12em;
}
.offers-hero .offers-hero__phone strong,
.offers-body .offers-cta__phone strong {
  color: var(--offers-ivory);
  font-size: 1.13rem;
  font-weight: 420;
  letter-spacing: -.01em;
}
.offers-hero .offers-motion {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 27px;
  min-height: 44px;
  min-width: 44px;
  padding: 10px 16px;
  border: 1px solid rgb(242 238 229 / 40%);
  border-radius: 999px;
  background: rgb(8 8 7 / 78%);
  color: var(--offers-ivory);
  font: inherit;
  font-size: .7rem;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

/* A quiet contents line introduces the four useful reasons to visit. */
.offers-index {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0 24px;
  padding-block: 4px;
  border-block: 1px solid var(--offers-line);
}
.offers-index a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 66px;
  padding-block: 12px;
  color: var(--offers-copy);
  font-size: .7rem;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: opacity .2s var(--offers-ease);
}
.offers-body {
  gap: 120px;
  padding-block: 112px 128px;
}
.offers-body > section {
  min-width: 0;
  scroll-margin-top: calc(var(--header-h, 82px) + 30px);
}
.offers-body [data-reveal] { opacity: 1; transform: none; }
.offers-body h2 {
  font-size: clamp(3rem, 4.1vw, 4rem);
  font-weight: 300;
  line-height: 1.04;
  letter-spacing: -.044em;
}
.offers-body h2 em { color: var(--offers-gold); font-weight: 300; }
.offers-body :is(.offer-card__text, .offers-week__head > p:last-child, .offers-how__head > p:last-child, .giveaway__text) {
  color: var(--offers-copy);
  font-size: .96rem;
  line-height: 1.75;
}

/* Open spreads: product on the left, a portrait room on the following right. */
.offers-body .offer-card {
  overflow: visible;
  background: transparent;
  border: 0;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(40px, 6vw, 90px);
  align-items: center;
}
.offers-body .offer-card__copy { min-width: 0; padding: 0; }
.offers-body .offer-card__label { margin-bottom: 24px; }
.offers-body .offer-card__media {
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1.22;
  background: #080a0b;
  overflow: hidden;
}
.offers-body .offer-card--feature .offer-card__media img {
  object-fit: contain;
  height: 100%;
  width: 100%;
}
.offers-body .offer-card__price {
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-top: 30px;
}
.offers-body .offer-card__price strong {
  color: var(--offers-ivory);
  font-size: clamp(3.6rem, 5.7vw, 5.5rem);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.05em;
}
.offers-body .offer-card__price span {
  color: var(--offers-gold);
  max-width: 38ch;
  font-size: .62rem;
  line-height: 1.6;
  font-weight: 650;
}
.offers-body .offer-card__text { margin-block: 24px 28px; max-width: 44ch; }
.offers-body .offer-card__note {
  color: var(--offers-muted);
  max-width: 43ch;
  font-size: .76rem;
  line-height: 1.65;
  margin-top: 18px;
}
.offers-body .offer-card--standing {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  padding-top: 48px;
  border-top: 1px solid var(--offers-line);
}
.offers-body .offer-card--standing .offer-card__media {
  aspect-ratio: 3 / 4;
  width: min(100%, 440px);
  justify-self: end;
  grid-row: auto;
}
.offers-body .offer-card--standing .offer-card__media img { object-fit: cover; }
.offers-body .offer-card__benefits {
  border-top: 0;
  border-bottom: 1px solid var(--offers-line);
  gap: 26px;
  margin-block: 4px 32px;
}
.offers-body .offer-card__benefits > div,
.offers-body .offer-card__benefits > div + div {
  border: 0;
  padding: 12px 0 26px;
}
.offers-body .offer-card__benefits dt {
  color: var(--offers-gold);
  font-size: clamp(3.25rem, 6vw, 5.5rem);
  font-weight: 250;
  letter-spacing: -.065em;
  line-height: 1;
}
.offers-body .offer-card__benefits dd {
  color: var(--offers-copy);
  max-width: 20ch;
  font-size: .63rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .08em;
}

/* A full-width still life opens the giveaway; the form lives on a solid surface. */
.offers-body .giveaway {
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  grid-template-areas: "media media" "intro panel" "terms panel";
  align-items: start;
  gap: 38px clamp(40px, 7vw, 100px);
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
}
.offers-body .giveaway::before { content: none; }
.offers-body .giveaway__media {
  position: relative;
  inset: auto;
  z-index: 0;
  grid-area: media;
  height: clamp(240px, 25vw, 310px);
  margin-bottom: 10px;
  overflow: hidden;
  background: var(--offers-surface);
}
.offers-body .giveaway__media picture { display: block; width: 100%; height: 100%; }
.offers-body .giveaway__media img {
  object-fit: cover;
  object-position: 50% 56%;
  filter: brightness(.92) saturate(.92);
}
.offers-body .giveaway__shade {
  z-index: 1;
  background: linear-gradient(0deg, rgb(8 8 7 / 25%), transparent 50%);
}
.offers-body .giveaway__intro { grid-area: intro; }
.offers-body .giveaway h2 { font-size: clamp(2.6rem, 3.8vw, 3.8rem); }
.offers-body .giveaway__prize { margin-top: 30px; gap: 20px; }
.offers-body .giveaway__prize strong {
  color: var(--offers-gold);
  font-size: 5.5rem;
  font-weight: 250;
}
.offers-body .giveaway__prize span {
  color: var(--offers-copy);
  font-size: .65rem;
  font-weight: 650;
  letter-spacing: .1em;
}
.offers-body .giveaway__text { margin-top: 24px; }
.offers-body .giveaway__steps { margin-top: 28px; gap: 20px; }
.offers-body .giveaway__steps li { gap: 17px; }
.offers-body .giveaway__steps strong { color: var(--offers-ivory); font-size: .9rem; font-weight: 550; }
.offers-body .giveaway__steps p { color: var(--offers-muted); font-size: .8rem; line-height: 1.65; }
.offers-body .giveaway__steps li > span { color: var(--offers-gold); }
.offers-body .giveaway__panel {
  grid-area: panel;
  align-self: start;
  border: 1px solid var(--offers-line);
  border-radius: 4px;
  padding: clamp(26px, 3vw, 42px);
  background: var(--offers-surface);
  box-shadow: none;
  backdrop-filter: none;
}
.offers-body .giveaway__form { gap: 24px; }
.offers-body .giveaway__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; }
.offers-body .giveaway__field { gap: 10px; }
.offers-body .giveaway__field label {
  color: var(--offers-copy);
  font-size: .65rem;
  font-weight: 650;
  letter-spacing: .1em;
}
.offers-body .giveaway__field input {
  border: 1px solid var(--offers-field-line);
  border-radius: 3px;
  background: var(--offers-bg);
  color: var(--offers-ivory);
  min-height: 54px;
  padding-inline: 14px;
  font-size: 16px;
  transition: none;
}
.offers-body .giveaway__field input::placeholder { color: var(--offers-muted); opacity: 1; }
.offers-body .giveaway__hint { color: var(--offers-muted); font-size: .73rem; line-height: 1.55; }
.offers-body .giveaway__consent { gap: 12px; padding-block: 4px; }
.offers-body .giveaway__consent > span { color: var(--offers-copy); font-size: .77rem; line-height: 1.65; }
.offers-body .giveaway__consent a { color: var(--offers-focus); }
.offers-body .giveaway__consent input { border-color: var(--offers-field-line); background: var(--offers-bg); }
.offers-body .giveaway__consent input:checked { background: var(--offers-gold); border-color: var(--offers-gold); }
.offers-body .giveaway__field input:focus-visible,
.offers-body .giveaway__consent input:focus-visible {
  border-color: var(--offers-focus);
  outline: 2px solid var(--offers-focus);
  outline-offset: 3px;
}
.offers-body .giveaway__field input[aria-invalid="true"],
.offers-body .giveaway__consent input[aria-invalid="true"] { border-color: var(--offers-error); }
.offers-body .giveaway__error,
.offers-body .giveaway__status[data-tone="error"] { color: var(--offers-error); }
.offers-body .giveaway__status { color: var(--offers-copy); font-size: .8rem; }
.offers-body .giveaway__status:empty { display: none; }
.offers-body .giveaway__submit { min-height: 54px; }
.offers-body .giveaway__terms {
  grid-area: terms;
  color: var(--offers-muted);
  font-size: .73rem;
  line-height: 1.7;
  margin: 0;
}

/* Seven exact opening intervals, followed by three direct contact options. */
.offers-body .offers-week {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 28px clamp(40px, 7vw, 100px);
  padding-top: 48px;
  border-top: 1px solid var(--offers-line);
}
.offers-body .offers-week__head > p:last-child { max-width: 38ch; }
.offers-body .offers-week__chart { border: 0; padding-top: 9px; }
.offers-body .offers-week__scale { height: 28px; margin-left: 60px; margin-right: 103px; }
.offers-body .offers-week__scale span { color: var(--offers-muted); font-size: .58rem; letter-spacing: .02em; }
.offers-body .offers-week__days li { min-height: 53px; grid-template-columns: 44px minmax(0, 1fr) 87px; gap: 16px; border-color: var(--offers-line); }
.offers-body .offers-week__day { color: var(--offers-copy); font-size: .71rem; letter-spacing: .1em; }
.offers-body .offers-week__day { flex-direction: column; align-items: flex-start; gap: 4px; }
.offers-body .offers-week__day em { font-size: .48rem; letter-spacing: .01em; }
.offers-body .offers-week__bar { height: 5px; border-radius: 999px; background: rgb(242 238 229 / 7%); }
.offers-body .offers-week__bar i { background: rgb(201 193 180 / 48%); transform: scaleX(1); }
.offers-body .offers-week__bar::after { opacity: 1; background: var(--offers-gold); }
.offers-body .offers-week__days li[data-long="true"] .offers-week__bar i { background: var(--offers-gold); }
.offers-body .offers-week__close { color: var(--offers-copy); font-size: .67rem; letter-spacing: .025em; grid-column: auto; }
.offers-body .offers-week__days li[data-long="true"] :is(.offers-week__day, .offers-week__close) { color: var(--offers-focus); }
.offers-body .offers-week__note { color: var(--offers-muted); grid-column: 2; font-size: .77rem; max-width: 54ch; }
.offers-body .offers-how { grid-template-columns: 1fr; gap: 42px; }
.offers-body .offers-how__head { display: grid; grid-template-columns: 1fr 1fr; gap: 0 60px; align-items: end; }
.offers-body .offers-how__head .micro-label { grid-column: 1 / -1; }
.offers-body .offers-how__head > p:last-child { margin: 0; max-width: 42ch; justify-self: end; }
.offers-body .offers-how__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; border-top: 1px solid var(--offers-line); }
.offers-body .offers-how__steps li { grid-template-columns: 1fr; align-content: start; gap: 23px; padding-block: 28px 0; border: 0; }
.offers-body .offers-how__steps strong { color: var(--offers-ivory); font-size: 1.65rem; line-height: 1.2; font-weight: 350; letter-spacing: -.025em; }
.offers-body .offers-how__steps p { color: var(--offers-muted); font-size: .84rem; line-height: 1.7; }
.offers-body .offers-how__steps li > span { color: var(--offers-gold); font-size: .64rem; }
.offers-body .offers-how__links { gap: 5px 18px; margin-top: 16px; }
.offers-body .offers-how__links :is(a, button) { color: var(--offers-gold); font-size: .66rem; letter-spacing: .075em; }
.offers-body .offers-cta {
  min-height: 360px;
  gap: 36px;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  border: 0;
  padding: clamp(34px, 5vw, 72px);
  background: linear-gradient(90deg, rgb(8 8 7 / 94%), rgb(8 8 7 / 79%) 58%, rgb(8 8 7 / 52%)), url('/images/main-hall/05-golden-gallery.jpg') center 60% / cover;
}
.offers-body .offers-cta h2 { font-size: clamp(2.6rem, 4vw, 3.6rem); }
.offers-body .offers-cta > div > p:last-child { color: var(--offers-copy); font-size: .83rem; line-height: 1.75; }
.offers-body .offers-cta__actions { gap: 26px; }

.offers-hero :focus-visible,
.offers-body :focus-visible,
.offers-index :focus-visible { outline: 2px solid var(--offers-focus); outline-offset: 5px; }
@media (hover: hover) and (pointer: fine) {
  .offers-hero .button:hover,
  .offers-body .button:hover { transform: translateY(-2px); opacity: .9; }
  .offers-index a:hover { opacity: .7; }
}

@media (max-width: 1100px) {
  .offers-hero .offers-hero__copy { padding-right: 36%; }
  .offers-hero .offers-hero__actions { gap: 20px; }
  .offers-hero h1 { font-size: clamp(4.4rem, 8vw, 5.4rem); }
  .offers-body { gap: 96px; }
  .offers-body h2 { font-size: clamp(2.5rem, 4.6vw, 3.4rem); }
  .offers-body .offer-card { gap: 40px; }
  .offers-body .offer-card__benefits { gap: 16px; }
  .offers-body .offer-card__benefits dt { font-size: 4rem; }
  .offers-body .giveaway { column-gap: 40px; }
  .offers-body .giveaway__fields { grid-template-columns: 1fr; }
  .offers-body .offers-week { column-gap: 40px; }
  .offers-body .offers-cta { padding: 42px; }
}

@media (max-width: 760px) {
  .offers-hero {
    min-height: 750px;
    align-items: flex-end;
    padding-block: 250px 64px;
  }
  .offers-hero .offers-hero__media { inset: 0 0 auto; height: 510px; }
  .offers-hero .offers-hero__media img { object-position: 54% 35%; filter: brightness(.8) saturate(.9); }
  .offers-hero .offers-hero__shade {
    background: linear-gradient(0deg, var(--offers-bg) 0%, rgb(8 8 7 / 89%) 21%, rgb(8 8 7 / 18%) 69%, rgb(8 8 7 / 22%));
  }
  .offers-hero .offers-hero__copy { padding-right: 0; }
  .offers-hero .micro-label { margin-bottom: 19px; }
  .offers-hero h1 { max-width: 12ch; font-size: clamp(2.9rem, 9.7vw, 4rem); line-height: 1.02; letter-spacing: -.047em; }
  .offers-hero .offers-hero__lead { max-width: 46ch; margin-top: 22px; font-size: .9rem; line-height: 1.7; }
  .offers-hero .offers-hero__actions { flex-direction: row; align-items: center; margin-top: 27px; gap: 23px; }
  .offers-hero .offers-hero__actions .button { width: auto; }
  .offers-hero .offers-hero__phone strong { font-size: 1rem; }
  .offers-hero .offers-motion { right: 0; top: auto; bottom: calc(100% + 56px); padding: 10px 13px; font-size: .65rem; }
  .offers-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; padding: 5px 0; }
  .offers-index a { min-height: 52px; font-size: .6rem; letter-spacing: .06em; }
  .offers-body { gap: 76px; padding-block: 70px 108px; }
  .offers-body h2 { font-size: clamp(2.25rem, 6.7vw, 2.75rem); line-height: 1.06; }
  .offers-body .offer-card { grid-template-columns: 1fr; gap: 32px; }
  .offers-body .offer-card__media { aspect-ratio: 16 / 11; }
  .offers-body .offer-card--feature .offer-card__media { max-width: 100%; }
  .offers-body .offer-card__label { margin-bottom: 19px; }
  .offers-body .offer-card__price { margin-top: 26px; gap: 9px; }
  .offers-body .offer-card__price strong { font-size: 4rem; }
  .offers-body .offer-card__text { margin-block: 21px 25px; font-size: .92rem; }
  .offers-body .offer-card--standing { padding-top: 36px; }
  .offers-body .offer-card--standing .offer-card__media { width: 100%; aspect-ratio: 1; grid-row: 1; }
  .offers-body .offer-card--standing .offer-card__media img { object-position: 50% 44%; }
  .offers-body .offer-card__benefits { max-width: 480px; margin-top: 4px; }
  .offers-body .offer-card__benefits dt { font-size: clamp(3.6rem, 12vw, 4.75rem); }
  .offers-body .giveaway { grid-template-columns: 1fr; grid-template-areas: "media" "intro" "panel" "terms"; gap: 30px; }
  .offers-body .giveaway__media { height: auto; aspect-ratio: 16 / 10; margin: 0; }
  .offers-body .giveaway__media img { object-position: 50% 52%; }
  .offers-body .giveaway h2 { font-size: clamp(2.2rem, 6.7vw, 2.75rem); }
  .offers-body .giveaway__panel { padding: 28px 24px; }
  .offers-body .giveaway__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
  .offers-body .giveaway__text { max-width: 52ch; font-size: .92rem; }
  .offers-body .giveaway__steps { gap: 20px; }
  .offers-body .giveaway__terms { max-width: none; }
  .offers-body .offers-week { grid-template-columns: 1fr; padding-top: 36px; gap: 30px; }
  .offers-body .offers-week__head > p:last-child { max-width: 48ch; margin-top: 21px; font-size: .92rem; }
  .offers-body .offers-week__chart { padding: 0; }
  .offers-body .offers-week__note { grid-column: 1; }
  .offers-body .offers-how { gap: 30px; }
  .offers-body .offers-how__head { grid-template-columns: 1fr; gap: 0; }
  .offers-body .offers-how__head > p:last-child { justify-self: start; margin-top: 21px; max-width: 48ch; font-size: .92rem; }
  .offers-body .offers-how__steps { grid-template-columns: 1fr; gap: 0; }
  .offers-body .offers-how__steps li { grid-template-columns: 34px minmax(0, 1fr); gap: 15px; border-bottom: 1px solid var(--offers-line); padding-block: 26px; }
  .offers-body .offers-how__steps li > span { padding-top: 7px; }
  .offers-body .offers-how__steps strong { font-size: 1.6rem; }
  .offers-body .offers-how__links { margin-top: 9px; }
  .offers-body .offers-cta { min-height: 420px; grid-template-columns: 1fr; gap: 30px; padding: 35px 25px; }
  .offers-body .offers-cta h2 { font-size: clamp(2.15rem, 6.7vw, 2.75rem); }
  .offers-body .offers-cta__actions { gap: 23px; }
}

@media (max-width: 400px) {
  .offers-hero { padding-top: 260px; padding-bottom: 46px; min-height: 0; }
  .offers-hero .offers-hero__actions { gap: 24px; }
  .offers-hero .offers-hero__actions .button { width: 100%; justify-content: space-between; }
  .offers-hero .offers-hero__phone { width: 100%; }
  .offers-hero .offers-motion { right: 0; }
  .offers-index { column-gap: 12px; }
  .offers-index a { font-size: .56rem; letter-spacing: .04em; }
  .offers-body .button { gap: 17px; padding-inline: 19px; font-size: .63rem; }
  .offers-body .giveaway__panel { padding: 25px 18px; }
  .offers-body .giveaway__fields { grid-template-columns: 1fr; }
  .offers-body .offers-week__days li { grid-template-columns: 44px minmax(0, 1fr) 83px; gap: 11px; }
  .offers-body .offers-week__scale { margin-left: 55px; margin-right: 94px; }
  .offers-body .offers-week__scale span:nth-child(even) { display: none; }
  .offers-body .offers-week__scale span { font-size: .52rem; }
  .offers-body .offers-week__day { font-size: .67rem; }
  .offers-body .offers-week__close { font-size: .64rem; }
  .offers-body .offers-cta { padding: 32px 20px; }
}

/* Content never depends on animation to become readable. */
@media (prefers-reduced-motion: reduce) {
  .offers-hero *, .offers-hero *::before, .offers-hero *::after,
  .offers-body *, .offers-body *::before, .offers-body *::after,
  .offers-index * {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .offers-hero .offers-hero__media img,
  .offers-body [data-reveal] { opacity: 1 !important; transform: none !important; }
}
.motion-reduced .offers-hero *,
.motion-reduced .offers-body *,
.offers-body[data-motion="off"] *,
.offers-hero[data-motion="off"] * { animation: none !important; transition: none !important; }
.motion-reduced .offers-hero .offers-hero__media img,
.offers-hero[data-motion="off"] .offers-hero__media img { transform: none !important; }
@media (pointer: coarse) {
  .offers-hero .offers-motion { backdrop-filter: none; }
  .offers-body .offer-card__media img { transition: none; }
}
@media (forced-colors: active) {
  .offers-hero .button,
  .offers-body .button,
  .offers-hero .offers-motion { border: 1px solid ButtonText; }
  .offers-body .offers-week__bar { border: 1px solid CanvasText; }
  .offers-body .offers-week__bar i { background: Highlight; }
}


/* Monthly mix contest: editorial photograph, one headline, a clear prize. */
.offers-body .offer-contest { gap: clamp(40px, 6vw, 88px); align-items: center; }
.offers-body .offer-contest h2 { letter-spacing: -.035em; }
.offers-body .offer-contest__media {
  margin: 0;
  aspect-ratio: auto;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  background: transparent;
}
.offers-body .offer-contest__media picture { display: block; flex: 1; min-height: 380px; position: relative; overflow: hidden; }
.offers-body .offer-contest .offer-contest__media img { position: absolute; inset: 0; object-fit: cover; object-position: 55% 50%; }
.offers-body .offer-contest__caption {
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px;
  padding-top: 18px; color: var(--offers-muted); font-size: .69rem; line-height: 1.5;
}
.offers-body .offer-contest__caption span:first-child { color: var(--offers-ivory); letter-spacing: .15em; }
.offers-body .offer-contest .offer-card__text { margin: 26px 0 30px; max-width: 44ch; }
.offers-body .offer-contest__prize { margin: 0 0 32px; padding-block: 24px; border-block: 1px solid var(--offers-line); }
.offers-body .offer-contest__prize strong { display: block; color: var(--offers-gold); font-size: clamp(1.5rem, 2.2vw, 2rem); font-weight: 400; line-height: 1.2; letter-spacing: -.02em; }
.offers-body .offer-contest__prize > span { display: block; margin-top: 9px; color: var(--offers-copy); font-size: .88rem; line-height: 1.5; }
.offers-body .offer-contest .offer-card__note { margin-top: 20px; font-size: .78rem; max-width: 44ch; }
.offers-body .offer-contest .offer-card__note a { color: var(--offers-copy); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--offers-line); }
@media (max-width: 760px) {
  .offers-body .offer-contest { gap: 32px; }
  .offers-body .offer-contest .offer-card__copy { grid-row: 1; }
  .offers-body .offer-contest__media { grid-row: 2; }
  .offers-body .offer-contest__media picture { flex: auto; min-height: 0; aspect-ratio: 16 / 10; }
  .offers-body .offer-contest__caption { padding-top: 14px; font-size: .64rem; }
  .offers-body .offer-contest h2 { font-size: clamp(2.3rem, 9.3vw, 3.5rem); }
  .offers-body .offer-contest .offer-card__text { margin-block: 22px 24px; }
  .offers-body .offer-contest__prize { padding-block: 20px; margin-bottom: 26px; }
  .offers-body .offer-contest .button { width: 100%; justify-content: space-between; }
  .offers-body .offer-contest .offer-card__note { margin-top: 16px; }
}

/* Preserve the full generated constructor still life at every breakpoint. */
.offers-body .offer-contest .offer-contest__media { align-self: center; width: 100%; }
.offers-body .offer-contest .offer-contest__media picture { min-height: 0; flex: none; aspect-ratio: 4 / 3; }


/* Hours: two real schedules, composed as open editorial typography. */
.offers-body .hours-editorial { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 88px); align-items: start; padding-block: 48px; border-block: 1px solid var(--offers-line); }
.offers-body .hours-editorial h2 { letter-spacing: -.035em; }
.offers-body .hours-editorial__intro > p { margin: 24px 0 0; color: var(--offers-copy); font-size: 1rem; line-height: 1.6; }
.offers-body .hours-editorial__schedule { margin: 0; min-width: 0; }
.offers-body .hours-editorial__row { padding-block: 8px 30px; }
.offers-body .hours-editorial__row + .hours-editorial__row { padding-block: 30px 0; border-top: 1px solid var(--offers-line); }
.offers-body .hours-editorial__row dt { color: var(--offers-copy); font-size: .9rem; line-height: 1.6; }
.offers-body .hours-editorial__row dd { display: flex; align-items: baseline; gap: clamp(12px, 2vw, 28px); margin: 14px 0 0; color: var(--offers-ivory); font-size: clamp(2rem, 4.2vw, 4.5rem); font-weight: 300; font-variant-numeric: tabular-nums; letter-spacing: -.03em; line-height: 1.15; white-space: nowrap; }
.offers-body .hours-editorial__dash { color: var(--offers-muted); font-size: .6em; }
.offers-body .hours-editorial__row--late .hours-editorial__close { color: var(--offers-gold); }
@media(max-width:760px) {
 .offers-body .hours-editorial { grid-template-columns: 1fr; gap: 34px; padding-block: 36px; }
 .offers-body .hours-editorial h2 { font-size: clamp(2.3rem,9.3vw,3.5rem); }
 .offers-body .hours-editorial__intro > p { margin-top: 20px; font-size: .94rem; }
 .offers-body .hours-editorial__row dd { font-size: clamp(2.3rem,9vw,3.6rem); gap: 20px; }
 .offers-body .hours-editorial__row { padding-bottom: 26px; }
 .offers-body .hours-editorial__row + .hours-editorial__row { padding-top: 26px; }
}

/* The contest leads; secondary explanations share a quieter reading scale. */
.offers-hero .micro-label,
.offers-body :is(.offer-card__label, .micro-label),
.offers-body .offers-how__steps li > span { display: none; }
.offers-hero h1 { letter-spacing: -.035em; line-height: 1.04; }
.offers-hero .offers-hero__lead { color: #d9d3c7; }
.offers-index a { min-height: 48px; font-size: .75rem; letter-spacing: .045em; }
.offers-body .offer-card__benefits dt { font-size: clamp(3.5rem, 5.8vw, 5rem); }
.offers-body .offer-card__benefits dd { font-size: .75rem; letter-spacing: .045em; line-height: 1.5; }
.offers-body .offers-how { gap: 32px; }
.offers-body .offers-how__steps li { grid-template-columns: minmax(0, 1fr); }
.offers-body .offers-how__steps strong { font-size: clamp(1.3rem, 2vw, 1.65rem); line-height: 1.3; }
.offers-body .offers-how__steps p { font-size: .9375rem; line-height: 1.65; }
.offers-body .offers-how__links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .75rem; letter-spacing: .035em; }
.offers-body .offer-contest__caption { font-size: .75rem; color: #b4aa99; }
.offers-body .offer-contest .offer-card__note { font-size: .875rem; line-height: 1.6; }
.offers-body .button { min-height: 52px; font-size: .75rem; letter-spacing: .045em; }
@media (max-width: 760px) {
  .offers-index { gap: 0 20px; padding-block: 12px; justify-content: flex-start; }
  .offers-index a { font-size: .6875rem; letter-spacing: .02em; }
  .offers-body { gap: 64px; padding-top: 52px; }
  .offers-body .offer-card__text { font-size: 1rem; line-height: 1.7; }
  .offers-body .offers-how__head > p:last-child { font-size: 1rem; }
  .offers-body .offers-how__steps li { padding-block: 22px; }
  .offers-body .offers-how__steps strong { font-size: 1.375rem; }
  .offers-body .offers-how__links { margin-top: 4px; }
  .offers-body .offer-card__benefits dt { font-size: 3.75rem; }
  .offers-body .offer-contest__caption { font-size: .75rem; }
  .offers-body .offer-contest .offer-card__note { font-size: .875rem; }
}


/* ODEON MIX contest 2026-09-15: prize, five steps, first-mix discount. */
.offers-body .offer-contest .offer-card__label{margin-bottom:20px}
.offers-body .offer-contest__discount{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;margin:-9px 0 30px;padding:18px 20px;border:1px solid rgb(212 173 103 / 42%);background:linear-gradient(105deg,rgb(212 173 103 / 12%),rgb(8 8 7 / 12%))}
.offers-body .offer-contest__discount strong{color:var(--offers-focus);font-size:clamp(2rem,3vw,2.8rem);font-weight:350;letter-spacing:-.045em;line-height:1}
.offers-body .offer-contest__discount span{color:var(--offers-copy);font-size:.8rem;line-height:1.55}
.offers-body .offers-how__steps--contest{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.offers-body .offers-how__steps--contest strong{font-size:1.22rem}
.offers-body .offers-how__steps--contest p{font-size:.78rem}
.offers-body .offers-how__platform{color:var(--offers-gold);font-size:.66rem;letter-spacing:.075em}
@media(max-width:1100px) and (min-width:761px){.offers-body .offers-how__steps--contest{grid-template-columns:repeat(2,minmax(0,1fr))}.offers-body .offers-how__steps--contest li:last-child{grid-column:1 / -1}.offers-body .offers-how__steps--contest strong{font-size:1.45rem}}
@media(max-width:760px){.offers-body .offer-contest__discount{grid-template-columns:1fr;gap:8px;margin-bottom:25px;padding:17px 18px}.offers-body .offers-how__steps--contest{grid-template-columns:1fr}.offers-body .offers-how__steps--contest li:last-child{grid-column:auto}.offers-body .offers-how__steps--contest strong{font-size:1.55rem}.offers-body .offers-how__steps--contest p{font-size:.86rem}}

/* ODEON MIX layout correction 2026-09-15: align tablet and mobile composition. */
.offers-body .offer-contest{align-items:start}
.offers-body .offer-contest .offer-contest__media{align-self:start}
.offers-body .offer-contest .offer-contest__media picture{aspect-ratio:3 / 2}
.offers-body .offer-contest .offer-contest__media img{object-position:50% 50%}
.offers-body .offers-how__steps--contest>li>span{display:block;color:var(--offers-gold);font-size:.68rem;letter-spacing:.12em}
.offers-body .offers-how__steps--contest p{font-size:.875rem;line-height:1.6}
.offers-body .offers-how__platform{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--offers-line);font-size:.75rem;letter-spacing:.035em}
@media(max-width:1100px) and (min-width:861px){
  .offers-body .offers-how__steps--contest{grid-template-columns:repeat(6,minmax(0,1fr))}
  .offers-body .offers-how__steps--contest li{grid-column:span 3}
  .offers-body .offers-how__steps--contest li:nth-child(-n+3){grid-column:span 2}
  .offers-body .offers-how__steps--contest li:nth-child(n+4){grid-column:span 3}
}
@media(max-width:860px){
  body:has(.offers-body) .mobile-book{display:none!important}
  .offers-body .offer-card{grid-template-columns:1fr;gap:32px;align-items:start}
  .offers-body .offer-contest__media{grid-row:1;align-self:start}
  .offers-body .offer-contest .offer-card__copy{grid-row:2}
  .offers-body .offer-contest__media picture{aspect-ratio:3 / 2}
  .offers-body .offer-contest h2{max-width:13ch;font-size:clamp(2.55rem,7vw,3.6rem)}
  .offers-body .offer-contest .offer-card__text,
  .offers-body .offer-contest__prize,
  .offers-body .offer-contest .offer-card__note{max-width:56ch}
  .offers-body .offer-card--standing .offer-card__media{grid-row:1;width:100%;aspect-ratio:16 / 11}
  .offers-body .hours-editorial{grid-template-columns:1fr;gap:34px;padding-block:36px}
  .offers-body .offers-how__head{grid-template-columns:1fr;gap:0}
  .offers-body .offers-how__head>p:last-child{justify-self:start;margin-top:21px;max-width:56ch}
  .offers-body .offers-how__steps--contest{grid-template-columns:1fr;gap:0}
  .offers-body .offers-how__steps--contest li:last-child{grid-column:auto}
}

/* ODEON MIX sequence correction 2026-09-15: keep the mechanics with the contest. */
.offers-body .offer-contest + .offers-how--contest{
  position:relative;
  margin-top:-64px;
  padding-top:42px;
  border-top:1px solid rgb(212 173 103 / 34%);
}
.offers-body .offers-how--contest .micro-label{
  display:flex;
  grid-column:1 / -1;
  align-items:center;
  gap:16px;
  margin:0 0 20px;
  color:var(--offers-gold);
  letter-spacing:.14em;
}
.offers-body .offers-how--contest .micro-label::after{
  content:"";
  width:min(180px,22vw);
  height:1px;
  background:linear-gradient(90deg,rgb(212 173 103 / 52%),transparent);
}
@media(max-width:860px){
  .offers-body .offer-contest + .offers-how--contest{margin-top:-28px;padding-top:30px}
  .offers-body .offers-how--contest .micro-label{gap:12px;margin-bottom:16px;font-size:.62rem;letter-spacing:.11em}
  .offers-body .offers-how--contest .micro-label::after{width:min(100px,24vw)}
}

/* Review F12/F15: global motion control belongs to the photograph's outer corner.
   Keep the React-owned node in place; remove only its copy-box containing block. */
.offers-hero { position: relative; }
.offers-hero .offers-hero__copy { position: static; transform: none; translate: none; }
.offers-hero .offers-motion {
  inset: auto 24px 24px auto;
  max-width: calc(100% - 48px);
  min-height: 44px;
  border: 1px solid var(--line-gold, #d4ad675c);
  background: #11110f;
  color: #f2eee5;
  border-radius: var(--radius-pill, 999px);
  padding: 10px 16px;
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.35;
  text-align: left;
  backdrop-filter: none;
}
.offers-hero .offers-motion > [aria-hidden] { display: none; }
.offers-hero .offers-motion:hover:not(:disabled) { border-color: var(--offers-gold); background: #242219; }
.offers-hero .offers-motion:disabled { cursor: default; opacity: .8; }
@media(max-width:760px) {
  .offers-hero .offers-motion { position: static; inset: auto; margin-top: 24px; max-width: 100%; }
}
