@import url("https://fonts.googleapis.com/css2?family=Jost:wght@400..700&display=swap");
/* Helados Dahab — «Sabores en ondas»: cada color de la paleta cae como helado derretido (hebras del patrón de ondas) y abre un capítulo. */
.cs-dahab { --navy: #170073; --blue: #3843D0; --tomato: #F8623F; --yellow: #FFC466; --pink: #FF80A9; --aqua: #83E9E8; --purple: #8E59FF;
  position: relative; background: #fff; color: var(--navy); font-family: var(--f); overflow-x: clip; }
.cs-dahab .dh-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.cs-dahab h2, .cs-dahab h3, .cs-dahab p, .cs-dahab ol, .cs-dahab ul { margin: 0; }

/* ---------- base (móvil / movimiento reducido): capítulos apilados, cada uno gotea sobre el siguiente ---------- */
.cs-dahab .dh-ch { position: relative; background: var(--bg); color: var(--navy); padding: 104px var(--gutter) 64px; }
.cs-dahab .dh-ch--0 { z-index: 8; padding-top: 250px; }
.cs-dahab .dh-ch--1 { z-index: 7; color: #fff; }
.cs-dahab .dh-ch--2 { z-index: 6; color: #fff; }
.cs-dahab .dh-ch--3 { z-index: 5; }
.cs-dahab .dh-ch--4 { z-index: 4; }
.cs-dahab .dh-ch--5 { z-index: 3; }
.cs-dahab .dh-ch--6 { z-index: 2; }
.cs-dahab .dh-ch--7 { z-index: 1; color: #fff; }
.cs-dahab .dh-ch--2, .cs-dahab .dh-ch--3, .cs-dahab .dh-ch--4, .cs-dahab .dh-ch--5, .cs-dahab .dh-ch--6, .cs-dahab .dh-ch--7 { padding-top: 230px; }
.cs-dahab .dh-ch__in { position: relative; }
.cs-dahab .dh-edge { position: absolute; top: 100%; left: 0; width: 640px; height: auto; margin-top: -1px; color: var(--bg); overflow: visible; pointer-events: none; }
.cs-dahab .dh-ch--7 .dh-edge { display: none; }

.cs-dahab .dh-lab { font: 600 12px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; opacity: .78; }
.cs-dahab .dh-h2 { margin-top: 18px; font-weight: 800; font-size: clamp(40px, 4.7vw, 78px); line-height: .98; letter-spacing: -.025em; font-variation-settings: "wdth" 100; text-wrap: balance; }
.cs-dahab .dh-lede { margin-top: 22px; max-width: 31em; font-size: var(--t-lede); line-height: 1.5; color: rgba(23, 0, 115, .74); }
.cs-dahab .dh-h3 { margin: 16px 0 20px; font-weight: 800; font-size: clamp(32px, 3.5vw, 58px); line-height: 1; letter-spacing: -.025em; text-wrap: balance; }
.cs-dahab .dh-h3--xl { font-size: clamp(42px, 5.4vw, 92px); line-height: .94; letter-spacing: -.035em; }
.cs-dahab .dh-p { max-width: 30em; font-size: 18px; line-height: 1.5; font-weight: 450; }

/* intro */
.cs-dahab .dh-hang { position: absolute; top: -250px; right: 0; width: 60%; height: 230px; display: flex; align-items: flex-start; justify-content: space-between; overflow: hidden; }
.cs-dahab .dh-hang__s { flex: none; width: 15%; height: auto; overflow: visible; transform: translateY(-82%); }
.cs-dahab .dh-hang__s:nth-child(even) { transform: translateY(-86%); }
.cs-dahab .dh-logo-wrap { margin-top: 48px; width: 100%; max-width: 640px; }
.cs-dahab .dh-logo { display: block; width: 100%; height: auto; overflow: visible; }
.cs-dahab .dh-l { fill: var(--navy); }
.cs-dahab .dh-hint { display: none; }

/* 01 logotipo */
.cs-dahab .dh-mark-wrap { width: 62%; max-width: 360px; margin-bottom: 36px; }
.cs-dahab .dh-mark { display: block; width: 100%; height: auto; color: #fff; overflow: visible; }
.cs-dahab .dh-wm { display: block; width: 210px; height: auto; margin-top: 34px; }

/* 02 tipografía (glifos reales de Claudio extraídos del BrandBook; Jost de Google Fonts) */
.cs-dahab .dh-aa { width: 70%; max-width: 380px; margin-bottom: 34px; }
.cs-dahab .dh-aa__g { display: block; width: 100%; height: auto; color: #fff; overflow: visible; }
.cs-dahab .dh-aa .dh-lab { margin-top: 14px; }
.cs-dahab .dh-spec { margin: 6px 0 14px; }
.cs-dahab .dh-spec__l { display: block; overflow: hidden; padding: 4px 0; }
.cs-dahab .dh-spec__w { display: block; height: 46px; width: auto; max-width: 100%; }
.cs-dahab .dh-spec__w--1 { color: var(--yellow); }
.cs-dahab .dh-spec__w--2 { color: var(--aqua); }
.cs-dahab .dh-cap { max-width: 30em; font-size: 14.5px; line-height: 1.45; opacity: .85; }
.cs-dahab .dh-cap b { font-weight: 700; margin-right: 4px; }
.cs-dahab .dh-jost { margin: 30px 0 8px; font-family: "Jost", var(--f); font-size: clamp(34px, 3.6vw, 58px); line-height: 1; letter-spacing: -.01em; }
.cs-dahab .dh-jost span { display: inline-block; }

/* 03 promesa */
.cs-dahab .dh-big { margin: 18px 0 0; font-weight: 800; font-size: 17vw; line-height: .84; letter-spacing: -.03em; text-transform: uppercase; --w: 100; font-variation-settings: "wdth" var(--w); }
.cs-dahab .dh-big__w { display: block; overflow: hidden; padding-bottom: .04em; }
.cs-dahab .dh-big__w > span { display: inline-block; }
.cs-dahab .dh-lid { position: relative; width: 74%; max-width: 420px; margin: 34px 0 30px auto; }
.cs-dahab .dh-lid__disc { position: relative; display: block; filter: drop-shadow(0 2px 1.5px rgba(70, 12, 0, .35)) drop-shadow(0 16px 18px rgba(90, 18, 0, .3)) drop-shadow(0 44px 54px rgba(60, 0, 30, .22)); }
.cs-dahab .dh-lid img { display: block; width: 100%; height: auto; }
.cs-dahab .dh-burst { position: absolute; left: -25%; top: -25%; width: 150%; height: 150%; color: var(--yellow); }

/* 03 patrón */
.cs-dahab .dh-pat { position: relative; display: flex; align-items: flex-start; justify-content: space-between; height: 300px; margin-top: 40px; overflow: hidden; }
.cs-dahab .dh-pat__s { flex: none; width: 15%; height: auto; overflow: visible; }
.cs-dahab .dh-pat__s:nth-child(even) { margin-top: -20px; }
.cs-dahab .dh-star { position: absolute; left: 6%; bottom: 18px; width: 92px; height: 92px; color: var(--navy); }

/* 04 voz */
.cs-dahab .dh-posters { position: relative; height: 92vw; max-height: 440px; margin-top: 44px; }
.cs-dahab .dh-po { position: absolute; top: 8%; width: 44%; max-width: 300px; height: auto; border-radius: 4px; box-shadow: 0 1px 2px rgba(23, 0, 115, .3), 0 14px 24px -8px rgba(23, 0, 115, .35), 0 46px 70px -28px rgba(23, 0, 115, .45); }
.cs-dahab .dh-po--1 { left: 0; transform: rotate(-8deg); }
.cs-dahab .dh-po--2 { left: 28%; top: 0; transform: rotate(2deg); z-index: 2; }
.cs-dahab .dh-po--3 { right: 0; transform: rotate(9deg); }

/* 05 envases */
.cs-dahab .dh-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; padding: 0; list-style: none; }
.cs-dahab .dh-chips li { padding: 8px 14px; border: 1.5px solid currentColor; border-radius: 99px; font: 600 11.5px/1.2 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.cs-dahab .dh-pack { display: flex; align-items: flex-end; justify-content: center; gap: 6%; margin-top: 44px; }
.cs-dahab .dh-obj { position: relative; margin: 0; }
.cs-dahab .dh-obj img { position: relative; z-index: 1; display: block; width: 100%; height: auto; filter: drop-shadow(0 2px 1.5px rgba(10, 40, 60, .3)) drop-shadow(0 14px 16px rgba(10, 50, 70, .22)); }
.cs-dahab .dh-obj::after { content: ""; position: absolute; left: 6%; right: 6%; bottom: -3%; height: 9%; border-radius: 50%; background: radial-gradient(closest-side, rgba(8, 40, 60, .5), rgba(8, 40, 60, .18) 55%, transparent); filter: blur(6px); }
.cs-dahab .dh-cover::after { left: 18%; right: 18%; bottom: -2.5%; height: 7%; }
.cs-dahab .dh-tub { width: 50%; max-width: 320px; }
.cs-dahab .dh-cover { width: 44%; max-width: 300px; }

/* 06 crecimiento */
.cs-dahab .dh-road { margin-top: 34px; }
.cs-dahab .dh-road__line { display: none; }
.cs-dahab .dh-stops { position: relative; padding: 0 0 0 34px; list-style: none; }
.cs-dahab .dh-stops::before { content: ""; position: absolute; left: 10px; top: 10px; bottom: 10px; width: 3px; border-radius: 3px; background: rgba(255, 255, 255, .85); }
.cs-dahab .dh-stop { position: relative; display: block; padding: 0 0 26px; }
.cs-dahab .dh-stop__dot { position: absolute; left: -34px; top: 2px; width: 23px; height: 23px; border-radius: 50%; border: 4px solid #fff; background: var(--dot); }
.cs-dahab .dh-stop--1 { --dot: var(--yellow); }
.cs-dahab .dh-stop--2 { --dot: var(--aqua); }
.cs-dahab .dh-stop--3 { --dot: var(--pink); }
.cs-dahab .dh-stop--4 { --dot: var(--tomato); }
.cs-dahab .dh-stop__t { display: block; font-weight: 800; font-size: 24px; line-height: 1.1; letter-spacing: -.01em; }
.cs-dahab .dh-stop__p { display: block; margin-top: 6px; max-width: 24em; font-size: 16.5px; line-height: 1.45; }

.cs-dahab .dh-foot { display: flex; align-items: center; gap: 14px; margin-top: 48px; }
.cs-dahab .dh-foot__n { margin-right: 10px; font: 600 11.5px/1 var(--mono); letter-spacing: .08em; }
.cs-dahab .dh-foot__n i { font-style: normal; opacity: .55; }
.cs-dahab .dh-foot__drop { width: 17px; height: 28px; overflow: visible; }
.cs-dahab .dh-foot__drop use { stroke: var(--tk, var(--navy)); stroke-width: 22; }
.cs-dahab .dh-ch--1, .cs-dahab .dh-ch--2, .cs-dahab .dh-ch--7 { --tk: #fff; }
.cs-dahab .dh-foot__name { font-weight: 700; font-size: 17px; letter-spacing: -.01em; }
.cs-dahab .dh-foot__hex { font: 600 12px/1 var(--mono); letter-spacing: .08em; opacity: .72; }

@media (max-width: 899px) {
  .cs-dahab:not(.is-m) .dh-ch__in { transform: none !important; }
}

/* escritorio con movimiento reducido: apilado, pero a escala de escritorio */
@media (min-width: 900px) and (prefers-reduced-motion: reduce) {
  .cs-dahab .dh-edge { width: 100%; }
  .cs-dahab .dh-ch--2, .cs-dahab .dh-ch--3, .cs-dahab .dh-ch--4, .cs-dahab .dh-ch--5, .cs-dahab .dh-ch--6, .cs-dahab .dh-ch--7 { padding-top: 36vw; }
  .cs-dahab .dh-ch__in { max-width: 1100px; }
  .cs-dahab .dh-big { font-size: 12vw; }
  .cs-dahab .dh-posters { height: 470px; max-height: none; max-width: 760px; }
  .cs-dahab .dh-po { width: 34%; }
  .cs-dahab .dh-pack { max-width: 760px; }
}
@media (prefers-reduced-motion: reduce) {
  .cs-dahab *, .cs-dahab *::before { animation: none !important; transition: none !important; }
  .cs-dahab .dh-ch, .cs-dahab .dh-ch__in { transform: none !important; }
}

/* ---------- escritorio: un escenario fijo; cada color cae como un telón de ondas derretidas ---------- */
@media (min-width: 900px) and (prefers-reduced-motion: no-preference) {
  .cs-dahab .dh-stage { position: relative; height: 100vh; overflow: hidden; background: #fff; }
  .cs-dahab .dh-ch { position: absolute; inset: 0; padding: 0 !important; background: none; will-change: transform; }
  .cs-dahab .dh-ch--0 { z-index: 0; }
  .cs-dahab .dh-ch--1 { z-index: 1; } .cs-dahab .dh-ch--2 { z-index: 2; } .cs-dahab .dh-ch--3 { z-index: 3; } .cs-dahab .dh-ch--4 { z-index: 4; }
  .cs-dahab .dh-ch--5 { z-index: 5; } .cs-dahab .dh-ch--6 { z-index: 6; } .cs-dahab .dh-ch--7 { z-index: 7; }
  .cs-dahab .dh-ch:not(.dh-ch--0) { transform: translateY(calc(-100% - 48vw)); }
  .cs-dahab .dh-ch__body { position: absolute; inset: 0; z-index: 1; overflow: hidden; background: var(--bg); } /* sobre sus propias hebras: al recogerse no tapan la etiqueta del color */
  .cs-dahab .dh-ch__in { position: absolute; inset: 0; }
  .cs-dahab .dh-edge { width: 133.4vw; left: var(--ex, 0); }
  .cs-dahab .dh-ch--3 .dh-edge { --ex: -21vw; } .cs-dahab .dh-ch--4 .dh-edge { --ex: -9vw; } .cs-dahab .dh-ch--2 .dh-edge { --ex: -12vw; } .cs-dahab .dh-ch--5 .dh-edge { --ex: -30vw; }
  .cs-dahab .dh-ch--6 .dh-edge { --ex: -15vw; } .cs-dahab .dh-ch--7 .dh-edge { --ex: -26vw; display: block; }

  .cs-dahab .dh-foot { position: absolute; left: var(--gutter); right: var(--gutter); bottom: 30px; margin: 0; }
  .cs-dahab .dh-copy { position: absolute; left: var(--gutter); top: 50%; transform: translateY(-46%); width: 40vw; }

  /* intro */
  .cs-dahab .dh-intro { position: absolute; left: var(--gutter); top: max(130px, 17vh); width: 44vw; }
  .cs-dahab .dh-logo-wrap { position: absolute; left: var(--gutter); bottom: 12vh; margin: 0; width: min(50vw, 74vh); max-width: none; }
  .cs-dahab .dh-hang { top: 0; right: var(--gutter); width: 34vw; height: 100%; overflow: visible; }
  .cs-dahab .dh-hang__s { width: 4.9vw; }
  .cs-dahab .dh-hang__s:nth-child(1) { transform: translateY(-74%); } .cs-dahab .dh-hang__s:nth-child(2) { transform: translateY(-80%); }
  .cs-dahab .dh-hang__s:nth-child(3) { transform: translateY(-71%); } .cs-dahab .dh-hang__s:nth-child(4) { transform: translateY(-78%); }
  .cs-dahab .dh-hang__s:nth-child(5) { transform: translateY(-73%); } .cs-dahab .dh-hang__s:nth-child(6) { transform: translateY(-81%); }
  .cs-dahab .dh-hint { position: absolute; left: var(--gutter); bottom: 30px; display: flex; align-items: center; gap: 12px; font: 600 11.5px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
  .cs-dahab .dh-hint i { position: relative; width: 2px; height: 28px; overflow: hidden; background: rgba(23, 0, 115, .18); }
  .cs-dahab .dh-hint i::after { content: ""; position: absolute; left: 0; top: -100%; width: 100%; height: 100%; background: var(--navy); animation: dh-drop 1.8s var(--ease-out) infinite; }

  /* 01 */
  .cs-dahab .dh-mark-wrap { position: absolute; left: -5vh; top: 50%; width: auto; max-width: none; height: 84vh; margin: 0; transform: translateY(-50%); }
  .cs-dahab .dh-mark { width: auto; height: 100%; }
  .cs-dahab .dh-copy--r { left: auto; right: var(--gutter); width: 38vw; }

  /* tipografía */
  .cs-dahab .dh-aa { position: absolute; left: var(--gutter); top: 50%; width: min(40vw, 74vh); max-width: none; margin: 0; transform: translateY(-50%); }
  .cs-dahab .dh-type { width: 40vw; }
  .cs-dahab .dh-spec__w { height: min(4.2vw, 8vh); }

  /* 03 */
  .cs-dahab .dh-lab--top { position: absolute; left: var(--gutter); top: max(118px, 15vh); }
  .cs-dahab .dh-big { position: absolute; left: calc(var(--gutter) - .6vw); top: 50%; margin: 0; font-size: min(13.4vw, 27vh); --w: 125; transform: translateY(-52%); }
  .cs-dahab .dh-lid { position: absolute; right: 6vw; top: 50%; width: min(29vw, 54vh, 360px); max-width: none; margin: 0; transform: translateY(-50%); }
  .cs-dahab .dh-p--2 { position: absolute; left: var(--gutter); bottom: 88px; max-width: 24em; }

  /* 03 */
  .cs-dahab .dh-pat { position: absolute; right: var(--gutter); top: 0; height: 100%; width: 44vw; margin: 0; overflow: visible; }
  .cs-dahab .dh-pat__s { width: 6.6vw; margin: 0 !important; }
  .cs-dahab .dh-star { left: -4.5vw; bottom: 17vh; width: min(10vw, 19vh); height: auto; }

  /* 04 */
  .cs-dahab .dh-posters { position: absolute; right: 5vw; top: 50%; width: 46vw; height: min(64vh, 34vw); max-height: none; margin: 0; transform: translateY(-46%); }
  .cs-dahab .dh-po { width: min(16.5vw, 33vh); top: 12%; }
  .cs-dahab .dh-po--1 { left: 2%; } .cs-dahab .dh-po--2 { left: 50%; top: 0; margin-left: max(-8.25vw, -16.5vh); } .cs-dahab .dh-po--3 { right: 2%; }

  /* 05 */
  .cs-dahab .dh-pack { position: absolute; left: 47vw; right: var(--gutter); bottom: 12vh; height: 72vh; margin: 0; gap: 0; }
  .cs-dahab .dh-tub { position: absolute; left: 2vw; bottom: 0; width: min(22.5vw, 44vh, 320px); }
  .cs-dahab .dh-cover { position: absolute; left: min(25vw, 48vh, 335px); bottom: 0; width: min(20.5vw, 41vh, 300px); }

  /* 06 */
  .cs-dahab .dh-ch--7 .dh-copy { top: max(118px, 15vh); transform: none; width: 60vw; }
  .cs-dahab .dh-road { position: absolute; left: var(--gutter); right: var(--gutter); top: 56%; height: 160px; margin: 0; }
  .cs-dahab .dh-road__line { display: block; width: 100%; height: 100%; color: #fff; overflow: visible; }
  .cs-dahab .dh-stops { position: absolute; inset: 0; padding: 0; }
  .cs-dahab .dh-stops::before { display: none; }
  .cs-dahab .dh-stop { position: absolute; width: 21vw; padding: 0; text-align: center; transform: translateX(-50%); }
  .cs-dahab .dh-stop__dot { position: relative; left: auto; top: auto; display: block; margin: 0 auto; width: 26px; height: 26px; }
  .cs-dahab .dh-stop__p { margin-inline: auto; }
  .cs-dahab .dh-stop--1, .cs-dahab .dh-stop--3 { top: 17%; display: flex; flex-direction: column; transform: translate(-50%, calc(-100% + 13px)); }
  .cs-dahab .dh-stop--1 .dh-stop__dot, .cs-dahab .dh-stop--3 .dh-stop__dot { margin-top: 16px; }
  .cs-dahab .dh-stop--2, .cs-dahab .dh-stop--4 { top: 83%; transform: translate(-50%, -13px); }
  .cs-dahab .dh-stop--2 .dh-stop__dot, .cs-dahab .dh-stop--4 .dh-stop__dot { margin-bottom: 16px; }
  .cs-dahab .dh-stop--1 { left: 12.5%; } .cs-dahab .dh-stop--2 { left: 37.5%; } .cs-dahab .dh-stop--3 { left: 62.5%; } .cs-dahab .dh-stop--4 { left: 87.5%; }
  .cs-dahab .dh-stop--1 .dh-stop__p, .cs-dahab .dh-stop--3 .dh-stop__p { margin-top: 6px; }
  .cs-dahab .dh-stop--1 .dh-stop__t, .cs-dahab .dh-stop--3 .dh-stop__t { order: 1; }
  .cs-dahab .dh-stop--1 .dh-stop__p, .cs-dahab .dh-stop--3 .dh-stop__p { order: 2; }
  .cs-dahab .dh-stop--1 .dh-stop__dot, .cs-dahab .dh-stop--3 .dh-stop__dot { order: 3; }
}
@keyframes dh-drop { 0% { top: -100%; } 60%, 100% { top: 100%; } }

/* ---------- móvil y tablet con JS: el mismo escenario fijo, compuesto en vertical ---------- */
@media (max-width: 899px) and (prefers-reduced-motion: no-preference) {
  .cs-dahab.is-m { --mt: 92px; --mb: 96px; }
  .cs-dahab.is-m .dh-stage { position: relative; height: 100vh; height: 100svh; min-height: 600px; overflow: hidden; background: #fff; }
  .cs-dahab.is-m .dh-ch { position: absolute; inset: 0; padding: 0 !important; background: none; will-change: transform; }
  .cs-dahab.is-m .dh-ch--0 { z-index: 0; }
  .cs-dahab.is-m .dh-ch--1 { z-index: 1; } .cs-dahab.is-m .dh-ch--2 { z-index: 2; } .cs-dahab.is-m .dh-ch--3 { z-index: 3; } .cs-dahab.is-m .dh-ch--4 { z-index: 4; }
  .cs-dahab.is-m .dh-ch--5 { z-index: 5; } .cs-dahab.is-m .dh-ch--6 { z-index: 6; } .cs-dahab.is-m .dh-ch--7 { z-index: 7; }
  .cs-dahab.is-m .dh-ch:not(.dh-ch--0) { transform: translateY(-140%); }
  .cs-dahab.is-m .dh-ch__body { position: absolute; inset: 0; z-index: 1; overflow: hidden; background: var(--bg); }
  .cs-dahab.is-m .dh-ch__in { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; gap: 0;
    padding: var(--mt) var(--gutter) calc(var(--mb) + 50px); }
  .cs-dahab.is-m .dh-edge { width: 240vw; left: var(--ex, 0); }
  .cs-dahab.is-m .dh-ch--2 .dh-edge { --ex: -40vw; } .cs-dahab.is-m .dh-ch--3 .dh-edge { --ex: -90vw; } .cs-dahab.is-m .dh-ch--4 .dh-edge { --ex: -20vw; }
  .cs-dahab.is-m .dh-ch--5 .dh-edge { --ex: -120vw; } .cs-dahab.is-m .dh-ch--6 .dh-edge { --ex: -60vw; } .cs-dahab.is-m .dh-ch--7 .dh-edge { --ex: -100vw; display: block; }

  .cs-dahab.is-m .dh-foot { position: absolute; left: var(--gutter); right: var(--gutter); bottom: calc(var(--mb) + 4px); z-index: 3; margin: 0; gap: 10px; }
  .cs-dahab.is-m .dh-foot__name { font-size: 15px; }
  .cs-dahab.is-m .dh-copy { position: relative; }
  .cs-dahab.is-m .dh-h3 { font-size: clamp(30px, 8.4vw, 44px); margin: 12px 0 14px; }
  .cs-dahab.is-m .dh-h3--xl { font-size: clamp(36px, 10.4vw, 56px); }
  .cs-dahab.is-m .dh-p { font-size: 16px; }

  /* intro: las hebras cuelgan arriba, el texto al centro y el logotipo abajo */
  .cs-dahab.is-m .dh-ch--0 .dh-ch__in { justify-content: flex-end; }
  .cs-dahab.is-m .dh-hang { position: absolute; top: 0; left: auto; right: var(--gutter); width: 78%; height: 100%; overflow: visible; pointer-events: none; }
  .cs-dahab.is-m .dh-hang__s { width: 14%; transform: translateY(-88%); }
  .cs-dahab.is-m .dh-intro { position: relative; z-index: 1; }
  .cs-dahab.is-m .dh-h2 { font-size: clamp(34px, 9.2vw, 52px); }
  .cs-dahab.is-m .dh-lede { font-size: 16.5px; margin-top: 16px; }
  .cs-dahab.is-m .dh-logo-wrap { margin-top: 34px; width: 74%; max-width: 420px; }

  /* 01 */
  .cs-dahab.is-m .dh-mark-wrap { width: 44%; max-width: 260px; margin: 0 0 30px; }
  .cs-dahab.is-m .dh-wm { width: 150px; margin-top: 22px; }

  /* 02 */
  .cs-dahab.is-m .dh-aa { width: 46%; max-width: 280px; margin: 0 0 26px; }
  .cs-dahab.is-m .dh-spec__w { height: clamp(34px, 9.6vw, 52px); }
  .cs-dahab.is-m .dh-jost { margin: 18px 0 6px; font-size: clamp(30px, 8.6vw, 46px); }

  /* 03 */
  .cs-dahab.is-m .dh-big { font-size: clamp(64px, 19vw, 150px); margin: 14px 0 0; }
  .cs-dahab.is-m .dh-lid { width: 50%; max-width: 300px; margin: 44px 8% 40px auto; }
  .cs-dahab.is-m .dh-burst { z-index: -1; }

  /* 04 */
  .cs-dahab.is-m .dh-ch--4 .dh-ch__in { justify-content: flex-start; padding-top: calc(var(--mt) + 8px); }
  .cs-dahab.is-m .dh-pat { flex: 1; height: auto; min-height: 0; margin-top: 26px; overflow: hidden; }
  .cs-dahab.is-m .dh-pat__s { width: 14%; transform: translateY(-78%); }
  .cs-dahab.is-m .dh-star { left: auto; right: 4%; bottom: 6px; width: 84px; height: 84px; }

  /* 05 */
  .cs-dahab.is-m .dh-posters { height: min(66vw, 34vh); max-height: none; margin-top: 30px; }
  .cs-dahab.is-m .dh-po { width: auto; height: 86%; max-width: none; top: 10%; }
  .cs-dahab.is-m .dh-po--1 { left: 0; } .cs-dahab.is-m .dh-po--2 { left: 50%; top: 0; translate: -50% 0; } .cs-dahab.is-m .dh-po--3 { right: 0; left: auto; }

  /* 06 */
  .cs-dahab.is-m .dh-pack { height: min(48vw, 26vh); margin-top: 30px; position: relative; gap: 0; }
  .cs-dahab.is-m .dh-tub { position: absolute; left: 6%; bottom: 0; width: auto; height: 100%; max-width: none; }
  .cs-dahab.is-m .dh-cover { position: absolute; right: 6%; bottom: 0; width: auto; height: 90%; max-width: none; }
  .cs-dahab.is-m .dh-obj img { width: auto; height: 100%; }

  /* 07 */
  .cs-dahab.is-m .dh-road { margin-top: 24px; }
  .cs-dahab.is-m .dh-stops::before { display: none; }
  .cs-dahab.is-m .dh-stops__ln { position: absolute; left: 10px; top: 10px; bottom: 30px; width: 3px; border-radius: 3px; background: rgba(255, 255, 255, .85); transform-origin: 50% 0; }
  .cs-dahab.is-m .dh-stop { padding-bottom: 20px; }
  .cs-dahab.is-m .dh-stop__t { font-size: 21px; }
  .cs-dahab.is-m .dh-stop__p { font-size: 15px; }
}
@media (min-width: 761px) and (max-width: 899px) and (prefers-reduced-motion: no-preference) {
  .cs-dahab.is-m { --mt: 110px; --mb: 40px; }
  .cs-dahab.is-m .dh-ch__in { padding-inline: 9vw; }
  .cs-dahab.is-m .dh-foot { left: 9vw; right: 9vw; }
}
