/* FI NEXT — sapphire glass, champagne foil and flowing light. */
.fi-celestial-edition {
  --fi-foil: #efce92;
  --fi-ice: #a9dfff;
}
.fi-celestial-edition [data-fi-stage] { position: relative; isolation: isolate; }
.fi-lustre {
  position: absolute; inset: 0; overflow: hidden; z-index: 0;
  pointer-events: none; user-select: none; contain: paint;
  border-radius: inherit;
}
.fi-celestial-edition [data-fi-stage] > :is(.section-wrap,.page-width,.ia-hero-inner,.ia-hero-content) {
  position: relative; z-index: 2;
}
.fi-lustre::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 91% 15%,#75c8ff23,transparent 43%),radial-gradient(ellipse at 12% 92%,#e9c48817,transparent 46%);
}
.fi-lustre::after {
  content: ""; position: absolute; inset: 0 0 auto; height: 1px;
  background: linear-gradient(90deg,transparent 3%,#9abed34d 25%,#d8b77b99 58%,#bdd8e04d 84%,transparent);
}
.fi-lustre__orbit {
  position: absolute; inset: -12% -15% -20% 15%;
  background: url('/assets/celestial-orbits-20261030.svg') center/100% 100% no-repeat;
  opacity: .64; transform-origin: 69% 53%;
}
.fi-lustre__flow { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.fi-lustre__trail { fill: none; stroke: #c5dfff; stroke-width: .65; opacity: .17; }
.fi-lustre__current { fill: none; stroke: #ffedc8; stroke-width: 1.8; stroke-linecap: round; stroke-dasharray: 12 988; opacity: .8; }
.fi-lustre__current--blue { stroke: #a3e2ff; stroke-width: 1.3; stroke-dasharray: 6 994; }
.fi-lustre__flare {
  position: absolute; left: 91%; top: 15%; width: 76px; height: 76px;
  transform: translate(-50%,-50%); opacity: .84;
  background: radial-gradient(circle,#fff8db 0 1px,#fbe7b9b3 2px,#f0cb7755 5px,#e7b55716 17px,transparent 37px);
}
.fi-lustre__flare::before,.fi-lustre__flare::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 1px; height: 80px;
  transform: translate(-50%,-50%); background: linear-gradient(transparent,#f6d89a99,#fff8dc,#f6d89a99,transparent);
}
.fi-lustre__flare::after { transform: translate(-50%,-50%) rotate(90deg); }
.fi-lustre__star {
  position: absolute; width: 4px; height: 4px; left: var(--x); top: var(--y);
  border-radius: 50%; background: #ffe9b9; opacity: .6;
  box-shadow: 0 0 9px 2px #edc7836b,0 0 23px #d4b37a26;
}
.fi-lustre__star:nth-of-type(3n) { width: 2px; height: 2px; background: #c5edff; box-shadow: 0 0 12px #a9dfff99; }
.fi-lustre__star:nth-of-type(4n)::before,.fi-lustre__star:nth-of-type(4n)::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 1px; height: 19px;
  transform: translate(-50%,-50%); background: linear-gradient(transparent,#fff2d2,transparent);
}
.fi-lustre__star:nth-of-type(4n)::after { transform: translate(-50%,-50%) rotate(90deg); }
[data-fi-stage="paper"] > .fi-lustre::before {
  background: radial-gradient(ellipse at 100% 0,#a3cdee1c,transparent 52%),radial-gradient(ellipse at 0 100%,#d6b77516,transparent 47%);
}
[data-fi-stage="paper"] > .fi-lustre .fi-lustre__orbit { opacity: .21; inset: -18% -24% -30% 30%; }
[data-fi-stage="paper"] > .fi-lustre .fi-lustre__star { background: #ac8446; opacity: .34; box-shadow: 0 0 9px #bd9a5d26; }
[data-fi-stage="paper"] > .fi-lustre .fi-lustre__current { stroke: #bb9459; opacity: .42; stroke-width: 1.2; }
[data-fi-stage="paper"] > .fi-lustre .fi-lustre__trail { stroke: #4e8cb6; opacity: .1; }
[data-fi-stage="paper"] > .fi-lustre .fi-lustre__flare { display: none; }
[data-fi-stage="paper"] > .fi-lustre .fi-lustre__star:nth-of-type(4n)::before,
[data-fi-stage="paper"] > .fi-lustre .fi-lustre__star:nth-of-type(4n)::after { background: linear-gradient(transparent,#d4b16a99,transparent); }

/* Restore the luminosity of the approved glass artwork; the composition stays. */
.fi-celestial-edition.fi-next-arrow-edition.fi-prestige-edition #top .fi-hero-media { opacity: .86; }
.fi-celestial-edition.fi-next-arrow-edition.fi-prestige-edition #top .fi-hero-media::after {
  background: linear-gradient(90deg,#041733fa 0%,#041b42e8 30%,#06204d8c 58%,#06235024 100%),linear-gradient(0deg,#04193685,transparent 28%);
}
.fi-celestial-edition.fi-next-arrow-edition.fi-prestige-edition #top .fi-hero-media > img { filter: saturate(1.07); }
.fi-celestial-edition #top > .fi-lustre::before { background: radial-gradient(ellipse at 80% 8%,#81d5ff36,transparent 45%),radial-gradient(ellipse at 60% 93%,#f0cc7926,transparent 46%); }
.fi-celestial-edition #top > .fi-lustre .fi-lustre__orbit { opacity: .85; inset: -9% -15% -22% 17%; }
.fi-celestial-edition #top .next-hero-logo { filter: drop-shadow(0 5px 12px #001132a6); }
.fi-celestial-edition #top .next-hero-visual figcaption > span { text-shadow: 0 3px 20px #00102bd9; }
.fi-celestial-edition #top .next-hero-visual figcaption > span:first-child { color: #f7d997; }
.fi-celestial-edition #top > .fi-lustre .fi-lustre__flare { left: 94%; top: 12%; }
.fi-celestial-edition.fi-next-arrow-edition.fi-prestige-edition #top .fi-hero-anniversary {
  border-color: #e8ca889c; background: linear-gradient(125deg,#071d40ed,#0c3269c9);
  box-shadow: inset 0 1px #fff4db3d,0 15px 40px #000d2a59,0 0 25px #d8b67712;
}
.fi-celestial-edition.fi-next-arrow-edition.fi-prestige-edition #top h1 > span:last-child,
.fi-celestial-edition.fi-next-arrow-edition.fi-prestige-edition #top .fi-hero-anniversary-number {
  color: #f5d9a0; text-shadow: 0 3px 22px #b89b4b26;
}
@supports (background-clip:text) or (-webkit-background-clip:text) {
 .fi-celestial-edition.fi-next-arrow-edition.fi-prestige-edition #top h1 > span:last-child,
 .fi-celestial-edition.fi-next-arrow-edition.fi-prestige-edition #top .fi-hero-anniversary-number {
   background: linear-gradient(112deg,#fff4cc 5%,#d1a35b 23%,#fff3c5 41%,#ecc67c 55%,#fff8df 70%,#cda466 88%,#fff1c0);
   background-size: 200% 100%; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent;
 }
}
.fi-celestial-edition .fi-hero-signal { box-shadow: 0 0 0 5px #f4dc9f15,0 0 18px #f9d38b99; }
.fi-celestial-edition .site-header::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; pointer-events: none;
  background: linear-gradient(90deg,transparent 0%,#83b5dc70 24%,#f1ce8ce6 49%,#90cceca8 73%,transparent);
  background-size: 200% 100%;
}
.fi-celestial-edition .reading-progress { height: 2px; box-shadow: 0 0 10px #c6c5b059; }
.fi-celestial-edition .fi-lustre-heading::after {
  content: ""; display: block; width: 94px; height: 2px; margin-top: 18px;
  background: linear-gradient(90deg,#bf9657,#e8cd99 38%,#8dbde0 83%,transparent);
  box-shadow: 0 3px 13px #caa56822;
}
.fi-celestial-edition .fi-lustre-card { position: relative; transition: box-shadow .35s,border-color .35s,transform .35s; }
.fi-card-light {
  position: absolute; inset: 0; z-index: 3; pointer-events: none; border: 1px solid #e9ce9900;
  border-radius: inherit; box-shadow: inset 0 0 28px #bfdfff00; transition: border-color .35s,box-shadow .35s;
}
/* Regional photographs and copy stay open; the links retain their focus outline. */
.fi-celestial-edition #regions .regional-campaign > .fi-card-light { display: none; }
.fi-celestial-edition .fi-lustre-cta { position: relative; isolation: isolate; }
.fi-button-gleam { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; pointer-events: none; }
.fi-button-gleam::after {
  content: ""; position: absolute; inset: -60% auto -60% -100%; width: 65%;
  transform: skewX(-24deg); background: linear-gradient(90deg,transparent,#fff9e338,transparent);
}
.fi-celestial-edition [data-fi-stage="hero"] { --fi-stage-power: 1; }
.fi-celestial-edition .fi-anniversary-portal > .fi-lustre .fi-lustre__orbit { opacity: .9; }
.fi-celestial-edition .site-footer > .fi-lustre .fi-lustre__orbit { opacity: .32; }

/* Motion runs only on visible stages, and is shared with the existing switch. */
.fi-lustre__orbit,.fi-lustre__star,.fi-lustre__current,.fi-button-gleam::after { animation-play-state: paused; }
.fi-lustre-running .fi-lustre-in-view > .fi-lustre .fi-lustre__orbit { animation: fi-orbit-drift 32s ease-in-out infinite alternate; }
.fi-lustre-running .fi-lustre-in-view > .fi-lustre .fi-lustre__star { animation: fi-star-drift 7s ease-in-out var(--delay) infinite alternate; }
.fi-lustre-running .fi-lustre-in-view > .fi-lustre .fi-lustre__current { animation: fi-current-travel 19s linear infinite; }
.fi-lustre-running .fi-lustre-in-view > .fi-lustre .fi-lustre__current--blue { animation-duration: 24s; animation-delay: -11s; }
.fi-lustre-running .fi-lustre-cta.fi-lustre-in-view > .fi-button-gleam::after { animation: fi-button-light 8s ease-in-out infinite; }
.fi-lustre-running.fi-celestial-edition .site-header::after { animation: fi-foil-light 12s ease-in-out infinite alternate; }
.fi-motion-paused *,.fi-motion-paused *::before,.fi-motion-paused *::after { animation-play-state: paused !important; }
.fi-lustre-toggle {
  position: relative; flex: none; margin-left: 4px;
  display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
  border: 1px solid #dfc18a99; border-radius: 50%; color: #f4dfb2;
  background: #08274ce8; box-shadow: inset 0 1px #fff2d629,0 4px 20px #001b3b33;
  cursor: pointer; font: 15px/1 sans-serif; backdrop-filter: blur(10px);
}
.fi-toggle-label { display: none; }
.fi-lustre-toggle[hidden] { display: none; }
.fi-lustre-toggle:focus-visible { outline: 3px solid #b38537; outline-offset: 4px; }
.fi-lustre-toggle:is(:hover,:focus-visible) { background: #123b65; border-color: #ffe9bc; }
.fi-lustre-toggle svg { width: 16px; height: 16px; fill: currentColor; }
.fi-lustre-toggle[aria-pressed="true"] .fi-toggle-pause,.fi-lustre-toggle[aria-pressed="false"] .fi-toggle-play { display: none; }
@media (max-width:1180px) {
 .fi-lustre-toggle { width: 100%; min-height: 44px; margin: 12px 0 0; gap: 12px; border-radius: 0; }
 .fi-toggle-label { display: inline; font-size: 14px; }
}
@keyframes fi-orbit-drift { from { transform: translate3d(-1%,1%,0) rotate(-2deg); } to { transform: translate3d(1%,-1%,0) rotate(2deg); } }
@keyframes fi-star-drift { from { opacity: .26; transform: translate3d(0,5px,0) scale(.78); } to { opacity: .86; transform: translate3d(5px,-9px,0) scale(1.12); } }
@keyframes fi-current-travel { from { stroke-dashoffset: 1000; } to { stroke-dashoffset: 0; } }
@keyframes fi-button-light { 0%,66% { left: -100%; opacity: 0; } 70% { opacity: 1; } 86%,100% { left: 150%; opacity: 0; } }
@keyframes fi-foil-light { from { background-position: 0 50%; } to { background-position: 100% 50%; } }
@media (hover:hover) and (pointer:fine) {
 .fi-celestial-edition .fi-lustre-card:is(:hover,:focus-within) { transform: translateY(-5px); box-shadow: 0 20px 44px #092d5424; }
 .fi-lustre-card:is(:hover,:focus-within) > .fi-card-light { border-color: #ceac6bb3; box-shadow: inset 0 0 28px #bfdfff12; }
 .fi-celestial-edition .fi-lustre-cta:hover { box-shadow: 0 10px 28px #092e5233,0 0 0 1px #c2a06670; }
}
@media (max-width:700px) {
 .fi-celestial-edition.fi-next-arrow-edition.fi-prestige-edition #top .fi-hero-media { opacity: .78; }
 .fi-celestial-edition.fi-next-arrow-edition.fi-prestige-edition #top .fi-hero-media::after { background: linear-gradient(180deg,#061b42ce 0%,#061b42bc 24%,#061b424d 62%,#061b4266 100%); }
 .fi-celestial-edition #top > .fi-lustre .fi-lustre__orbit { inset: 15% -80% -15% -35%; opacity: .6; }
 .fi-lustre__star:nth-of-type(2n) { display: none; }
 .fi-lustre__flare { width: 48px; height: 48px; opacity: .6; }
 .fi-lustre__flare::before,.fi-lustre__flare::after { height: 54px; }
 .fi-lustre__orbit { inset: 0 -75% 0 -25%; opacity: .4; }
 [data-fi-stage="paper"] > .fi-lustre .fi-lustre__orbit { inset: -15% -110% -15% 10%; opacity: .14; }
 .fi-lustre__current { stroke-width: 1.3; }
 .fi-celestial-edition.fi-next-arrow-edition.fi-prestige-edition #top .fi-hero-anniversary { background: linear-gradient(120deg,#082248df,#103c65a8); padding: 12px 16px; }
}
@media (prefers-reduced-motion:reduce) {
 .fi-lustre *,.fi-button-gleam::after,.fi-celestial-edition .site-header::after { animation: none !important; }
 .fi-celestial-edition .fi-lustre-card,.fi-celestial-edition .fi-lustre-cta,.fi-card-light { transition: none; transform: none !important; }
 .fi-lustre-toggle { display: none; }
}
@media (forced-colors:active) {
 .fi-lustre,.fi-card-light,.fi-button-gleam,.fi-lustre-toggle { display: none; }
 .fi-celestial-edition.fi-next-arrow-edition.fi-prestige-edition #top h1 > span:last-child,
 .fi-celestial-edition.fi-next-arrow-edition.fi-prestige-edition #top .fi-hero-anniversary-number { background: none; -webkit-text-fill-color: CanvasText; color: CanvasText; }
}
@media print { .fi-lustre,.fi-card-light,.fi-button-gleam,.fi-lustre-toggle { display: none !important; } }
