/* =========================================================
   CIAO Travels · Destinations (destinations.html)
   Page-scoped: every selector is .p-destinations / dz-*
   v2: hero = Captain CIAO with binoculars (no boarding pass), the
   "Non vedi la tua meta?" form closes the grid, combo builder without
   the pass, shared openers and finale.
   v3: openers = no header (grid) · op-bubble (combo) · ink finale; the
   cruises moved to their one home (services #crociere) and are a tile
   here; phones get a 2-column list of compact tiles that open on tap.
   ========================================================= */
.p-destinations{--dz-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}

/* ---------------------------------------------------------
   1 · HERO
   --------------------------------------------------------- */
.dz-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--white);
  display:flex;flex-direction:column;min-height:clamp(820px,100svh,1180px);padding:calc(var(--hdr) + 18px) 0 50px}
.dz-hero__bg{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(48% 62% at 74% 52%,rgba(253,182,28,.17),rgba(253,182,28,.04) 55%,transparent 72%),
             linear-gradient(180deg,var(--ink) 0,var(--ink-2) 100%)}
.dz-hero__bg::before{content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(253,182,28,.28) 1.2px,transparent 1.5px);background-size:16px 16px;
  -webkit-mask:radial-gradient(58% 70% at 74% 52%,#000 0,transparent 75%);mask:radial-gradient(58% 70% at 74% 52%,#000 0,transparent 75%);opacity:.45}
.dz-hero__bg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 44px);
  -webkit-mask:linear-gradient(transparent,#000);mask:linear-gradient(transparent,#000)}

.dz-hero__grid{position:relative;flex:1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto auto 1fr;column-gap:clamp(24px,3vw,56px)}
.dz-hero__eyebrow{grid-column:1/-1;grid-row:1;margin-bottom:.6rem;position:relative;z-index:5}
.dz-hero__n{font-weight:800;color:var(--white);letter-spacing:.12em}

/* the type sandwich: line A behind the globe, line B (script) in front */
.dz-h1{grid-column:1/-1;grid-row:2;align-self:start;margin:0;font-weight:900;text-transform:uppercase;letter-spacing:-.05em;line-height:.84}
.dz-h1__a{display:block;position:relative;z-index:1;font-size:clamp(4.2rem,14.4vw,15.5rem);color:var(--white);white-space:nowrap}
.dz-h1__b{display:block;position:relative;z-index:6;width:max-content;max-width:100%;margin:-.18em 0 .1em .06em;font-size:clamp(2.7rem,5.6vw,6.2rem);line-height:1.12;letter-spacing:0;pointer-events:none}
.dz-h1__b .script{color:var(--y);text-shadow:0 6px 30px rgba(11,11,12,.85)}
.dz-slot{display:block;overflow:hidden;padding:0 .06em .12em;margin:0 -.06em -.12em}
.dz-h1__b .dz-slot{overflow:visible;padding:0;margin:0}
.dz-slot>span{display:inline-block}
@media (prefers-reduced-motion:no-preference){
  .dz-h1__a .dz-slot>span{animation:dzRise 1.1s var(--ease) .15s both}
  .dz-h1__b .dz-slot>span{animation:dzInk 1.25s cubic-bezier(.6,.05,.25,1) .7s both}
  .dz-stage{animation:dzStageIn 1.4s var(--ease) .35s both}
  .dz-hero__side>*{animation:dzRiseSm .9s var(--ease) both}
  .dz-hero__side>*:nth-child(1){animation-delay:.9s}.dz-hero__side>*:nth-child(2){animation-delay:1.05s}
}
@keyframes dzRise{from{transform:translateY(102%)}}
@keyframes dzRiseSm{from{transform:translateY(26px);opacity:0}}
@keyframes dzInk{from{clip-path:inset(-30% 100% -40% -10%)}to{clip-path:inset(-30% -10% -40% -10%)}}
@keyframes dzStageIn{from{transform:scale(.9) translateY(30px);opacity:0}}

/* globe stage. The globe box is inset (--gx/--gt/--gr/--gb, fractions of the stage) so Captain CIAO
   can stand at its lower-left edge and look at it through his binoculars. */
.dz-stage{--fit:.86;--gx:.2;--gt:0;--gr:0;--gb:0;grid-column:2;grid-row:2/4;align-self:end;position:relative;z-index:2;container-type:size;
  height:clamp(470px,calc(100svh - 330px),820px);margin:calc(clamp(4.2rem,14.4vw,15.5rem) * .42) calc(-1 * clamp(8px,2vw,40px)) 8px 0}
.dz-globe{position:absolute;z-index:2;left:calc(var(--gx) * 100%);top:calc(var(--gt) * 100%);right:calc(var(--gr) * 100%);bottom:calc(var(--gb) * 100%)}
.dz-globe .cg-anchor img,.dz-globe .cg-anchor canvas{max-width:none}
.dz-globe .cg-pin[data-id="verona"],.dz-globe .cg-pin[data-id="colombo"]{background:var(--y);color:var(--ink);border-color:var(--ink)}
.dz-globe .cg--compact .cg-pin[data-id="verona"],.dz-globe .cg--compact .cg-pin[data-id="colombo"]{border-color:var(--white)}
.dz-globe .dz-fb{position:absolute;inset:0;width:100%;height:100%}
/* dashed orbit ring around the globe (centred on the globe box) */
.dz-stage__orbit{--bw:calc((1 - var(--gx) - var(--gr)) * 100cqw);--bh:calc((1 - var(--gt) - var(--gb)) * 100cqh);
  position:absolute;z-index:1;left:calc(var(--gx) * 100cqw + var(--bw) / 2);top:calc(var(--gt) * 100cqh + var(--bh) / 2);
  width:calc(var(--fit) * min(var(--bw),var(--bh)) * 1.2);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  border:1.5px dashed rgba(253,182,28,.28);pointer-events:none}
.dz-stage__orbit i{position:absolute;inset:-9%;border-radius:50%;border:1px solid rgba(253,182,28,.08)}
.dz-stage__orbit::before,.dz-stage__orbit::after{content:"";position:absolute;left:50%;width:2px;height:14px;margin-left:-1px;background:rgba(253,182,28,.5)}
.dz-stage__orbit::before{top:-7px}.dz-stage__orbit::after{bottom:-7px}
@media (prefers-reduced-motion:no-preference){.dz-stage__orbit{animation:dzSpin 90s linear infinite}}
@keyframes dzSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}

/* Captain CIAO (captain-binoculars): the page's one large Captain, spotting destinations on the globe */
.p-destinations .dz-spot{position:absolute;z-index:4;left:-2%;bottom:-1%;width:auto;height:min(66cqh,500px);max-width:none;
  filter:drop-shadow(0 26px 30px rgba(0,0,0,.6)) drop-shadow(0 0 40px rgba(253,182,28,.12))}
@media (prefers-reduced-motion:no-preference){
  .p-destinations .dz-spot{animation:dzSpotIn 1.1s var(--ease) .45s both,hover 6s ease-in-out 1.6s infinite}
}
@keyframes dzSpotIn{from{translate:-60px 30px;opacity:0}}

.dz-stage__hint{position:absolute;z-index:5;right:3%;bottom:calc(4% + 96px);display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line-l);background:rgba(11,11,12,.6);color:var(--mist);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dz-stage__hint .icon{width:16px;height:16px;color:var(--y)}
/* pin legend (bottom right of the stage) */
.dz-legend{position:absolute;z-index:5;right:3%;bottom:4%;display:flex;flex-direction:column;gap:7px;padding:10px 14px;border-radius:14px;border:1px solid var(--line-l);background:rgba(11,11,12,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#d8d8de;pointer-events:none}
.dz-legend li{display:flex;align-items:center;gap:9px}
.dz-legend i{flex:none;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;border:2px solid var(--y);background:var(--ink)}
.dz-legend i::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--y)}
.dz-legend i.dz-legend__home{background:var(--y);border-color:var(--white)}
.dz-legend i.dz-legend__home::before{background:var(--ink)}
.dz-legend i.dz-legend__pop::before{width:10px;height:10px;border-radius:0;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
/* the six famous destinations: star marker on the globe */
.dz-globe .cg-pin.dz-pop i{width:12px;height:12px;border-radius:0;box-shadow:none;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.dz-globe .cg--compact .cg-pin.dz-pop{padding:3px;box-shadow:0 0 0 3px rgba(253,182,28,.25),0 4px 14px rgba(0,0,0,.5)}
.dz-globe .cg--compact .cg-pin.dz-pop:is(:hover,:focus-visible,.is-active){padding:3px 12px 3px 3px}
.dz-globe .cg--compact .cg-anchor--left .cg-pin.dz-pop:is(:hover,:focus-visible,.is-active){padding:3px 3px 3px 12px}

/* left column */
.dz-hero__side{grid-column:1;grid-row:3;align-self:end;position:relative;z-index:5;display:flex;flex-direction:column;gap:22px;padding-bottom:22px}
.dz-hero__lead{color:#cfcfd6;max-width:44ch;font-size:clamp(1rem,1.15vw,1.12rem)}

/* "Nel mirino / In sight": an editorial readout, no pass */
.dz-spy{position:relative;max-width:560px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}
.dz-spy::before{content:"";position:absolute;left:0;top:-2px;width:64px;height:3px;background:var(--y)}
.dz-spy__top{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;min-height:26px;font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--mist)}
.dz-spy__k{display:inline-flex;align-items:center;gap:9px;margin-right:6px;color:var(--y)}
.dz-spy__k i{position:relative;width:14px;height:14px;border-radius:50%;border:2px solid currentColor}
.dz-spy__k i::before{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:currentColor}
.dz-spy__kind{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:999px;border:1px solid var(--ink-4);background:var(--ink-2);color:#e4e4ea;letter-spacing:.12em}
.dz-spy__kind .icon{width:13px;height:13px;color:var(--y)}
.dz-spy__kind--pair .icon{fill:var(--y)}
.dz-spy__head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 22px;margin-top:12px}
.dz-spy__route{display:flex;align-items:center;gap:12px;line-height:1}
.dz-spy__from{font-family:var(--dz-mono);font-weight:800;font-size:.95rem;letter-spacing:.04em;color:var(--mist)}
.dz-spy__line{position:relative;width:clamp(44px,5vw,72px);height:2px;background:repeating-linear-gradient(90deg,var(--mist) 0 5px,transparent 5px 10px);opacity:.8}
.dz-spy__line .plane{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;color:var(--y)}
.dz-spy__code{font-weight:900;font-size:clamp(3rem,4.4vw,4.3rem);letter-spacing:-.05em;line-height:.82;color:var(--y)}
.dz-spy__code.is-q{color:transparent;-webkit-text-stroke:2px var(--y)}
.dz-spy__id{min-width:0;padding-bottom:2px}
.dz-spy__name{font-weight:900;font-size:clamp(1.15rem,1.5vw,1.4rem);letter-spacing:-.02em;line-height:1.1;color:var(--white)}
.dz-spy__sub{margin-top:3px;font-size:.78rem;font-weight:700;color:var(--mist)}
.dz-spy__blurb{margin-top:12px;max-width:48ch;font-size:.92rem;line-height:1.5;color:#cfcfd6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dz-spy__foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:16px}
.dz-spy__facts{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mist)}
.dz-spy__facts:empty{display:none}
.dz-spy__facts span{display:inline-flex;align-items:center;gap:6px}
.dz-spy__facts b{color:var(--white)}
.dz-spy__facts .icon{width:14px;height:14px;color:var(--y)}
.dz-spy__links{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:4px}
.dz-spy__links a{display:inline-flex;align-items:center;min-height:44px;font-size:.84rem;font-weight:800;color:var(--white);text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:4px}
.dz-spy__links a:hover{color:var(--y)}
@media (prefers-reduced-motion:no-preference){
  .dz-spy.is-new .dz-spy__code{animation:dzCode .6s var(--ease) both}
  .dz-spy.is-new .dz-spy__line .plane{animation:dzTaxi .8s var(--ease) both}
  .dz-spy.is-new .dz-spy__id,.dz-spy.is-new .dz-spy__blurb{animation:dzRiseSm .6s var(--ease) .08s both}
}
@keyframes dzCode{from{transform:translateY(.25em);opacity:0}}
@keyframes dzTaxi{from{left:0;opacity:0}}

/* departures board */
.dz-dep{position:relative;z-index:6;border-top:1px solid var(--line-l);background:linear-gradient(180deg,rgba(20,20,22,.92),var(--ink));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.dz-dep__in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding-block:14px}
.dz-dep__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dz-dep__title{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--y)}
.dz-blink{width:8px;height:8px;border-radius:50%;background:var(--y);box-shadow:0 0 0 0 rgba(253,182,28,.6)}
@media (prefers-reduced-motion:no-preference){.dz-blink{animation:dzBlink 1.6s ease-in-out infinite}}
@keyframes dzBlink{50%{opacity:.25}}
.dz-dep__clock{font-family:var(--dz-mono);font-weight:700;font-size:.82rem;color:var(--white);padding:4px 8px;border-radius:6px;background:var(--ink-3)}
.dz-dep__reset{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:.4rem .9rem;border-radius:999px;border:1.5px solid var(--y);color:var(--y);font-size:.76rem;font-weight:800;letter-spacing:.04em}
.dz-dep__reset .icon{width:16px;height:16px}
.dz-dep__reset:hover{background:var(--y);color:var(--ink)}
.dz-dep__rail{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:4px 2px;
  -webkit-mask:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 40px),transparent);mask:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 40px),transparent);scroll-padding-inline:24px}
.dz-dep__rail::-webkit-scrollbar{display:none}
.dz-dep__it{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:6px 14px 6px 6px;border-radius:14px;border:1px solid var(--ink-4);background:var(--ink-2);color:var(--white);text-align:left;transition:background .2s,border-color .2s,transform .25s var(--ease)}
.dz-dep__it:first-child{margin-left:18px}
.dz-dep__it:hover{border-color:var(--y);transform:translateY(-2px)}
.dz-dep__code{display:inline-grid;place-items:center;min-width:52px;height:38px;padding:0 6px;border-radius:9px;background:var(--ink);color:var(--y);font-family:var(--dz-mono);font-weight:800;font-size:1rem;letter-spacing:.06em;box-shadow:inset 0 -1px 0 rgba(255,255,255,.07);position:relative}
.dz-dep__code::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.7)}
.dz-dep__nm{display:flex;flex-direction:column;font-weight:700;font-size:.86rem;line-height:1.15;white-space:nowrap}
.dz-dep__nm small{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mist)}
.dz-dep__it--home .dz-dep__code{background:var(--y);color:var(--ink)}
.dz-dep__star{position:absolute;top:-6px;right:-6px;width:16px!important;height:16px!important;padding:2px;border-radius:50%;background:var(--y);color:var(--ink);fill:currentColor;stroke-width:1.5;z-index:1}
.dz-dep__it[aria-pressed="true"] .dz-dep__star{background:var(--ink);color:var(--y)}
.dz-dep__it[aria-pressed="true"]{background:var(--y);border-color:var(--y);color:var(--ink)}
.dz-dep__it[aria-pressed="true"] .dz-dep__nm small{color:var(--y-ink)}
.dz-dep__it[aria-pressed="true"] .dz-dep__code{background:var(--ink);color:var(--y)}
.dz-dep__nav{display:flex;gap:8px;margin-right:86px}
.dz-dep__arrow{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--ink-4);color:var(--white);transition:.2s}
.dz-dep__arrow:hover{background:var(--y);color:var(--ink);border-color:var(--y)}
.dz-dep__arrow .icon{width:18px;height:18px}

/* ---------------------------------------------------------
   tape (the page's one marquee)
   --------------------------------------------------------- */
.dz-tape{position:relative;z-index:7;height:120px;margin:-60px 0;overflow:hidden;pointer-events:none}
.dz-tape__band{position:absolute;left:-3%;right:-3%;top:50%;background:var(--y);color:var(--ink);border-block:3px solid var(--ink);padding-block:12px;transform:translateY(-50%) rotate(-1.6deg);box-shadow:0 10px 0 -2px rgba(11,11,12,.85)}
.dz-tape .marquee__item{font-size:clamp(1.15rem,2.2vw,1.8rem);gap:2rem}
.dz-tape .marquee__track{gap:2rem;padding-right:2rem}
.dz-tape .marquee__item em{font-style:normal;font-weight:600;letter-spacing:-.01em;text-transform:none;font-size:.7em;opacity:.8}
.dz-tape .marquee__item b{font-family:var(--dz-mono);letter-spacing:.02em}

/* ---------------------------------------------------------
   2 · ALL DESTINATIONS (opener: no header · the tape above leads straight into the filter bar)
   --------------------------------------------------------- */
.dz-mete{overflow:clip;padding-top:clamp(108px,10vw,150px)}

/* filter bar: a plain toolbar on the paper (no box) */
.dz-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;padding-bottom:18px;border-bottom:2px solid var(--ink)}
.dz-bar__chips,.dz-bar__side{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dz-bar .chip{background:var(--white)}
.dz-bar .chip .icon{width:18px;height:18px}
.dz-bar .chip small{font-size:.7rem;font-weight:800;opacity:.55;margin-left:2px}
.dz-bar .chip[aria-pressed="true"]{background:var(--ink)}
.dz-bar .chip[aria-pressed="true"] small{opacity:.8}
.p-destinations .dz-pair[aria-pressed="true"]{background:var(--y);color:var(--ink)}
.dz-pair[aria-pressed="true"] .icon{fill:currentColor}
.dz-sort{background:rgba(11,11,12,.07)}
.dz-count{margin:18px 2px 20px;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--steel)}
.dz-count b{color:var(--ink)}

.dz-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;grid-auto-flow:dense}
.dz-card{--bg:var(--ink-2);--fg:var(--white);--code:var(--y);--mut:var(--mist);--ln:rgba(255,255,255,.16);
  position:relative;display:flex;flex-direction:column;min-height:420px;padding:20px 20px 18px;border-radius:var(--r);background:var(--bg);color:var(--fg);overflow:hidden;isolation:isolate;
  border:2.5px solid var(--ink);box-shadow:5px 5px 0 var(--ink);transition:box-shadow .3s var(--ease),transform .5s var(--ease);
  container-type:inline-size;scroll-margin-top:calc(var(--hdr) + 24px)}
/* the shared ".js .reveal.is-in{transform:none}" outranks .tilt: restore the 3D tilt once revealed */
.p-destinations .dz-card.tilt.is-in{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.dz-card:hover{box-shadow:9px 9px 0 var(--ink)}
.dz-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.9}
.dz-card--beach{--bg:var(--y);--fg:var(--ink);--code:var(--ink);--mut:var(--y-ink);--ln:rgba(11,11,12,.28)}
.dz-card--beach::before{background:radial-gradient(120% 60% at 100% 100%,rgba(255,255,255,.35),transparent 60%),repeating-radial-gradient(circle at 120% 130%,transparent 0 14px,rgba(11,11,12,.08) 14px 16px)}
.dz-card--city::before{background:linear-gradient(rgba(253,182,28,.06) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(90deg,rgba(253,182,28,.06) 1px,transparent 1px) 0 0/22px 22px;
  -webkit-mask:linear-gradient(200deg,#000,transparent 70%);mask:linear-gradient(200deg,#000,transparent 70%)}
.dz-card--culture{--bg:var(--white);--fg:var(--ink);--code:var(--ink);--mut:var(--steel);--ln:rgba(11,11,12,.22)}
.dz-card--culture::before{background-image:radial-gradient(rgba(11,11,12,.14) 1.3px,transparent 1.6px);background-size:12px 12px;-webkit-mask:linear-gradient(210deg,#000,transparent 62%);mask:linear-gradient(210deg,#000,transparent 62%)}
.dz-card--nature{--bg:var(--y-100);--fg:var(--ink);--code:var(--ink);--mut:var(--y-ink);--ln:rgba(11,11,12,.22)}
.dz-card--nature::before{background:repeating-radial-gradient(ellipse at 85% 18%,transparent 0 16px,rgba(74,51,0,.1) 16px 17.5px)}

.dz-card__top{display:flex;align-items:center;gap:8px;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding-right:100px;min-height:28px}
.dz-card__kind{display:inline-flex;align-items:center;gap:5px;padding:4px 9px 4px 7px;border-radius:999px;border:1.5px solid currentColor}
.dz-card__kind .icon{width:14px;height:14px}
.dz-card__globe{position:absolute;top:12px;right:12px;width:96px;height:96px;border-radius:50%;pointer-events:none}
.dz-card__code{font-weight:900;font-size:clamp(3.4rem,min(5.6vw,24cqi),5.4rem);letter-spacing:-.06em;line-height:.82;color:var(--code);margin-top:30px;transition:transform .5s var(--ease);transform-origin:0 100%}
.dz-card:hover .dz-card__code{transform:translateX(4px) skewX(-6deg)}
.dz-card__name{font-weight:800;font-size:1.32rem;letter-spacing:-.02em;line-height:1.1;margin-top:14px}
.dz-card__country{font-size:.8rem;font-weight:600;color:var(--mut);margin-top:3px}
.dz-card__blurb{margin-top:16px;padding-top:14px;border-top:1.5px solid var(--ln);font-size:.88rem;line-height:1.5;color:var(--fg);opacity:.86}
.dz-card__meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:12px;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.dz-card__meta dt{display:inline}.dz-card__meta dd{display:inline;margin-left:4px;color:var(--fg);font-family:var(--dz-mono);letter-spacing:.02em}
.dz-card__act{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:16px}
.dz-card__globebtn{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid currentColor;transition:background .2s,color .2s,transform .25s var(--ease)}
.dz-card__globebtn .icon{width:19px;height:19px}
.dz-card__globebtn:hover{background:var(--fg);color:var(--bg);transform:translateY(-2px)}
.dz-card__go{min-width:0}
.dz-card__pop{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:3px 8px;border-radius:6px;background:var(--y);color:var(--ink);letter-spacing:.1em}
.dz-card--beach .dz-card__pop{background:var(--ink);color:var(--y)}
.dz-card__pop .icon{width:12px;height:12px;fill:currentColor}
/* phone-tile only: the open/close button and the pairing / famous marks next to the chip */
.dz-card__more,.dz-card__flags{display:none}
/* featured: pairs with Sri Lanka, two columns wide */
.dz-card--feat{grid-column:span 2}
.dz-card--feat .dz-card__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 26px;flex:1}
.dz-card--feat .dz-card__code{font-size:clamp(5rem,min(9vw,21cqi),8.6rem)}
.dz-card--feat .dz-card__globe{width:150px;height:150px;top:auto;bottom:18px;right:auto;left:20px}
.dz-card--feat .dz-card__left{display:flex;flex-direction:column;padding-bottom:160px}
.dz-card--feat .dz-card__right{display:flex;flex-direction:column;padding-top:30px}
.dz-card--feat .dz-card__right .dz-card__blurb{font-size:.98rem;margin-top:12px}
.dz-card__pair{display:inline-flex;align-self:flex-start;align-items:center;gap:7px;padding:5px 12px 5px 9px;border-radius:999px;background:var(--ink);color:var(--y);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.dz-card__pair .icon{width:14px;height:14px;fill:currentColor}
.dz-card--city .dz-card__pair{background:var(--y);color:var(--ink)}
.dz-card--feat .dz-card__xtra{margin-top:12px;font-size:.84rem;font-weight:700}
.dz-card--feat .dz-card__xtra a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.dz-card.is-hit{animation:dzHit 1.4s var(--ease)}
.dz-card.is-sel{outline:4px solid var(--y);outline-offset:4px}
.dz-card--beach.is-sel,.dz-card--nature.is-sel{outline-color:var(--ink)}
.dz-card--city :focus-visible{outline-color:var(--y)}
.dz-chip-pop .icon{fill:currentColor}
/* cruises teaser tile: fills the grid's last row and points to #crociere (their one home) */
.dz-ctile{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:200px;padding:20px 22px;border-radius:var(--r);background:var(--ink);color:var(--white);
  border:2.5px solid var(--ink);box-shadow:5px 5px 0 var(--y-600);overflow:hidden;container-type:inline-size;transition:box-shadow .3s var(--ease),transform .3s var(--ease)}
.dz-ctile::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:repeating-linear-gradient(170deg,transparent 0 18px,rgba(253,182,28,.07) 18px 20px);-webkit-mask:linear-gradient(0deg,#000,transparent 75%);mask:linear-gradient(0deg,#000,transparent 75%)}
.dz-ctile>*{position:relative;z-index:1}
.dz-ctile:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--y-600)}
.dz-ctile:focus-visible{outline-color:var(--ink)}
.dz-ctile.is-sel{outline:4px solid var(--ink);outline-offset:4px}
.dz-ctile__k{display:inline-flex;align-items:center;gap:8px;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--y)}
.dz-ctile__k .icon{width:18px;height:18px}
.dz-ctile__codes{display:flex;flex-wrap:wrap;gap:0 .28em;font-weight:900;font-size:clamp(2.6rem,15cqi,5.6rem);letter-spacing:-.06em;line-height:.86;color:transparent;-webkit-text-stroke:2px var(--y)}
.dz-ctile.is-wide .dz-ctile__codes{font-size:clamp(3rem,11cqi,6.4rem)}
.dz-ctile__t{font-size:.86rem;font-weight:600;color:var(--mist)}
.dz-ctile__go{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.9rem;color:var(--white)}
.dz-ctile__go .plane{width:18px;height:18px;color:var(--y);transform:rotate(90deg)}
.dz-ctile:hover .dz-ctile__go .plane{animation:none;transform:rotate(90deg) translateX(4px)}
@keyframes dzHit{0%,100%{box-shadow:5px 5px 0 var(--ink)}30%{box-shadow:0 0 0 6px var(--y),5px 5px 0 var(--ink)}}

.dz-empty{max-width:560px;margin:10px auto 0;padding:34px 0;text-align:center}
.dz-empty p:not(.h3){margin-top:8px;color:var(--steel)}
.dz-empty .row{justify-content:center}
.dz-note{margin-top:28px;color:var(--steel);max-width:80ch}

/* "Non vedi la tua meta?": a clean editorial form at the end of the grid */
/* v3: no box (the combo builder right after it is the page's one boxed form): a hard ink rule opens it */
.dz-ask{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px);margin-top:clamp(56px,7vw,96px);padding-top:clamp(26px,3vw,40px);
  border-top:3px solid var(--ink);scroll-margin-top:calc(var(--hdr) + 20px)}
.dz-ask__t{font-weight:800;font-size:clamp(1.7rem,2.6vw,2.4rem);letter-spacing:-.03em;line-height:1.02}
.dz-ask__p{margin-top:12px;max-width:40ch;color:var(--steel)}
.dz-ask__alt{display:flex;flex-direction:column;align-items:flex-start;margin-top:18px}
.dz-ask__alt a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.88rem;font-weight:800;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.dz-ask__alt a .plane{width:16px;height:16px;transition:transform .3s var(--ease)}
.dz-ask__alt a:hover .plane{transform:translateX(4px)}
.dz-ask__form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 22px;align-content:start}
.dz-ask__where,.dz-ask__need{grid-column:1/-1}
.dz-ask__err{font-size:.78rem;font-weight:700;color:var(--sl-maroon)}
.dz-ask__err:empty{display:none}
.dz-ask .input[aria-invalid="true"]{border-color:var(--sl-maroon);box-shadow:4px 4px 0 var(--sl-maroon)}
.dz-ask__pax .stepper{min-height:54px}
.dz-ask__chips{display:flex;flex-wrap:wrap;gap:8px}
.dz-ask__chips .chip{min-height:44px;padding:.45rem .9rem;font-size:.84rem}
.dz-ask__chips .chip .icon{width:17px;height:17px}
.dz-ask__go{grid-column:1/-1;justify-self:start;margin-top:4px}

/* ---------------------------------------------------------
   capes (hard diagonals; 2 on the page)
   --------------------------------------------------------- */
.dz-cape{display:block}
.dz-cape--py{color:var(--paper);background:var(--y)}
.dz-cape--yi{color:var(--y);background:var(--ink)}

/* ---------------------------------------------------------
   3 · COMBO (opener: Captain bubble = the page's cameo)
   --------------------------------------------------------- */
.dz-combo{overflow:clip;background-color:var(--y);padding-top:clamp(56px,7vw,110px)}
.dz-combo.halftone{background-image:radial-gradient(rgba(11,11,12,.09) 1.3px,transparent 1.6px)}
.dz-combo__grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);grid-template-areas:"head art" "build art" "cta art";column-gap:clamp(32px,5vw,90px);row-gap:26px;align-items:start}
.dz-combo__head{grid-area:head}
.dz-combo__head .op-bubble{margin-bottom:0}
/* binoculars avatar crop (head + binoculars) */
.p-destinations .dz-combo__av{--av-x:-118%;--av-y:2%;--av-w:252%;background:var(--white)}
.dz-combo__title>span{display:block}
.dz-combo__l2{display:flex!important;align-items:center;gap:.16em}
.dz-plus{display:inline-grid;place-items:center;flex:none;width:1.2em;height:1.2em;border-radius:50%;background:var(--ink);color:var(--y);font-size:.62em;line-height:1;letter-spacing:0;transform:rotate(-8deg);box-shadow:.06em .06em 0 rgba(11,11,12,.25)}
.dz-combo__lead{margin-top:20px;color:var(--y-ink)}
.dz-chart{grid-area:art;position:sticky;top:calc(var(--hdr-offset,0px) + 32px);align-self:start;margin:40px 0 0;background:var(--paper);border:3px solid var(--ink);border-radius:var(--r-l);box-shadow:10px 10px 0 var(--ink);overflow:hidden;transform:rotate(-1.4deg)}
.dz-map{display:block;width:100%;height:auto;aspect-ratio:600/640}
.dz-chart__cap{display:flex;justify-content:space-between;gap:10px;padding:10px 18px;border-top:2px solid var(--ink);background:var(--ink);color:var(--y);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.dz-map .g-grid path{fill:none;stroke:rgba(11,11,12,.12);stroke-width:1}
.dz-map .g-eq{fill:none;stroke:var(--sl-maroon);stroke-width:1.5;stroke-dasharray:8 6;opacity:.7}
.dz-map text{font-family:var(--f);fill:var(--ink)}
.dz-map .t-deg{font-size:11px;font-weight:700;fill:rgba(11,11,12,.45);letter-spacing:.06em}
.dz-map .t-sea{font-size:13px;font-weight:800;letter-spacing:.42em;fill:rgba(11,11,12,.3)}
.dz-map .t-eq{font-size:10px;font-weight:800;letter-spacing:.28em;fill:var(--sl-maroon)}
.dz-map .t-code{font-size:30px;font-weight:900;letter-spacing:-.02em}
.dz-map .t-name{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;fill:var(--y-ink)}
.dz-map .sl-shadow{fill:var(--ink)}
.dz-map .sl{fill:var(--y);stroke:var(--ink);stroke-width:3;stroke-linejoin:round}
.dz-map .atoll{fill:rgba(253,182,28,.35);stroke:var(--ink);stroke-width:1.6;stroke-dasharray:2.2 2.4}
.dz-map .atoll--male{fill:var(--y);stroke-dasharray:none;stroke-width:2.4}
.dz-map .arc{fill:none;stroke:var(--ink);stroke-width:3;stroke-dasharray:9 7;stroke-linecap:round}
.dz-map .arc-run{fill:none;stroke:var(--sl-maroon);stroke-width:3;stroke-linecap:round;stroke-dasharray:60 1200;opacity:.85}
@media (prefers-reduced-motion:no-preference){.dz-map .arc{animation:dzDash 1.6s linear infinite}.dz-map .arc-run{animation:dzRun 3.2s var(--ease) infinite}}
@keyframes dzDash{to{stroke-dashoffset:-32}}
@keyframes dzRun{from{stroke-dashoffset:60}to{stroke-dashoffset:-560}}
.dz-map .pt{fill:var(--paper);stroke:var(--ink);stroke-width:3}
.dz-map .pt-in{fill:var(--ink)}
.dz-map .plane{fill:var(--ink)}
.dz-map .chipbg{fill:var(--ink)}
.dz-map .chiptx{fill:var(--y);font-size:13px;font-weight:800;letter-spacing:.06em}
.dz-map .compass path{fill:var(--ink)}
.dz-map .compass circle{fill:none;stroke:var(--ink);stroke-width:1.5}
.dz-map .compass text{font-size:13px;font-weight:900}

/* the builder: a plain ink form panel (no pass, no stub) */
.dz-builder{grid-area:build;padding:24px 26px 0;border-radius:var(--r-l);background:var(--ink-2);color:var(--white);box-shadow:12px 12px 0 rgba(11,11,12,.22);overflow:hidden}
.dz-builder :focus-visible{outline-color:var(--y)}
.dz-builder .dz-builder__t{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--y)}
.dz-b__set{border:0;padding:0;margin:14px 0 0;min-width:0}
.dz-b__leg{display:flex;align-items:center;gap:8px;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);margin-bottom:10px}
.dz-b__leg b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--y);color:var(--ink);font-size:.72rem;letter-spacing:0}
.dz-b__tours{display:flex;flex-wrap:wrap;gap:8px}
.dz-b__tour{position:relative;cursor:pointer}
.dz-b__tour input{position:absolute;opacity:0;width:1px;height:1px}
.dz-b__tour span{display:inline-flex;flex-direction:column;justify-content:center;min-height:52px;padding:7px 14px;border-radius:14px;border:1.5px solid var(--ink-4);background:var(--ink-3);font-weight:800;font-size:.86rem;line-height:1.15;transition:.2s}
.dz-b__tour small{font-size:.68rem;font-weight:700;color:var(--mist);letter-spacing:.02em}
.dz-b__tour:hover span{border-color:var(--y)}
.dz-b__tour input:checked+span{background:var(--y);border-color:var(--y);color:var(--ink)}
.dz-b__tour input:checked+span small{color:var(--y-ink)}
.dz-b__tour input:focus-visible+span{outline:3px solid var(--y);outline-offset:3px}
.dz-b__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 28px;margin-top:4px}
.dz-b__stepper button{border-color:var(--ink-4);color:var(--white)}
.dz-b__stepper output{color:var(--y);min-width:2.2ch}
.dz-b__check{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:44px;padding:6px 14px 6px 10px;border-radius:14px;border:1.5px dashed var(--ink-4)}
.dz-b__check input{width:22px;height:22px;accent-color:var(--y);flex:none}
.dz-b__check b{display:block;font-size:.88rem}
.dz-b__check small{display:block;font-size:.7rem;color:var(--mist);font-weight:600}
.dz-b__check:has(input:checked){border-style:solid;border-color:var(--y)}
.dz-legs{list-style:none;margin:20px 0 0;padding:0;position:relative}
.dz-legs::before{content:"";position:absolute;left:17px;top:18px;bottom:18px;border-left:2px dashed var(--ink-4)}
.dz-leg{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 0}
.dz-leg__ic{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink-3);border:1.5px solid var(--ink-4);color:var(--y)}
.dz-leg__ic .icon{width:17px;height:17px}
.dz-leg--tour .dz-leg__ic,.dz-leg--mv .dz-leg__ic{background:var(--y);color:var(--ink);border-color:var(--y)}
.dz-leg b{display:block;font-size:.92rem;line-height:1.25}
.dz-leg__s{display:block;font-size:.76rem;color:var(--mist);line-height:1.4}
.dz-leg__price{margin-top:6px;gap:2px}
.dz-leg__price .price__n{font-size:1.15rem}
.dz-leg__img{width:58px;height:44px;border-radius:10px;object-fit:cover;border:1.5px solid var(--ink-4)}
.dz-leg__tag{font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:var(--ink-3);color:var(--y);white-space:nowrap}
.dz-builder .dz-b__sum{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:18px -26px 0;padding:16px 26px 18px;background:var(--ink);border-top:1px solid var(--line-l);font-weight:800;font-size:.86rem}
.dz-b__sumL{margin-right:auto;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mist)}
.dz-b__sum b{font-weight:900;font-size:2.3rem;letter-spacing:-.05em;line-height:.9;color:var(--y)}
.dz-b__nights{color:var(--mist);font-weight:700}
.dz-combo__cta{grid-area:cta;display:flex;flex-wrap:wrap;gap:12px}

/* ---------------------------------------------------------
   responsive
   --------------------------------------------------------- */
@media (max-width:1280px){
  .dz-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1100px){
  .dz-ask{grid-template-columns:1fr}
}
@media (max-width:1024px){
  .dz-combo__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "art" "build" "cta"}
  .dz-combo__grid>*{min-width:0;max-width:100%}
  .dz-chart{position:relative;top:auto;margin-top:0;max-width:560px;width:100%;justify-self:center}
}
@media (max-width:900px){
  .dz-hero{--sx:max(16px,env(safe-area-inset-left),env(safe-area-inset-right));min-height:0;padding-top:calc(var(--hdr) + 10px);padding-bottom:44px}
  .dz-hero__grid{display:contents}
  .dz-hero__side{display:contents}
  .dz-hero__eyebrow{order:1;margin:0 var(--sx) .5rem}
  .dz-h1{order:2;margin:0 var(--sx)}
  .dz-h1__a{font-size:clamp(4rem,19.5vw,9rem);white-space:normal}
  .dz-h1__b{font-size:clamp(2.4rem,10.5vw,4.4rem);margin-top:-.08em}
  .dz-hero__lead{order:3;margin:14px var(--sx) 0;max-width:52ch}
  /* globe up and to the right, Captain CIAO at the lower left looking at it */
  .dz-stage{order:4;--fit:.9;--gx:.16;--gt:0;--gr:0;--gb:.16;height:min(122vw,600px);margin:6px 0 0;grid-row:auto;align-self:stretch}
  .p-destinations .dz-spot{left:-3%;bottom:0;height:46cqh}
  .dz-dep{order:5}
  .dz-spy{order:6;margin:22px var(--sx) 30px;max-width:none}
  .p-destinations #dzStatus{order:7}
  .dz-dep__in{grid-template-columns:minmax(0,1fr);gap:10px;padding-inline:0}
  .dz-dep__head{padding-inline:var(--sx);justify-content:space-between}
  .dz-dep__nav{display:none}
  .dz-dep__rail{-webkit-mask:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 40px),transparent);scroll-padding-inline:var(--sx)}
  .dz-dep__it:first-child{margin-left:var(--sx)}
  .dz-dep__it:last-child{margin-right:var(--sx)}
  .dz-stage__hint{left:auto;right:12px;top:auto;bottom:12px;gap:6px;padding:7px 11px;font-size:.6rem;letter-spacing:.07em}
  .dz-stage__hint .icon{width:14px;height:14px}
  .dz-legend{right:auto;left:16px;top:6px;bottom:auto;flex-direction:row;flex-wrap:wrap;gap:6px 14px;padding:8px 12px;font-size:.62rem}
  .dz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .dz-h1__a{letter-spacing:-.055em}
  .dz-spy__code{font-size:2.9rem}
  .dz-spy__head{gap:10px 16px}
  .dz-bar__chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:-4px -16px;padding:4px 16px;width:calc(100% + 32px)}
  .dz-bar__chips::-webkit-scrollbar{display:none}
  .dz-bar__chips .chip{flex:none}
  .dz-bar__side{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .dz-pair{justify-content:center}
  .dz-sort{display:flex;flex-wrap:nowrap;width:100%}
  .dz-sort button{flex:1;padding-inline:.5rem}
  .dz-tape{height:96px;margin:-48px 0}
  .dz-ask{padding-top:24px}
  .dz-ask__form{grid-template-columns:1fr}
  /* keep the right edge clear for the 52px dock on phones */
  .dz-ask__chips,.dz-b__tours{padding-right:40px}
  .dz-builder{padding:20px 16px 0;border-radius:var(--r)}
  .dz-builder .dz-b__sum{margin-inline:-16px;padding-inline:16px}
  .dz-leg{grid-template-columns:36px minmax(0,1fr)}
  .dz-leg__img,.dz-leg__tag{display:none}
  .dz-combo__cta .btn{width:100%;white-space:normal}
}
@media (max-width:400px){
  .dz-combo__cta .btn{padding-inline:1.15rem;font-size:.96rem}
}
/* ---------------------------------------------------------
   phones (≤560px): 15 destinations as a 2-column list of compact tiles
   (code · name · chip). A tap opens a tile across the row with the blurb,
   facts, the route globe and the actions; tap again to close it.
   --------------------------------------------------------- */
@media (max-width:560px){
  .dz-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .dz-card,.dz-card--feat{grid-column:auto;min-height:0;padding:12px 12px 13px;box-shadow:4px 4px 0 var(--ink)}
  .dz-card:hover{box-shadow:4px 4px 0 var(--ink)}
  .dz-card--feat .dz-card__body,.dz-card--feat .dz-card__left,.dz-card--feat .dz-card__right{display:contents}
  .dz-card__code{order:1}.dz-card__name{order:2}.dz-card__country{order:3}.dz-card__top{order:4}
  .dz-card__pair{order:5}.dz-card__blurb{order:6}.dz-card__xtra{order:7}.dz-card__meta{order:8}.dz-card__act{order:9}
  .p-destinations .dz-card__code,.p-destinations .dz-card--feat .dz-card__code{font-size:clamp(2.2rem,10.6vw,2.8rem);margin-top:0;padding-right:36px}
  .dz-card__name{font-size:1rem;line-height:1.15;margin-top:8px}
  .dz-card__top{min-height:0;margin-top:10px;padding-right:0;flex-wrap:wrap;gap:5px;font-size:.58rem;letter-spacing:.1em}
  .dz-card__kind{padding:3px 8px 3px 6px;border-width:1.5px}
  .dz-card__kind .icon{width:12px;height:12px}
  .dz-card__flags{display:inline-flex;gap:4px}
  .dz-card__flag{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--ink);color:var(--y)}
  .dz-card--city .dz-card__flag{background:var(--y);color:var(--ink)}
  .dz-card__flag .icon{width:12px;height:12px;fill:currentColor}
  .dz-card__globe,.dz-card__country,.dz-card__pair,.dz-card__blurb,.dz-card__xtra,.dz-card__meta,.dz-card__act{display:none}
  /* the button covers the closed tile (the whole tile is the tap target); its round +/− sits top right */
  .dz-card__more{display:block;position:absolute;z-index:3;inset:0;border-radius:calc(var(--r) - 3px);color:var(--fg)}
  .dz-card__more i{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:2px solid currentColor;transition:background .2s,color .2s}
  .dz-card__more i::before,.dz-card__more i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease)}
  .dz-card__more i::after{transform:rotate(90deg)}
  .dz-card__more:focus-visible{outline:3px solid currentColor;outline-offset:-7px}
  /* open: the whole row, everything back */
  .dz-card.is-open{grid-column:1/-1;padding:16px 16px 14px}
  .dz-card.is-open .dz-card__more{inset:6px 6px auto auto;width:44px;height:44px;border-radius:50%}
  .dz-card.is-open .dz-card__more i{top:7px;right:7px;background:var(--fg);color:var(--bg)}
  .dz-card.is-open .dz-card__more i::before,.dz-card.is-open .dz-card__more i::after{background:var(--bg)}
  .dz-card.is-open .dz-card__more i::after{transform:rotate(0deg)}
  .dz-card.is-open .dz-card__more:focus-visible{outline-offset:2px}
  .dz-card.is-open .dz-card__flags{display:none}
  .p-destinations .dz-card.is-open .dz-card__code{font-size:3.2rem;padding-right:0}
  .dz-card.is-open .dz-card__name{font-size:1.2rem;padding-right:140px}
  .dz-card.is-open .dz-card__globe{display:block;width:76px;height:76px;inset:auto;top:12px;right:58px}
  .dz-card.is-open :is(.dz-card__country,.dz-card__blurb,.dz-card__xtra){display:block}
  .dz-card.is-open .dz-card__pair{display:inline-flex;margin-top:12px}
  .dz-card.is-open .dz-card__meta{display:flex;margin-top:10px}
  .dz-card.is-open .dz-card__act{display:flex;padding-top:14px}
  .dz-card.is-open .dz-card__blurb{margin-top:12px;padding-top:12px;font-size:.88rem}
  .dz-card.is-open .dz-card__top{margin-top:12px}
  /* the cruise tile, at tile size */
  .dz-ctile{min-height:0;gap:10px;padding:12px 14px 14px;box-shadow:4px 4px 0 var(--y-600)}
  .dz-ctile__k{font-size:.58rem;letter-spacing:.1em}
  .dz-ctile__codes{font-size:clamp(1.5rem,13cqi,2.4rem);-webkit-text-stroke-width:1.5px}
  .dz-ctile.is-wide .dz-ctile__codes{font-size:clamp(2.2rem,11cqi,3.4rem)}
  .dz-ctile:not(.is-wide) .dz-ctile__t{display:none}
  .dz-ctile__go{font-size:.82rem}
}
/* short desktop viewports (1280x800): keep the departures board above the fold */
@media (min-width:901px) and (max-height:860px){
  .dz-hero{min-height:100svh;padding-bottom:34px}
  .dz-h1__a{font-size:clamp(4.2rem,min(14.4vw,19svh),15.5rem)}
  .dz-h1__b{font-size:clamp(2.6rem,min(5.6vw,8.4svh),6.2rem)}
  .dz-stage{height:clamp(440px,calc(100svh - 300px),820px);margin-top:calc(clamp(4.2rem,min(14.4vw,19svh),15.5rem) * .42)}
  .dz-hero__side{gap:14px;padding-bottom:14px}
  .dz-hero__lead{font-size:.98rem;max-width:48ch}
  .dz-spy{padding-top:14px}
  .dz-spy__blurb{-webkit-line-clamp:1}
  .dz-dep__in{padding-block:10px}
}
@media (max-width:380px){
  .dz-h1__a{font-size:18.5vw}
}
