/* Shared editorial refinements: history, destinations and country access. */
.editorial #growth { background: var(--w8); }
.editorial #growth .tl__pin {
  justify-content: flex-start; padding: 112px 0 30px;
  -webkit-mask-image: none; mask-image: none;
}
.editorial #growth .tl__pin > .wrap { width: 100%; }
.editorial #growth .head { align-items: flex-end; margin-bottom: 36px; }
.editorial #growth .head__k { margin-bottom: 14px; color: var(--gold); }
.editorial #growth .head .d2 { font-size: clamp(36px, 4vw, 58px); line-height: 1.12; letter-spacing: -.045em; }
.editorial #growth .head__a { max-width: 31ch; font-size: 13px; line-height: 1.6; }
/* The pinned title is always readable, independently of heading reveal masks. */
.editorial #growth .head, .editorial #growth .head :is(.lnr, .ln) {
  transform: none !important; translate: none !important; opacity: 1 !important;
  clip-path: none !important; overflow: visible;
}
.editorial #growth .tl__list { gap: clamp(40px, 6vw, 100px); }
.editorial #growth .tl__stop { width: min(48vw, 440px); padding-top: 24px; }
.editorial #growth .tl__y { color: var(--gold); font-size: clamp(64px, 6.5vw, 94px); line-height: 1; margin: 0; letter-spacing: -.05em; }
.editorial #growth .tl__stop h3 { font-size: 27px; line-height: 1.15; margin-top: 14px; }
.editorial #growth .tl__stop .sm { font-size: 14px; line-height: 1.55; max-width: 46ch; }
.editorial #growth .tl__stop p { margin-top: 10px; }
.editorial #growth .tl__stop .tl__y { margin-top: 0; }
.editorial #growth .tl__stop .btn { min-height: 42px; font-size: 11px; }
.editorial #growth .tl__stop::before { width: 7px; height: 7px; border-radius: 50%; }
.editorial #growth .tl__stop::after { left: 7px; top: 3px; }
.editorial #growth .tl__bar { margin-top: 24px; gap: 28px; }
.editorial #growth .tl__bar .carou__idx { display: none; }
.tl__years { display: flex; gap: 4px; }
.tl__years button {
  min-width: 60px; min-height: 44px; padding: 10px 12px; border: 0;
  background: transparent; color: var(--w1); font: inherit; font-size: 12px;
  cursor: pointer; border-bottom: 1px solid var(--line-d); transition: color .3s, border-color .3s;
}
.tl__years button[aria-current="step"] { color: var(--gold); border-bottom-color: var(--gold); }
.tl__years button:hover { color: var(--gold); }
.tl__years button:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.editorial #growth .tl__hint { font-size: 10px; }

/* Cards keep their paper background. Only the photograph and gold arrow move. */
.markets-page #destinations .destination-card,
.markets-page #destinations .destination-card:hover {
  background: transparent; border-color: var(--line-l); padding-bottom: 30px;
  transition: border-color .5s var(--ease);
}
.markets-page #destinations .destination-card > :not(.card__media),
.markets-page #destinations .destination-card:hover > :not(.card__media) {
  translate: none; transform: none;
}
.markets-page #destinations .destination-card .card__media { overflow: hidden; }
.markets-page #destinations .destination-card .destination-card__footprint {
  display: flex; align-items: center; gap: 16px; min-height: 72px;
  margin: -8px 0 22px; padding: 0 0 18px; border-bottom: 1px solid var(--line-l);
}
.destination-card__footprint > svg { width: 64px; height: 50px; flex: 0 0 64px; color: var(--gold-deep); overflow: visible; }
.destination-card__footprint path { fill: none; stroke: currentColor; stroke-width: 1.1; vector-effect: non-scaling-stroke; }
.destination-card__footprint > span { display: flex; align-items: center; gap: 12px; }
.destination-card__footprint strong { font-size: 30px; font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.destination-card__footprint span > span { font-size: 11px; line-height: 1.4; max-width: 16ch; }
.markets-page #destinations .destination-card .card__media img {
  filter: none; scale: 1; translate: none; transform: none;
  transition: scale .9s cubic-bezier(.2,.65,.3,1);
}
.markets-page #destinations .cards .destination-card .card__media::after { opacity: 0; }
.markets-page #destinations .destination-card .destination-card__arrow {
  bottom: 20px; width: 42px; height: 42px; padding: 11px;
  border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-deep);
  transition: background .4s, color .4s, rotate .5s var(--ease);
}
.markets-page #destinations .destination-card > .kick:last-of-type { padding-right: 52px; min-height: 24px; }
@media (hover:hover) and (pointer:fine) {
  .markets-page #destinations .destination-card:hover { border-color: var(--gold-deep); }
  .markets-page #destinations .destination-card:hover .card__media img { scale: 1.045; }
  .markets-page #destinations .destination-card:hover .destination-card__arrow { background: var(--gold); color: var(--w8); rotate: -35deg; }
}
.markets-page #destinations .destination-card:focus-visible { outline: 2px solid var(--gold-deep); outline-offset: 6px; }
.markets-page #destinations .destination-card:focus-visible .destination-card__arrow { background: var(--gold); color: var(--w8); }

/* Real country geometry and the exact number of published finder locations. */
.country-presence__visual { min-width: 0; }
.country-footprint {
  display: grid; grid-template-columns: minmax(100px, .75fr) 1fr auto;
  align-items: center; gap: 22px; padding: 28px 0 0; color: var(--w7);
}
.country-footprint__map { width: 100%; height: 120px; overflow: visible; color: var(--gold-deep); }
.country-footprint__map path { fill: none; stroke: currentColor; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.country-footprint__copy { display: flex; flex-direction: column; gap: 6px; }
.country-footprint__copy strong { font-size: 64px; line-height: 1; font-weight: 400; letter-spacing: -.055em; }
.country-footprint__copy span { font-size: 13px; line-height: 1.4; max-width: 20ch; }
.country-footprint__arrow { width: 24px; height: 24px; transition: transform .5s var(--ease); }
.country-footprint:hover .country-footprint__arrow { transform: translateX(5px); }
.country-footprint:focus-visible { outline: 2px solid var(--gold-deep); outline-offset: 7px; }
.country-footprint.is-tracing .country-footprint__map path { animation: country-outline 1.8s var(--ease) both; }
@keyframes country-outline { from { stroke-dasharray: 1000; stroke-dashoffset: 1000; } to { stroke-dasharray: 1000; stroke-dashoffset: 0; } }

/* A calm footer, with a permanent country directory above the legal details. */
.editorial .foot { background: linear-gradient(140deg, var(--w7), var(--w8) 70%); }
.editorial .foot__top { padding-bottom: 52px; gap: 44px; }
.editorial .foot__say .d2 { font-size: clamp(42px, 4.5vw, 68px); line-height: 1.08; }
.editorial .foot__sub { font-size: 13px; line-height: 1.65; text-transform: none; letter-spacing: .015em; max-width: 35ch; }
.editorial .foot__say .brk { margin-top: 28px; }
.editorial .foot__big { gap: 8px; }
.editorial .foot__big a { font-size: clamp(23px, 2.3vw, 32px); line-height: 1.35; }
.editorial .foot__brands img { opacity: .9; }
.editorial .foot__seal { opacity: .035; }
.foot__countries { position: relative; padding: 30px 0 36px; border-top: 1px solid var(--line-d); }
.foot__countries-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.foot__countries-title { font-size: 14px; font-weight: 400; color: var(--gold); }
.foot__countries-head > span { font-size: 11px; color: var(--w1); letter-spacing: .05em; }
.foot__country-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); column-gap: 30px; row-gap: 3px; }
.foot__country {
  display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 52px;
  padding: 10px 0; color: var(--ivory); font-size: 15px; line-height: 1.4;
  transition: color .3s;
}
.foot__country img { width: 26px; height: 18px; object-fit: cover; flex: 0 0 auto; border-radius: 1px; }
.foot__country > span { flex: 1; }
.foot__country > svg { width: 16px; height: 16px; flex: 0 0 auto; color: var(--gold); transition: transform .4s var(--ease); }
.foot__country:is(:hover,[aria-current="page"]) { color: var(--gold); }
.foot__country:hover > svg { transform: translateX(4px); }
.foot__country:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.editorial .foot__legal { padding-top: 26px; }

@media (min-width: 761px) and (max-height: 820px) {
  .editorial #growth .tl__pin { padding-top: 100px; padding-bottom: 22px; }
  .editorial #growth .head { margin-bottom: 24px; }
  .editorial #growth .head .d2 { font-size: 40px; }
  .editorial #growth .head__k { margin-bottom: 8px; }
  .editorial #growth .tl__y { font-size: 68px; }
  .editorial #growth .tl__stop h3 { font-size: 24px; margin-top: 10px; }
  .editorial #growth .tl__stop .sm { font-size: 13px; }
  .editorial #growth .tl__bar { margin-top: 18px; }
}
@media (max-width: 1000px) {
  .foot__country-list { grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 24px; }
  .editorial #growth .head { display: block; }
  .editorial #growth .head__a { margin-top: 12px; max-width: 56ch; }
  .editorial #growth .tl__hint { display: none; }
  .country-footprint { gap: 16px; }
  .country-footprint__copy strong { font-size: 52px; }
}
@media (max-width: 760px), (max-height: 650px), (prefers-reduced-motion: reduce) {
  .js .editorial #growth { height: auto; }
  .js .editorial #growth .tl__pin { position: relative; height: auto; min-height: 0; padding: 72px 0 52px; }
  .js .editorial #growth .tl__track { overflow-x: auto; transform: none; margin: 0; padding: 0 0 8px; scroll-snap-type: x mandatory; scroll-padding-left: 0; }
  .editorial #growth .tl__stop { width: min(82vw,440px); scroll-snap-align: start; }
  .editorial #growth .tl__stop:last-child { margin-right: 6vw; }
  .editorial #growth .tl__stop:last-child::after { width: 100%; }
  .editorial #growth .head .d2 { font-size: 38px; }
  .editorial #growth .tl__bar { display: block; margin-top: 20px; }
  .editorial #growth .tl__prog, .editorial #growth .tl__hint { display: none; }
  .tl__years { gap: 0; justify-content: space-between; }
  .tl__years button { min-width: 0; padding: 10px 8px; }
}
@media (max-width: 600px) {
  .editorial .foot__top { gap: 32px; padding-bottom: 34px; }
  .editorial .foot__big { grid-template-columns: 1fr 1fr; gap: 6px 20px; }
  .editorial .foot__big a { font-size: 20px; min-height: 44px; width: auto; display: flex; align-items: center; }
  .editorial .foot__from { margin-top: 4px; }
  .foot__countries { padding-top: 26px; padding-bottom: 26px; }
  .foot__country-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px 18px; }
  .foot__country { font-size: 13px; gap: 8px; min-height: 54px; }
  .foot__country img { width: 22px; height: 15px; }
  .foot__country > svg { width: 12px; height: 12px; }
  .foot__countries-head > span { display: none; }
  .country-footprint { grid-template-columns: 110px 1fr auto; padding-top: 24px; }
  .country-footprint__map { height: 100px; }
}
@media (prefers-reduced-motion: reduce) {
  .country-footprint.is-tracing .country-footprint__map path { animation: none; }
  .markets-page #destinations .destination-card .card__media img,
  .markets-page #destinations .destination-card .destination-card__arrow,
  .country-footprint__arrow, .foot__country > svg { transition: none; }
  .markets-page #destinations .destination-card:hover .card__media img { scale: 1; }
}

/* Smoked glass is shared by every editorial data panel. */
.editorial .dcard {
  isolation:isolate; padding:clamp(24px,3vw,42px); gap:36px;
  color:var(--ivory); border:1px solid color-mix(in srgb,var(--w1) 28%,transparent);
  border-radius:0; overflow:hidden;
  background:linear-gradient(125deg,color-mix(in srgb,var(--w3) 38%,var(--w7)),var(--w7) 42%,var(--w8) 82%);
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ivory) 35%,transparent),inset 1px 0 0 color-mix(in srgb,var(--w1) 18%,transparent),0 22px 48px -28px color-mix(in srgb,var(--w8) 45%,transparent);
  -webkit-backdrop-filter:blur(24px) saturate(125%);backdrop-filter:blur(24px) saturate(125%);
}
.editorial .dcard::before,.editorial .dcard::after,.editorial .dcard__seal {display:none}
.editorial .dcard::before {
  inset:0;background:linear-gradient(115deg,transparent 12%,color-mix(in srgb,var(--w1) 12%,transparent) 12.3%,transparent 38%),radial-gradient(ellipse at 100% 100%,color-mix(in srgb,var(--gold) 14%,transparent),transparent 62%);
}
.editorial .dcard::after {
  inset:auto -8% -12% auto;width:62%;height:82%;opacity:.055;
  background:url('../logo/senator-s-web.png') center/contain no-repeat;
}
.editorial .dcard .kick {color:var(--w1);font-size:11px;letter-spacing:.07em;line-height:1.5}
.editorial .dcard .dcard__n {color:var(--ivory);font-size:clamp(40px,4.2vw,64px);line-height:1.12;letter-spacing:-.035em}
.editorial .dcard .dcard__n .kick {font-size:11px;color:var(--gold);margin-left:5px}
.editorial .dcard .dcard__row + .dcard__row {border-color:color-mix(in srgb,var(--w1) 20%,transparent)}
.editorial .dcard .tx2 {color:var(--w1)}
.editorial .dcard .dcard__foot .btn {border:1px solid color-mix(in srgb,var(--gold) 60%,transparent);background:transparent;color:var(--gold)}
.editorial .dcard .dcard__foot .btn > span,.editorial .dcard .dcard__foot .btn > b {background:transparent;color:inherit}
.editorial .dcard .dcard__foot .btn:hover {background:color-mix(in srgb,var(--gold) 12%,transparent)}
.editorial .dcard .lic-seal {filter:drop-shadow(0 2px 12px color-mix(in srgb,var(--w8) 15%,transparent))}
/* Contextual outline icons replace the numbered black pills in information lists. */
.feature-icon {display:inline-grid;place-items:center;width:46px;height:46px;margin-bottom:20px;border-radius:50%;border:1px solid color-mix(in srgb,var(--gold-deep) 32%,transparent);background:transparent;color:var(--gold-deep);box-shadow:none}
.feature-icon svg {width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
:is(.band--dark,.band--wash,.band--wash-up) .feature-icon {color:var(--gold);border-color:color-mix(in srgb,var(--gold) 35%,transparent);background:transparent;box-shadow:none}
.rail li:has(.feature-icon) {padding-block:26px}
.rows__list .feature-icon {margin-bottom:0}
.rail .grow > .feature-icon {margin-bottom:0;flex-shrink:0}
/* Complete the existing information cards with the shared outline vocabulary. */
.editorial .card.card--information {border-radius:0;background:var(--card-bg,var(--paper))}
.editorial .card.card--information:hover {background:var(--card-bg,var(--paper))}
.editorial :is(.band--dark,.band--wash,.band--wash-up) .card.card--information,
.editorial :is(.band--dark,.band--wash,.band--wash-up) .card.card--information:hover {background:var(--card-bg,var(--ink))}
.card--information > .feature-icon {margin:0 0 8px;flex-shrink:0}
.card--information[data-on="light"] > .feature-icon {color:var(--gold-deep);border-color:color-mix(in srgb,var(--gold-deep) 32%,transparent)}
.card--information[data-on="dark"] > .feature-icon {color:var(--gold);border-color:color-mix(in srgb,var(--gold) 35%,transparent)}
@media(max-width:600px){
  .card.card--information {padding:22px 22px 22px 84px;min-height:86px}
  .card--information > .feature-icon {position:absolute;top:22px;left:22px;margin:0}
  .editorial .operator-strip .card.card--information {padding:0 0 0 62px;min-height:62px}
  .operator-strip .card--information > .feature-icon {top:0;left:0}
  .market-facts .card.card--information {padding:0;min-height:0}
  .market-facts .card--information > .feature-icon {position:static;margin:0 0 4px}
  .licensing-page #operator .cards {grid-template-columns:1fr;gap:20px}
  .licensing-page #operator .card.card--information {padding:22px 22px 22px 84px}
}
@media(max-width:600px){.editorial .dcard{padding:26px;min-height:360px;border-radius:0}.feature-icon{width:42px;height:42px;margin-bottom:16px}}

/* Age seals share the same unfilled gold outline as the information icons. */
.age-badge[role="img"] {
  --age-size:46px;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  width:var(--age-size);height:var(--age-size);padding:0;box-sizing:border-box;
  border:1px solid color-mix(in srgb,currentColor 58%,transparent);border-radius:50%;
  background:transparent;box-shadow:none;color:var(--gold-deep);
  font-family:var(--font-body,inherit);font-size:calc(var(--age-size) * .34);
  font-weight:500;line-height:1;letter-spacing:-.045em;vertical-align:middle;
}
.age-badge.age-badge--small {--age-size:32px}
.age-badge.age-badge--large {--age-size:72px}
:is(.band--dark,.band--wash,.band--wash-up,.hero,.foot,.dcard):not(.dcard--lit) .age-badge[role="img"] {color:var(--gold)}
.editorial .dcard--lit .age-badge[role="img"] {color:var(--gold-deep)}
[data-i18n="ft.age"],.age-line {display:inline-flex;align-items:center;gap:12px}
[data-i18n="ft.age"] > span:last-child {min-width:0}
.security-cards.cards {gap:20px;background:transparent}
.security-cards.cards > .card {
  padding:28px;gap:12px;border:1px solid var(--line-d);border-radius:0;
  background:var(--w8);box-shadow:none;
}
.security-cards.cards > .card:hover {background:var(--w8)}
.security-cards .feature-icon,.security-cards .age-badge {margin:0 0 14px}
.security-cards .kick {margin:0}
@media(max-width:600px){
  .security-cards.cards {gap:12px}
  .security-cards.cards > .card {padding:24px;display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:18px;row-gap:8px}
  .security-cards .feature-icon,.security-cards .age-badge {width:46px;height:46px;margin:0;grid-row:1 / 3;align-self:center}
  .security-cards .kick,.security-cards .h5 {grid-column:2}
  .age-badge.age-badge--large {--age-size:60px}
}

/* Language snapshots dissolve in place instead of using the page slide. */
html.is-language-switch::view-transition-group(root) {
  animation:none;width:100%;height:var(--language-height,100dvh);
}
html.is-language-switch::view-transition-old(root),
html.is-language-switch::view-transition-new(root) {
  width:100%;height:100%;transform:none;mix-blend-mode:normal;
  animation-timing-function:cubic-bezier(.22,.61,.36,1);animation-fill-mode:both;
}
html.is-language-switch::view-transition-old(root) {animation:senator-language-out 200ms ease-in both}
html.is-language-switch::view-transition-new(root) {animation:senator-language-in 300ms 60ms cubic-bezier(.22,.61,.36,1) both}
@keyframes senator-language-out {from{opacity:1}to{opacity:0}}
@keyframes senator-language-in {from{opacity:0}to{opacity:1}}

/* A bright tip and a short tail travel along each country connection. */
.wmap--flowing .wmap__signals {pointer-events:none;fill:none}
.wmap--flowing .wmap__signal {opacity:.88;transition:opacity .25s ease}
.wmap--flowing .wmap__signal path {
  stroke:var(--gold);stroke-linecap:round;vector-effect:non-scaling-stroke;
  animation-duration:var(--route-duration);animation-delay:var(--route-phase);
  animation-timing-function:linear;animation-iteration-count:infinite;animation-play-state:paused;
}
.wmap--flowing .wmap__signal-trail {stroke-width:1.4;stroke-opacity:.68;stroke-dasharray:10 90;animation-name:senator-route-trail}
.wmap--flowing .wmap__signal-head {stroke-width:3.2;stroke-dasharray:.01 99.99;animation-name:senator-route-head}
.wmap--flowing.is-flowing .wmap__signal path {animation-play-state:running}
.wmap--flowing.has-active-route .wmap__signal {opacity:.16}
.wmap--flowing.has-active-route .wmap__signal.is-active {opacity:1}
.wmap--flowing .wmap__signals:not(:has(path)) {display:none}
@keyframes senator-route-trail {from{stroke-dashoffset:10}to{stroke-dashoffset:-90}}
@keyframes senator-route-head {from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}
@media(prefers-reduced-motion:reduce){.wmap--flowing .wmap__signals{display:none}.wmap--flowing .wmap__signal path{animation:none}}

/* Country photography keeps a constant paper surface, including on hover. */
body.editorial .venue-gallery .card,body.editorial .venue-gallery .card:hover {background:transparent;translate:none;transform:none}
body.editorial .venue-gallery .card__media {display:block;width:100%;padding:0;border:0;cursor:zoom-in;aspect-ratio:1.5;background:transparent;color:var(--ivory);overflow:hidden}
body.editorial .venue-gallery .card__media img {width:100%;height:100%;object-fit:cover;filter:none;scale:1;transition:scale .85s var(--ease)}
body.editorial .venue-gallery .card__media::after {display:none}
body.editorial .venue-gallery .card > :not(.card__media) {translate:none;transform:none}
body.editorial .venue-gallery .card > .kick {color:var(--gold-deep);font-size:10px;letter-spacing:.1em}
body.editorial .venue-gallery .card .h5 {font-size:16px;line-height:1.5;font-weight:400;margin-top:12px;padding-right:12px}
.gallery-expand {position:absolute;right:16px;bottom:16px;width:38px;height:38px;padding:10px;border:1px solid color-mix(in srgb,var(--ivory) 40%,transparent);border-radius:50%;background:color-mix(in srgb,var(--w8) 40%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;translate:0 4px;transition:opacity .3s,translate .3s}
.venue-gallery .card__media:is(:hover,:focus-visible) .gallery-expand {opacity:1;translate:0 0}
@media(hover:hover){body.editorial .venue-gallery .card__media:hover img{scale:1.04}}
@media(hover:none){.gallery-expand{opacity:1;translate:none}}
@media(prefers-reduced-motion:reduce){body.editorial .venue-gallery .card__media img,.gallery-expand{transition:none;scale:1!important;translate:none}}
.editorial .dcard .lic-seal {padding:12px;background:var(--paper);border-radius:0;filter:none;box-sizing:content-box}

/* Licence records retain their original paper treatment. */
.editorial .dcard.dcard--lit {background:var(--ivory);color:var(--tx-l);border-color:var(--line-l);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.editorial .dcard.dcard--lit::before {display:none}
.editorial .dcard.dcard--lit .kick,.editorial .dcard.dcard--lit .tx2 {color:var(--tx-l-2)}
.editorial .dcard.dcard--lit .dcard__n {color:var(--tx-l)}
.editorial .dcard.dcard--lit .dcard__row + .dcard__row {border-color:var(--line-l)}
.editorial .dcard.dcard--lit .lic-seal {padding:0;background:transparent;box-sizing:border-box}
.editorial .dcard.dcard--lit .dcard__foot .btn {color:var(--gold-deep);border-color:var(--gold-deep)}
