/* /global/ page styles (premium theme comes from body.theme-global in site.css). Prefix: glob-, event-, short-, ck-. Logical properties only. */

.glob-proof{list-style:none;margin:var(--s-6) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px}
.glob-proof li{display:flex;gap:8px;align-items:baseline;font-size:var(--fs-15);color:var(--ink-2)}
.glob-proof strong{font-family:var(--font-serif);font-size:var(--fs-28);line-height:1;color:var(--primary-ink)}

.glob-result .result-summary{margin:0;font-size:var(--fs-14);color:var(--ink-2);padding:10px 14px;background:var(--card-2);border:1px solid var(--border);border-radius:var(--r-sm)}
.glob-result .result-summary:focus{outline:none}
.event-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.event-card{display:grid;gap:8px;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-1)}
.event-top{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;justify-content:space-between}
.event-title{flex:1 1 220px;min-inline-size:0}
.event-title h4{margin:0;font-size:var(--fs-20)}
.event-meta{margin:2px 0 0;font-size:var(--fs-14);color:var(--muted)}
.event-entry{margin:0;font-size:var(--fs-14);color:var(--ink-2)}
.event-easier{color:var(--ok-ink)}
.event-actions{display:flex;gap:8px;flex-wrap:wrap}
.event-actions .btn{min-block-size:44px;flex:1 1 auto;padding-inline:12px}
.event-actions .btn.is-on{background:var(--primary-soft);border-color:var(--info-line);color:var(--primary-ink)}
.route-more{text-align:center;margin:0}

/* shortlist (the sheet and the chip are at the end of this file) */
.short-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.short-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-14);padding:6px 0;border-block-end:1px solid var(--border)}
.short-list li:last-child{border-block-end:0}

/* invitation check */
.glob-check{display:block;max-inline-size:760px;margin-inline:auto}
.glob-check .fieldset legend{line-height:1.4}
.glob-check .choice{font-size:var(--fs-14);min-block-size:44px;padding-block:6px}
.glob-check .choice-grid{grid-template-columns:minmax(0,1fr)}
.ck-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}
#ck-count{font-size:var(--fs-14);color:var(--ink-2)}
#check-result h4{margin:var(--s-3) 0 6px;font-family:var(--font-sans);font-size:var(--fs-16)}
#check-result .mini-steps{margin:0;padding-inline-start:20px;font-size:var(--fs-14);color:var(--ink-2);display:grid;gap:6px}
#ck-event .badge{vertical-align:middle}

/* sections */
.glob-steps>li h3{font-size:var(--fs-18)}
@media (min-width:1100px){.glob-steps{grid-template-columns:repeat(5,minmax(0,1fr))}}
.glove-grid{align-items:center}
.glove-grid .feature-row{flex-direction:row;align-items:flex-start;gap:var(--s-4)}
.glove-grid .feature-row h3{margin-block-start:0}
.tick-list{list-style:none;margin-block-end:0;padding:0;display:grid;gap:12px}
.band h2+.lead{margin-block-start:var(--s-3)}
.card-soft h3+p{margin-block-start:var(--s-2)}
.tick-list li{display:flex;gap:10px;align-items:flex-start}
.tick-list .icon{flex:none;margin-block-start:3px;color:var(--primary-ink)}
.login-line{margin:0;font-size:var(--fs-15);color:var(--ink-2)}
.refund-title{font-size:var(--fs-16);font-family:var(--font-sans);margin:0 0 8px;color:var(--ok-ink)}
.price-table caption{caption-side:top}
/* flagged blocks stay hidden until site-flags.js un-hides them, even where a class sets display */
[data-flag][hidden],[data-flag-off][hidden]{display:none!important}

/* ---------- The showcase (task Q7d): the opportunity radar and the six-step example. Prefix gls-. Logical properties only (RTL safe). White page, warm beige surfaces,
   blue only on primary buttons; motion only without prefers-reduced-motion. No inline style. ---------- */
.gls-radar{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:var(--s-6);align-items:start}
@media (max-width:980px){.gls-radar{grid-template-columns:minmax(0,1fr)}}
@media (min-width:981px) and (min-height:700px){.gls-form{position:sticky;inset-block-start:84px}}
.gls-form{display:grid;gap:var(--s-4)}
.gls-regions{grid-template-columns:repeat(2,minmax(0,1fr))}
.gls-form .choice{font-size:var(--fs-14);padding-inline:10px;gap:8px}
.gls-status{margin:0;padding:10px 12px;font-size:var(--fs-14);color:var(--ink-2);background:var(--card-2);border:1px solid var(--border);border-radius:var(--r-sm)}
.gls-status[hidden],.gls-result[hidden],.gls-empty[hidden]{display:none}
.gls-empty{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-5)}
.gls-empty p{margin:0;color:var(--ink-2)}
.gls-bunny{flex:none;inline-size:64px;block-size:64px}
.gls-result{display:grid;gap:var(--s-4)}
.gls-res-head{display:flex;align-items:center;gap:var(--s-4)}
.gls-res-head h3{margin:0}
.gls-for{margin:4px 0 0;font-size:var(--fs-15);color:var(--ink-2)}
.gls-two{display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.gls-box,.gls-rec,.gls-card{display:grid;gap:10px;align-content:start;padding:var(--s-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card-grad);box-shadow:var(--shadow-2)}
.gls-box-h{margin:0;font-size:var(--fs-13);font-weight:var(--fw-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted)}
.gls-count{margin:0;font-family:var(--font-serif);font-size:var(--fs-20);line-height:var(--lh-snug);color:var(--ink)}
.gls-n{font-size:var(--fs-40);font-weight:var(--fw-bold);line-height:1;margin-inline-end:4px;font-variant-numeric:tabular-nums}
.gls-small{margin:0;font-size:var(--fs-14);color:var(--ink-2)}
.gls-strong{padding-inline:2px}
.gls-recs-h{margin:var(--s-2) 0 0;font-family:var(--font-sans);font-size:var(--fs-16);color:var(--ink)}
.gls-recs{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3)}
.gls-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.gls-track{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--muted)}
.gls-chip{display:inline-block;padding:0 8px;font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-2);background:var(--card-2);border:1px solid var(--border);border-radius:var(--r-pill)}
.gls-card-title{margin:0;font-family:var(--font-serif);font-size:var(--fs-18);line-height:var(--lh-snug);color:var(--ink)}
.gls-card-org{margin:0;font-size:var(--fs-14);color:var(--ink-2)}
.gls-ribbon{display:flex;margin:0}
.gls-ribbon>span{display:inline-block;padding:3px 12px 3px 10px;font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-2);background:var(--card-2);border:1px solid var(--border-strong);border-inline-start:4px solid var(--gold);border-start-end-radius:var(--r-sm);border-end-end-radius:var(--r-sm)}
.gls-ribbon--soon>span{background:var(--warn-bg);border-color:var(--warn-line);border-inline-start-color:var(--warn);color:var(--warn-ink)}
.gls-realline{margin:0;padding:6px 10px;font-size:var(--fs-14);color:var(--ink);background:var(--card-2);border:1px solid var(--border);border-radius:var(--r-sm)}
.gls-real--two{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-ink)}
.gls-src{margin:0;font-size:var(--fs-13);color:var(--muted)}
.gls-src a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.gls-invite{display:grid;gap:var(--s-3);padding:var(--s-5);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--sidebar)}
.gls-invite h4{margin:0;font-family:var(--font-serif);font-size:var(--fs-20);color:var(--ink)}
.gls-invite p{margin:0;color:var(--ink-2)}
@media (prefers-reduced-motion:no-preference){
  .gls-rise{animation:gls-rise .55s var(--ease) both}
  .gls-d1{animation-delay:.05s}.gls-d2{animation-delay:.14s}.gls-d3{animation-delay:.23s}.gls-d4{animation-delay:.32s}.gls-d5{animation-delay:.41s}.gls-d6{animation-delay:.5s}
}
@keyframes gls-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* the six steps and their Example boxes */
.gls-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-6)}
.gls-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--s-3) var(--s-4);align-items:start}
.gls-num{grid-row:1;inline-size:44px;block-size:44px;border-radius:50%;display:grid;place-items:center;background:var(--white);border:2px solid var(--border-strong);font-family:var(--font-serif);font-size:var(--fs-20);font-weight:var(--fw-bold);color:var(--ink)}
.gls-step-text{grid-column:2}
.gls-step-text h3{margin:0 0 6px;font-size:var(--fs-20)}
.gls-step-text p{margin:0;color:var(--ink-2)}
.gls-ex{grid-column:2;display:grid;gap:var(--s-3);padding:var(--s-4);background:var(--white);border:1px dashed var(--border-strong);border-radius:var(--r-lg)}
@media (min-width:1000px){
  .gls-step{grid-template-columns:44px minmax(0,1fr) minmax(0,1.05fr)}
  .gls-step-text{grid-column:2}
  .gls-ex{grid-column:3;grid-row:1}
}
.gls-ex-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
.gls-facts{margin:0;display:grid;gap:8px}
.gls-facts>div{display:grid;gap:2px;padding-block-end:8px;border-block-end:1px solid var(--border)}
.gls-facts>div:last-child{border-block-end:0;padding-block-end:0}
.gls-facts dt{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--muted)}
.gls-facts dd{margin:0;font-size:var(--fs-15);color:var(--ink)}
.gls-tag{display:inline-block;margin-inline-start:6px;padding:0 8px;font-style:normal;font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--muted);background:var(--card-2);border:1px solid var(--border);border-radius:var(--r-pill)}
.gls-tag--ok{color:var(--ok-ink);background:var(--ok-bg);border-color:var(--ok-line)}
.gls-fit{display:inline-flex;align-items:center;justify-self:start;min-block-size:26px;padding:2px 11px;border-radius:var(--r-pill);font-size:var(--fs-13);font-weight:var(--fw-semibold);line-height:1.3;border:1px solid var(--border-strong);background:var(--card-2);color:var(--ink)}
.gls-fit--possible{background:var(--gold-soft);color:var(--gold-ink);border-color:var(--gold-line)}
.gls-card{box-shadow:none}
.gls-real-h{margin:0;font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--ink)}
.gls-ticks{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:var(--fs-14);color:var(--ink-2)}
.gls-ticks li{display:flex;gap:8px;align-items:flex-start}
.gls-ticks li::before{flex:none;inline-size:18px;font-weight:var(--fw-bold);text-align:center;content:"\25CB";color:var(--muted)}
.gls-ticks .is-ok::before{content:"\2713";color:var(--ok-ink)}
.gls-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.gls-chips li{padding:6px 14px;font-size:var(--fs-14);color:var(--ink-2);background:var(--card-2);border:1px solid var(--border-strong);border-radius:var(--r-pill)}
.gls-chips .is-on{color:var(--ink);border-color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--ink-2)}
.gls-chips .is-closed{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink)}
.gls-doc{display:grid;gap:var(--s-3)}
.gls-doc-chip{margin:0;justify-self:start;padding:2px 10px;font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--gold-ink);background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--r-pill)}
.gls-doc-body{margin:0;padding:var(--s-4);font-family:var(--font-serif);font-size:var(--fs-16);line-height:var(--lh-body);color:var(--ink);background:var(--doc-bg);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-1)}
.gls-tl{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:var(--fs-14);color:var(--ink-2)}
.gls-tl li{display:flex;flex-wrap:wrap;gap:4px 10px;padding-block-end:8px;border-block-end:1px solid var(--border)}
.gls-tl li:last-child{border-block-end:0;padding-block-end:0}
.gls-tl strong{color:var(--ink);min-inline-size:84px}

/* ---------- One list of events, the shortlist sheet, the filters sheet, one question at a time, entry cards (task T2, 2026-10-05). Logical properties only. ---------- */
.gls-out{display:grid;gap:var(--s-4);min-inline-size:0}
.gls-n-badge{display:inline-flex;align-items:center;justify-content:center;min-inline-size:22px;block-size:22px;margin-inline-start:8px;padding:0 6px;border-radius:var(--r-pill);background:var(--primary);color:#fff;font-size:var(--fs-13);font-weight:var(--fw-semibold)}
.gls-n-badge[hidden]{display:none}
.gls-types{grid-template-columns:repeat(3,minmax(0,1fr))}
.glob-result .faq{margin-block-start:var(--s-4)}
.result-summary{margin:0}

/* the shortlist chip: floats above the phone bar once something is on the list */
.short-chip{position:fixed;inset-inline-start:16px;inset-block-end:calc(16px + var(--ah-sticky-h,0px));z-index:60;display:inline-flex;align-items:center;min-block-size:48px;padding:0 22px;border:0;border-radius:var(--r-pill);background:var(--ink);color:#fff;font:inherit;font-size:var(--fs-16);font-weight:var(--fw-semibold);box-shadow:0 8px 24px rgba(16,42,67,.28);cursor:pointer}
.short-chip[hidden]{display:none}
.short-chip:focus-visible{outline:3px solid var(--primary-ink);outline-offset:3px}

/* bottom sheets (native dialog): the shortlist and More filters */
.sheet{padding:0;border:0;color:var(--ink);background:var(--card);inline-size:min(560px,100%);max-inline-size:100%;max-block-size:88vh;max-block-size:88dvh;overflow:auto;border-radius:var(--r-lg);box-shadow:0 20px 60px rgba(16,42,67,.35)}
.sheet:not([open]){display:none}
.sheet::backdrop{background:rgba(16,42,67,.5)}
.sheet-in{display:grid;gap:var(--s-4);padding:var(--s-5)}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}
.sheet-head h3{margin:0}
.sheet .btn{min-block-size:44px}
.sheet .short-list li{min-block-size:48px}
.sheet .hint{margin:0}
@media (max-width:720px){
  .sheet{inline-size:100%;margin-block:auto 0;margin-inline:0;border-end-start-radius:0;border-end-end-radius:0}
  .sheet-in{padding-block-end:calc(var(--s-5) + env(safe-area-inset-bottom,0px))}
}

/* Is this event real? one question on each screen, big tap cards */
.ck-progress{margin:0 0 var(--s-3);font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--muted)}
.ck-progress[hidden]{display:none}
.ck-step[hidden]{display:none}
.glob-check .ck-grid .choice{min-block-size:56px;padding-block:10px;font-size:var(--fs-16)}
.ck-nav .btn{min-block-size:44px}
.ck-nav [hidden]{display:none}
#check-result[hidden]{display:none}

/* entry rules: cards, 5 a page */
.vt-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3)}
.vt-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--card)}
.vt-country{font-size:var(--fs-16)}
.vt-note{grid-column:1/-1;margin:0;font-size:var(--fs-14);color:var(--ink-2)}
.vt-pick{display:grid;gap:var(--s-3);justify-items:start;margin-block-start:var(--s-3)}
.vt-pick[hidden]{display:none}
.vt-pick p{margin:0}

#gls-checked[hidden]{display:none}

/* city cards */
/* /global/: the hero line, the city cards, the month and industry chips and the entry strip on a card. Logical properties only (right to left pages mirror it); no inline style needed. */

/* city cards: a swipe row at every width (global-play.js drifts it slowly and pauses it); centred when the cards fit */
.gc-row{list-style:none;margin:var(--s-4) 0 var(--s-2);padding:6px 2px 14px;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;justify-content:safe center}
.gc-item{flex:0 0 auto;scroll-snap-align:start}
.gc-card{display:grid;gap:2px;inline-size:var(--gc-w,176px);padding:0 0 var(--s-3);text-align:start;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);color:var(--ink);box-shadow:var(--shadow-1);cursor:pointer;overflow:hidden;font:inherit;transition:box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.gc-card:hover{box-shadow:var(--shadow-2,var(--shadow-1));border-color:var(--border-strong)}
.gc-card:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.gc-card.is-on,.gc-card[aria-pressed="true"]{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}
.gc-photo{display:block;aspect-ratio:8/5;overflow:hidden;background:var(--card-2)}
.gc-photo img{display:block;inline-size:100%;block-size:100%;object-fit:cover}
.gc-name{padding-inline:var(--s-3);padding-block-start:var(--s-3);font-family:var(--font-serif);font-size:var(--fs-18);line-height:1.2}
.gc-sub{padding-inline:var(--s-3);font-size:var(--fs-13,13px);color:var(--muted)}
.gc-row:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:var(--r-md)}

/* month and industry chips */
.gc-filter{display:grid;gap:8px}
.gc-label{margin:0;font-weight:var(--fw-medium);font-size:var(--fs-14);color:var(--ink-2)}
.gc-chips{display:flex;flex-wrap:wrap;gap:8px}
.gc-chips .chip{min-block-size:40px}
@media (max-width:640px){.gc-chips{flex-wrap:nowrap;overflow-x:auto;padding-block-end:6px}.gc-chips .chip{flex:0 0 auto}}

/* the form sits on top of the results, not beside them */
.gls-radar{grid-template-columns:minmax(0,1fr)}
.gls-form{position:static}

/* entry strip on an event card: green, amber or red for the picked passport (the words stay in the badge) */
.event-card{position:relative;overflow:hidden}
.gls-strip{position:absolute;inset-inline:0;inset-block-start:0;block-size:5px;background:var(--border)}
.event-card--good .gls-strip{background:var(--ok-ink)}
.event-card--mid .gls-strip{background:var(--warn-ink)}
.event-card--low .gls-strip{background:var(--danger-ink)}


/* cinematic image pass (2026-10-07): decorative photos beside the text; no text sits on a photo except under .cine-scrim */
.cine-band{position:relative;margin:0 0 var(--s-5);aspect-ratio:21/8;overflow:hidden;border-radius:var(--r-md);background:var(--sky-2)}
.cine-band img{display:block;inline-size:100%;block-size:100%;object-fit:cover}
.cine-hero{position:relative;overflow:hidden;isolation:isolate}
.cine-hero-img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;z-index:-2}
.cine-scrim::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,14,26,.9) 0%,rgba(8,14,26,.78) 60%,rgba(8,14,26,.68) 100%)}
.cine-scrim :is(h1,.lead,.eyebrow,.cf-note){color:var(--on-solid)}
.cine-scrim .btn-secondary{background:transparent;color:var(--on-solid);border-color:var(--on-solid)}
:root[data-theme="dark"] .cine-band img{filter:brightness(.85)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cine-band img{filter:brightness(.85)}}
@media (max-width:760px){.cine-band{aspect-ratio:16/9}}

/* Gen Z playbook (2026-10-08): the invitation scan, the entry strip, the drifting city row, the month pulse and the plan card (global-play.js). Tokens only; logical properties; transform and opacity only; reduced motion shows the final state. */
.gp-sec h2{margin:0 0 var(--s-5)}
.gp-tag{justify-self:start;display:inline-block;padding:2px var(--s-2);border-radius:var(--r-pill);background:var(--gold-soft);color:var(--gold-ink);border:1px solid var(--gold-line);font-size:var(--fs-13);font-weight:var(--fw-semibold)}
.gp-scan{display:grid;gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.gp-case{display:grid;gap:var(--s-3);align-content:start;min-inline-size:0}
.gp-inv{position:relative;overflow:hidden;display:grid;gap:var(--s-3);padding:var(--s-5);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-2)}
.gp-org{margin:0;font-family:var(--font-serif);font-size:var(--fs-20);color:var(--ink)}
.gp-ph{display:flex;gap:var(--s-2);align-items:flex-start;margin:0;padding:var(--s-2) var(--s-3);border:1px solid transparent;border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--fs-15)}
.gp-ph .icon{inline-size:20px;block-size:20px;flex:none;margin-block-start:2px}
.gp-ph[data-tone="red"]{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger-ink)}
.gp-ph[data-tone="amber"]{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink)}
.gp-ph[data-tone="green"]{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-ink)}
.gp-beam{display:none;position:absolute;inset-inline:0;inset-block-start:0;block-size:3px;background:var(--primary);box-shadow:0 0 14px 2px var(--primary);pointer-events:none}
.gp-ver{display:grid;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card)}
.gp-ver--warn{border-color:var(--danger-line);background:var(--danger-bg)}
.gp-ver--ok{border-color:var(--ok-line);background:var(--ok-bg)}
.gp-vt{display:flex;align-items:center;gap:var(--s-2);margin:0;font-size:var(--fs-18);font-weight:var(--fw-bold)}
.gp-vt .icon{inline-size:22px;block-size:22px;flex:none}
.gp-ver--warn .gp-vt{color:var(--danger-ink)}
.gp-ver--ok .gp-vt,.gp-note{color:var(--ok-ink)}
.gp-note{margin:0}
.gp-chips{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2)}
.gp-ch{padding:var(--s-1) var(--s-3);border:1px solid;border-radius:var(--r-pill);font-size:var(--fs-14);font-weight:var(--fw-semibold)}
.gp-ch--red{background:var(--card);border-color:var(--danger-line);color:var(--danger-ink)}
.gp-ch--amber{background:var(--card);border-color:var(--warn-line);color:var(--warn-ink)}
.gp-ch--green{background:var(--card);border-color:var(--ok-line);color:var(--ok-ink)}
.gp-ctl{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-block-start:var(--s-4)}
.gp-ctl[hidden],.gp-mo[hidden],#gp-drift[hidden],#gp-mo-btn[hidden]{display:none}
.gp-ctl .btn,.gp-mo .btn,.gp-drift .btn{min-block-size:44px}
.gp-scan.is-js .gp-case:not(.is-on) .gp-inv{opacity:.5}
.gp-scan.is-js .gp-ph:not(.is-lit){background:var(--card-2);border-color:var(--border);color:var(--muted)}
.gp-scan.is-js .gp-ph:not(.is-lit) .icon{opacity:.4}
.gp-scan.is-js .gp-ver{opacity:0;transform:translateY(16px)}
.gp-scan.is-js .gp-ver.is-in{opacity:1;transform:none}
.gp-scan.is-js .gp-ch{opacity:0;transform:scale(.85)}
.gp-scan.is-js .gp-ver.is-in .gp-ch{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){
  .gp-inv.is-scan .gp-beam{display:block}
  .gp-scan.is-js .gp-inv{transition:opacity .4s var(--ease)}
  .gp-scan.is-js .gp-ph{transition:background-color .3s,border-color .3s,color .3s}
  .gp-scan.is-js .gp-ver{transition:opacity .45s var(--ease),transform .45s var(--ease)}
  .gp-scan.is-js .gp-ch{transition:opacity .35s var(--ease),transform .35s var(--ease)}
  .gp-scan.is-js .gp-ver.is-in .gp-ch:nth-child(2){transition-delay:.2s}
  .gp-scan.is-js .gp-ver.is-in .gp-ch:nth-child(3){transition-delay:.4s}
}
/* the entry strip */
.gp-ent{display:grid;gap:var(--s-4);max-inline-size:560px}
.gp-pick{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.gp-pick .chip{min-block-size:44px}
.gp-evt{display:grid;gap:var(--s-3);padding:var(--s-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-1)}
.gp-evt-t{margin:0;font-family:var(--font-serif);font-size:var(--fs-20);color:var(--ink)}
.gp-meter{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s-1)}
.gp-meter span{block-size:12px;border-radius:var(--r-pill);background:var(--border-strong)}
.gp-ent[data-tone="red"] .gp-meter .is-on{background:var(--danger-ink)}
.gp-ent[data-tone="amber"] .gp-meter .is-on{background:var(--warn-ink)}
.gp-ent[data-tone="green"] .gp-meter .is-on{background:var(--ok-ink)}
.gp-lvl{margin:0;font-weight:var(--fw-semibold)}
.gp-ent[data-tone="red"] .gp-lvl{color:var(--danger-ink)}
.gp-ent[data-tone="amber"] .gp-lvl{color:var(--warn-ink)}
.gp-ent[data-tone="green"] .gp-lvl{color:var(--ok-ink)}
.gp-facts{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2)}
.gp-facts li{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border-radius:var(--r-pill);background:var(--primary-soft);color:var(--primary-ink);font-size:var(--fs-14)}
.gp-facts .icon{inline-size:18px;block-size:18px;flex:none}
@media (prefers-reduced-motion:no-preference){.gp-meter span{transition:background-color .3s var(--ease)}.gp-meter span:nth-child(2){transition-delay:.08s}.gp-meter span:nth-child(3){transition-delay:.16s}.gp-meter span:nth-child(4){transition-delay:.24s}.gp-meter span:nth-child(5){transition-delay:.32s}}
/* the city row's Pause */
.gp-drift{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3)}
.gp-drift .hint{margin:0}
/* the globe's month */
.gp-mo{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3)}
.gp-mo-n{margin:0;min-inline-size:11ch;font-weight:var(--fw-bold);color:var(--ink)}
.gp-mo .hint{margin:0;flex-basis:100%}
.gl-pin.is-pulse::after{content:"";position:absolute;inset:8px;border:2px solid var(--gold);border-radius:50%;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.gl-pin.is-pulse::after{animation:gp-pulse 1.6s ease-out infinite}}
@keyframes gp-pulse{from{transform:scale(.6);opacity:1}to{transform:scale(1.7);opacity:0}}
/* the plan card */
.gp-plan{display:grid;gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start}
.gp-fc{display:grid;gap:var(--s-3);padding:var(--s-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-1)}
.gp-ct{margin:0;font-family:var(--font-serif);font-size:var(--fs-20);color:var(--ink)}
.gp-fields,.gp-ticks{margin:0;padding:0;display:grid;gap:var(--s-3)}
.gp-fields li{display:grid;gap:var(--s-1);font-size:var(--fs-14);color:var(--muted)}
.gp-fill{display:block;block-size:8px;border-radius:var(--r-pill);background:var(--primary);inline-size:100%;transform-origin:left center}
[dir="rtl"] .gp-fill{transform-origin:right center}
.gp-fields li:nth-child(2) .gp-fill{inline-size:80%}
.gp-fields li:nth-child(3) .gp-fill{inline-size:65%}
.gp-ticks li{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);font-weight:var(--fw-semibold)}
.gp-ticks .icon{inline-size:22px;block-size:22px;flex:none;color:var(--ok-ink)}
.gp-ticks .is-you .icon{color:var(--primary)}
.gp-plan.is-js:not(.is-play) .gp-fill{transform:scaleX(.05)}
.gp-plan.is-js:not(.is-play) .gp-ticks .icon{transform:scale(0);opacity:0}
@media (prefers-reduced-motion:no-preference){
  .gp-plan.is-js .gp-fill{transition:transform 1.1s var(--ease)}
  .gp-plan.is-js .gp-fields li:nth-child(2) .gp-fill{transition-delay:.4s}
  .gp-plan.is-js .gp-fields li:nth-child(3) .gp-fill{transition-delay:.8s}
  .gp-plan.is-js .gp-ticks .icon{transition:transform .35s var(--ease),opacity .35s var(--ease)}
  .gp-plan.is-js .gp-ticks li:nth-child(1) .icon{transition-delay:1.3s}
  .gp-plan.is-js .gp-ticks li:nth-child(2) .icon{transition-delay:1.8s}
  .gp-plan.is-js .gp-ticks li:nth-child(3) .icon{transition-delay:2.3s}
  .gp-plan.is-js .gp-ticks li:nth-child(4) .icon{transition-delay:2.8s}
}
.gp-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4);margin-block-start:var(--s-6)}
.gp-risk{margin:0;font-weight:var(--fw-semibold);color:var(--ink-2)}
.gp-faq{margin-block-start:var(--s-5)}
