/* A single contextual story, adapted to each navigation surface. */
.fb-context { --context-ink:#fff; color:var(--context-ink); min-width:0; }
.fb-context--mobile { display:none; }
.fb-context-link { position:relative; isolation:isolate; display:flex; align-items:center; gap:10px; min-width:0; overflow:hidden; border:1px solid #dcc9ff45; border-radius:20px; padding:15px 18px; color:var(--context-ink); text-decoration:none; background:radial-gradient(ellipse at 90% 0%,#975cdf35,transparent 75%),#171321ec; box-shadow:inset 0 1px 0 #ffffff35,0 8px 28px #0003; }
.fb-context-link::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(100deg,#12101bec 5%,#12101bd9 55%,#12101b66); pointer-events:none; }
.fb-context .fb-context-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; opacity:.85; }
.fb-context-copy { display:flex; flex-direction:column; gap:5px; min-width:0; flex:1; }
.fb-context-label { color:#e1c8ff; font-size:10px; font-weight:650; letter-spacing:.07em; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fb-context-title { font-size:15px; font-weight:650; line-height:1.3; letter-spacing:-.02em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.fb-context-description { font-size:12px; line-height:1.45; color:#e4dfe9; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.fb-context-arrow { flex:none; color:#e1c8ff; font-size:18px; }
.fb-context a:hover { color:#fff; border-color:#dfbaff99; }
.fb-context a:focus-visible,.fb-context button:focus-visible { outline:3px solid #d8afff; outline-offset:3px; }
.fb-context--desktop { position:fixed; bottom:max(24px,env(safe-area-inset-bottom)); left:max(24px,env(safe-area-inset-left)); z-index:19; width:300px; }
.fb-context--desktop .fb-context-link { padding-right:45px; min-height:94px; }
.fb-context-minimize { position:absolute; top:7px; right:7px; display:grid; place-items:center; width:32px; height:32px; border:1px solid #ffffff30; border-radius:50%; background:#171321d9; color:#fff; font-size:20px; line-height:1; cursor:pointer; }
.fb-context-minimize[hidden] { display:none; }
.fb-context--desktop.is-minimized { width:48px; height:48px; }
.fb-context--desktop.is-minimized .fb-context-link { display:none; }
.fb-context--desktop.is-minimized .fb-context-minimize { inset:0; width:48px; height:48px; background:#251a38f5; box-shadow:inset 0 1px 0 #ffffff40,0 8px 24px #0003; }
@supports (backdrop-filter:blur(16px)) {
 .fb-context-link { background-color:#171321a6; backdrop-filter:blur(16px) saturate(150%); -webkit-backdrop-filter:blur(16px) saturate(150%); }
}
@media(max-width:1100px) {
 .fb-context--desktop { display:none; }
 body .site-header .fb-context--mobile { display:block; grid-column:2; grid-row:1; width:100%; align-self:center; }
 .fb-context--mobile .fb-context-link { height:52px; padding:6px 11px; gap:5px; border-radius:16px; transition:height .25s ease,background-color .25s ease; }
 .fb-context--mobile .fb-context-copy { gap:3px; }
 .fb-context--mobile .fb-context-title { display:block; font-size:13px; white-space:nowrap; text-overflow:ellipsis; }
 .fb-context--mobile .fb-context-label { font-size:9px; letter-spacing:.025em; }
 .fb-context--mobile .fb-context-arrow { font-size:14px; }
 .mobile-name-hidden .fb-context--mobile .fb-context-link { height:36px; border-radius:13px; }
 .mobile-name-hidden .fb-context--mobile .fb-context-label { display:none; }
 .site-header.menu-open .fb-context--mobile { visibility:hidden; }
}
@media(max-width:360px) {
 body .site-header { column-gap:6px; }
 .fb-context--mobile .fb-context-link { padding-inline:8px; }
 .fb-context--mobile .fb-context-arrow { display:none; }
 .fb-context--mobile .fb-context-title { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .fb-context--mobile .fb-context-link { transition:none; } }
@media(prefers-reduced-transparency:reduce) { .fb-context-link { background:#171321; backdrop-filter:none; -webkit-backdrop-filter:none; } .fb-context-image { display:none; } }
@media print { .fb-context { display:none!important; } }

/* Unified mobile banner: the two glass halves retreat towards the controls. */
.fb-header-surface { display:none; }
@media(max-width:1100px) {
 body .site-header.fb-unified-header,
 body.fb-full-width-light .site-header.fb-unified-header {
  isolation:isolate; grid-template-columns:52px minmax(0,1fr) 52px;
  min-height:64px; padding:6px; gap:8px; border:0; border-radius:999px;
 }
 body .site-header.fb-unified-header > .fb-header-surface {
  display:block; position:absolute; inset:0; z-index:-1; pointer-events:none;
 }
 .fb-header-half {
  position:absolute; inset:0; overflow:hidden; border-radius:999px;
  background:linear-gradient(120deg,#7c639f30,#20172f80),#15121ce6;
  border:1px solid #c7a6ed66; box-shadow:inset 0 1px 1px #ffffff40;
  backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%);
  transition:clip-path .6s cubic-bezier(.65,0,.2,1),opacity .5s ease,filter .5s ease;
 }
 .fb-header-half--left { clip-path:inset(0 49.9% 0 0); }
 .fb-header-half--right { clip-path:inset(0 0 0 50%); }
 .fb-header-half img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:35% center; opacity:.85; }
 .fb-header-half::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#11102066,#11102033 25%,#111020d9 57%,#111020a6); }
 body .fb-unified-header .fb-context--mobile .fb-context-link {
  height:52px; padding:5px 3px; border:0; border-radius:0; background:none;
  box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none;
 }
 .fb-unified-header .fb-context--mobile .fb-context-link::after,
 .fb-unified-header .fb-context--mobile .fb-context-image { display:none; }
 body .fb-unified-header .fb-context--mobile {
  transition:opacity .23s ease .17s,transform .45s ease .1s,filter .3s ease .1s;
 }
 body .fb-unified-header.fb-banner-collapsed .fb-context--mobile {
  opacity:0; transform:translateY(-4px) scale(.94); filter:blur(5px); visibility:hidden;
  pointer-events:none; transition:opacity .18s ease,transform .4s ease,filter .25s ease,visibility 0s .4s;
 }
 .fb-unified-header.fb-banner-collapsed .fb-header-half--left { clip-path:inset(0 calc(100% - 58px) 0 0); opacity:0; filter:blur(3px); }
 .fb-unified-header.fb-banner-collapsed .fb-header-half--right { clip-path:inset(0 0 0 calc(100% - 58px)); opacity:0; filter:blur(3px); }
 body .fb-unified-header.mobile-name-hidden .fb-context--mobile .fb-context-label { display:block; }
 body .fb-unified-header.mobile-name-hidden .fb-context--mobile .fb-context-link { height:52px; }
}
@media(prefers-reduced-motion:reduce) {
 .fb-header-half,body .fb-unified-header .fb-context--mobile,
 body .fb-unified-header.fb-banner-collapsed .fb-context--mobile { transition:none; transform:none; filter:none; }
}
@media(prefers-reduced-transparency:reduce) {
 .fb-header-half { background:#171321; backdrop-filter:none; -webkit-backdrop-filter:none; }
 /* Keep editorial images visible even when transparency is reduced. */
}

/* Keep the photographic surface above the header background, below controls. */
@media(max-width:1100px) {
 body .site-header.fb-unified-header > .fb-header-surface { z-index:0; }
 body .site-header.fb-unified-header > .brand-lockup,
 body .site-header.fb-unified-header > .fb-context--mobile,
 body .site-header.fb-unified-header > .menu-toggle { position:relative; z-index:1; }
 .fb-unified-header .fb-context--mobile .fb-context-copy { gap:2px; }
 .fb-unified-header .fb-context--mobile .fb-context-description {
  display:block; font-size:10px; line-height:1.25; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; color:#eee8f7;
 }
 .fb-header-half::after { background:linear-gradient(90deg,#11102040,#11102026 25%,#111020b8 57%,#11102080); }
}

/* Independent icon tile: its image never becomes the banner background. */
.fb-context-icon {
 display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px;
 border-radius:13px; border:1px solid #e0baff55; color:#e2baff;
 background:radial-gradient(ellipse at 15% 0%,#ffffff30,transparent 65%),linear-gradient(145deg,#b288e42e,#1a1525c9);
 box-shadow:inset 0 1px 1px #ffffff50,inset 0 -1px 1px #b387e530,0 4px 12px #0003;
 backdrop-filter:blur(12px) saturate(150%); -webkit-backdrop-filter:blur(12px) saturate(150%);
 overflow:hidden;
}
.fb-context-icon svg { width:24px; height:24px; }
.fb-context .fb-context-icon img { position:static; display:block; width:100%; height:100%; max-width:100%; object-fit:contain; opacity:1; }
@media(max-width:1100px) {
 .fb-context-icon { flex-basis:32px; width:32px; height:36px; border-radius:10px; }
 .fb-context-icon svg { width:20px; height:20px; }
 body .fb-unified-header .fb-context--mobile .fb-context-link { gap:7px; }
}
@media(prefers-reduced-transparency:reduce) {
 .fb-context-icon { background:#292034; backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* Match the light page material used by the navigation dock. */
body.fb-full-width-light .fb-context { --context-ink:#272032; }
body.fb-full-width-light .fb-context-label,
body.fb-full-width-light .fb-context-arrow { color:#654080; }
body.fb-full-width-light .fb-context .fb-context-description { color:#51485d; }
body.fb-full-width-light .fb-context a:hover { color:#272032; border-color:#8b6aa580; }
body.fb-full-width-light .fb-context a:focus-visible,
body.fb-full-width-light .fb-context button:focus-visible { outline-color:#73429a; }
body.fb-full-width-light .fb-context--desktop .fb-context-link {
 background:linear-gradient(140deg,#eee5f640,#ffffff50),#f5f2f9d9;
 border-color:#ffffffbf; box-shadow:inset 0 1px 1px #fff,0 8px 30px #271a3524;
}
body.fb-full-width-light .fb-context--desktop .fb-context-link::after {
 background:linear-gradient(100deg,#f8f6fccc 5%,#f8f6fcbf 55%,#f8f6fc59);
}
body.fb-full-width-light .fb-context--desktop .fb-context-image { opacity:.9; }
body.fb-full-width-light .fb-context-minimize,
body.fb-full-width-light .fb-context--desktop.is-minimized .fb-context-minimize {
 color:#30253d; background:#f5f2f9ed; border-color:#8b6aa540;
 box-shadow:inset 0 1px 1px #fff,0 4px 16px #271a3520;
}
body.fb-full-width-light .fb-context-icon {
 color:#654080; border-color:#ffffffd9;
 background:radial-gradient(ellipse at 15% 0%,#ffffffd9,transparent 65%),linear-gradient(145deg,#eee5f699,#ffffffb3);
 box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #87749830,0 4px 12px #271a351a;
}
@media(max-width:1100px) {
 body.fb-full-width-light .fb-unified-header .fb-header-half {
  background:radial-gradient(ellipse at 10% 0%,#ffffffb3,transparent 60%),linear-gradient(140deg,#ddd0ed40,#ffffff50),rgba(245,242,249,.78);
  border-color:#ffffffbf; box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #87749830;
 }
 body.fb-full-width-light .fb-unified-header .fb-header-half img { opacity:.9; }
 body.fb-full-width-light .fb-unified-header .fb-header-half::after {
  background:linear-gradient(90deg,#f8f6fc80,#f8f6fccc 18%,#f8f6fcc2 48%,#f8f6fc80 72%,#f8f6fc59);
 }
 body.fb-full-width-light .fb-unified-header .site-logo,
 .nav-ready body.fb-full-width-light .fb-unified-header .menu-toggle {
  color:#30253d; border-color:#ffffffd9;
  background:radial-gradient(ellipse at 18% 0%,#fff,transparent 55%),linear-gradient(140deg,#eee5f64d,#ffffff66),rgba(245,242,249,.64);
  box-shadow:inset 0 1px 1px #fff,inset 0 -1px 2px #87749830,0 4px 16px #271a351a;
 }
 body.fb-full-width-light .fb-unified-header .site-logo img { filter:brightness(0); }
}
@media(prefers-reduced-transparency:reduce) {
 body.fb-full-width-light .fb-context--desktop .fb-context-link,
 body.fb-full-width-light .fb-context-icon,
 body.fb-full-width-light .fb-unified-header .fb-header-half,
 body.fb-full-width-light .fb-unified-header .site-logo,
 .nav-ready body.fb-full-width-light .fb-unified-header .menu-toggle {
  background:#f5f2f9; backdrop-filter:none; -webkit-backdrop-filter:none;
 }
 body.fb-full-width-light .fb-unified-header .fb-header-half img { display:none; }
}
