/* sections.css — per-section layout + type. Built phase by phase (see docs/BUILD-PLAN.md). */

/* Phase-0 scaffolding: empty landmarks keep height so the persistent
   atmosphere can be scroll-tested. Each phase replaces its section's rule. */
.sec{min-height:100vh}

/* ============================== PRELOADER ============================== */
#preloader{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:28px;background:var(--ink)}
#preloader::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(80% 60% at 50% 58%, rgba(255,90,18,.16), transparent 70%)}
.pre-logo{width:min(44vw,190px);opacity:.92;position:relative}
.pre-bar{position:relative;width:min(58vw,240px);height:2px;border-radius:2px;overflow:hidden;
  background:rgba(255,178,0,.16)}
.pre-bar span{display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--gold),var(--gold2))}

/* =============================== TOP BAR =============================== */
.topbar{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;
  align-items:center;justify-content:space-between;padding:14px 16px;
  pointer-events:none}
.topbar>*{pointer-events:auto}
.attend{font:600 13px/1 var(--cond),sans-serif;letter-spacing:.3em;text-indent:.3em;
  text-transform:uppercase;text-decoration:none;color:var(--cream);
  padding:10px 14px;border:1px solid rgba(255,178,0,.3);border-radius:999px;
  background:rgba(11,6,3,.55);backdrop-filter:blur(6px);transition:color .2s,border-color .2s}
.attend:hover,.attend:focus-visible{color:var(--gold2);border-color:var(--gold2)}

/* Sound pill — the WHOLE pill animates on one 200ms power2.inOut tween:
   main.js tweens --sndp 0↔1 and every part below derives from that one value. */
.snd-pill{--sndp:0;position:relative;width:62px;height:32px;border-radius:999px;
  border:1px solid rgba(255,178,0,.3);background:rgba(11,6,3,.55);
  backdrop-filter:blur(6px);cursor:pointer;padding:0}
.snd-track{position:absolute;inset:2px;border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--gold2));
  opacity:var(--sndp)}
.snd-knob{position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;
  display:grid;place-items:center;
  transform:translateX(calc(var(--sndp) * 30px));
  background:color-mix(in srgb, var(--cream) 22%, var(--ink))}
.snd-knob::after{content:'';position:absolute;inset:0;border-radius:50%;
  background:var(--gold2);opacity:var(--sndp)}
.snd-icon{position:relative;z-index:1;width:14px;height:14px;color:var(--muted);
  color:color-mix(in srgb, var(--ink) calc(var(--sndp) * 100%), var(--muted))}
.snd-pill:focus-visible,.attend:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}

/* ============================ PROGRESS BAR ============================== */
/* Minimal, persistent scroll-position readout for the long pinned stretch —
   OUTSIDE #shake, same fixed-position constraint as .topbar. A direct
   position readout, not a spectacle effect, so it isn't reduced-motion
   gated (a native scrollbar wouldn't be either) — see main.js
   initProgressBar(). scaleX only (never width) so this stays
   compositor-only. z-index sits just under .topbar(60) so its controls
   always render foremost, but above #shake(3)/flash(4)/vignette(5)/
   grain(6) so the gradient reads clearly through the atmosphere. */
.progress-bar{position:fixed;left:0;top:0;width:100%;height:3px;z-index:59;
  pointer-events:none;background:rgba(255,178,0,.12)}
.progress-fill{display:block;width:100%;height:100%;transform-origin:left center;
  transform:scaleX(0);background:linear-gradient(90deg,var(--gold),var(--gold2))}

/* ================================ HERO ================================= */
/* ≈1.2 screens; the stack centers in the first screen, the remainder is
   breathing room before the Manifesto pin. */
#hero{min-height:120vh}
.hero-stack{min-height:100vh;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;padding:76px 20px 0}
.hero-logo{width:min(46vw,210px)}
.hero-eyebrow{margin-top:22px;font:700 13px/1.4 var(--cond),sans-serif;
  letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:var(--gold2);
  text-shadow:0 0 20px rgba(255,178,0,.4)}
.hero-title{margin-top:10px;width:min(88vw,760px);
  filter:drop-shadow(0 8px 34px rgba(255,90,18,.5)) drop-shadow(0 0 14px rgba(255,178,0,.32))}
.hero-year{margin-top:-20px;font:700 clamp(14px,5.4vw,20px)/1 var(--cond),sans-serif;
  letter-spacing:2.19em; text-align: center;color:var(--gold2);  padding-left: 2.19em;
  text-shadow:0 0 26px rgba(255,178,0,.45)}
.hero-date{margin-top:18px;font:600 17px/1 var(--body),sans-serif;
  letter-spacing:.2em;text-indent:.2em;text-transform:uppercase;color:var(--muted)}

/* ============================== COUNTDOWN ============================== */
.cd{margin-top:26px;min-height:64px}
.cd-digits{display:flex;gap:clamp(14px,4vw,24px);justify-content:center}
.cd-cell{display:flex;flex-direction:column;align-items:center;gap:6px}
.cd-num{font:700 clamp(23px,8vw,41px)/1 var(--cond),sans-serif;font-style:normal;
  color:var(--cream);text-shadow:0 0 22px rgba(255,178,0,.28);
  font-variant-numeric:tabular-nums;min-width:2ch}
.cd-unit{font:600 10px/1 var(--body),sans-serif;font-style:normal;
  letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;color:var(--muted)}
.cd-msg{font:600 15px/1.5 var(--body),sans-serif;letter-spacing:.06em;color:var(--cream);
  max-width:34ch}

/* ======================== MANIFESTO + GLORY REVEAL ======================= */
/* One continuous pin covers the whole sequence — lines land/dim -> line 4
   lands (context text + small gold GLORY glyph) -> glyph scales up +
   crossfades to video -> fly-through -> resolves into the full-width video
   overlay (.glory-open etc., in #glory-video, position:fixed) -> frame scrub
   -> black hold. Two independently-pinned sections here previously produced
   a real scroll gap between them (GSAP's pin-spacer reserves the pinned
   element's own natural height *in addition to* the active scrub distance)
   which read as a seam no amount of timing/style-matching could hide —
   merging into one pin removes the seam structurally. See docs/BUILD-PLAN.md
   Phase 3 notes. ~2.5vh budget below: 400% active scrub + 100vh natural. */
#manifesto{min-height:500vh}
.mani-pin{height:100vh;display:flex;align-items:center;justify-content:center;
  overflow:hidden}
.mani-stack{display:flex;flex-direction:column;gap:clamp(14px,4vw,28px);
  text-align:center;width:100%;padding:0 24px}
.mani-line{opacity:0;white-space:nowrap;
  font:700 clamp(16px,5.2vw,34px)/1.3 var(--cond),sans-serif;
  letter-spacing:.04em;text-indent:.04em;text-transform:uppercase;color:var(--cream);
  text-shadow:0 0 20px rgba(255,178,0,.18)}
/* GLORY glyph: lives inline in #manifesto line 4 (see .mani-line--final in
   index.html) -- no separate copy. #glory-video below is now just a thin
   holder for the video overlay, position:fixed and opacity-gated by the same
   single timeline (main.js buildManifesto), not independently pinned.

   mask-image below is an inlined base64 copy of assets/svg/glory-mask.svg,
   not a url() file reference: Chromium blocks CSS mask/filter references to
   external SVG files when the page is opened via file:// (a plain <img src>
   isnt affected, only mask/filter resource loads are) -- inlining sidesteps
   that entirely regardless of how the page is hosted. The source file stays
   in assets/svg/ as the editable original; re-encode+paste here if it ever
   changes. */
#glory-video{min-height:0}
/* display:inline-block makes this size correctly as inline content inside
   the plain-text <p> (its default as a <span> would be display:inline, which
   ignores height/aspect-ratio). Only one instance of this element exists now
   (in #manifesto line 4) — no separate copy, no swap. */
.glory-mask-wrap{display:inline-block;position:relative;flex:none;
  top:0.36em;height:clamp(24px,6.2vw,48px);aspect-ratio:19333/9395;transform-origin:center}
.glory-gold,.glory-frame{position:absolute;inset:0;
  -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ijc5NiAxMjI1MiAxOTMzMyA5Mzk1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogPGcgZmlsbD0iI2ZmZiI+CiAgPHBhdGggZD0iTTEzNDUzLjA0IDE5OTczLjMxbDUwMy43MiAtMTAuMDMgLTM0LjI3IC0zMzczLjUxYzE1Ny4zMSwtNzMuMiAyMTkuMzksLTE4My41MiAzNDkuODYsLTIzOC44NiAxMDAuMTcsMTIxNi4yOSAxMTEuNDgsMjQ2OC42NSAxNTEuOTIsMzY4Ny4yNGwxMjU1LjU4IDI1OC4zNSAzNzIuODcgNjYuNTFjLTE0LjYxLC00MDcuMjcgLTEyMS45LC0zODM2Ljk3IC0yNjguMzQsLTQwMzYuNTZsLTI2Mi42NiAtMjg1LjYzYy02LjM5LC03Ljc4IC0xNS43LC0xOS4xNCAtMjIuMTcsLTI2Ljg3IC0xNDAuMTEsLTE2Ni43MyAtMjY3LjkzLC0yOTAuNzkgLTM2Ni44NywtNDkzLjg5IDU2OS45NywtNzA0LjQ0IDY4My4yOCwtMjY2LjA2IDY0NC4yNiwtMTEzNC4xNiAtMjUuMDgsLTU1OC42NCAtMzAuMTksLTExNzUuNzggLTk4LjEzLC0xNjkwLjM3IC05OC4zLDUyLjM5IC0xOTg0Ljk1LC01NC43NiAtMjQ3Ni4wNiwtNTQuMzkgLTE1My45NCwwLjExIC0yOTcuNTcsLTQuNjQgLTQ1MC44NSwtOS45NiAtMzUuNDgsLTEuMjUgLTE3MS41OSwtNS44NSAtMTk4Ljk2LC0yLjgxIC0yMjcuOTcsMjUuMjQgLTg1Ljg0LC0yNy43MiAtMTg4Ljc4LDY4LjE5IC00NC44OCw4OC4xNiAtOTMuOTIsNjc0Ni43IC04Ljg2LDcwOTAuMzggMjUyLjA0LDEwMS4yNyA4ODYuNTYsMzAuOTcgMTA5Ny43NCwxODYuMzd6bTMyMi41OCAtNjUzNy43N2w1MzYuNzIgMCAwIDE5NTEgLTUzNi43MiAwIDAgLTE5NTF6Ii8+CiAgPHBhdGggZD0iTTE2NzMuNDQgMTQ1NzQuMTZjNTAuNjQsNDc2LjQ3IC0yNjQuOTYsMjk1Ni40NSAtMzM4LjE2LDM1ODMuMDggLTY2LjkzLDU3Mi44IC0xNjkuMTYsMTEwMi4zMiAtMjM4Ljk1LDE2OTYuNjcgLTY4LjY5LDU4NS4wNSAtMjMyLjMzLDExMjUuNjMgLTI1OS44NywxNzUyLjlsMjgyMS4yNSAtODc1LjI0YzMwNy4zNCwtODUuOTkgNzQwLjc5LC0xNjcuMzggOTU5LjEsLTI3OS4xIDEwNC4yNywtMTI3OS44MSA0NjIuMDUsLTM1NTQuMTkgNDAyLjE4LC00NzMzLjAxbC0xNzAuNDUgLTIwLjY4Yy05NC4wNiwtMTguNjkgLTE2NC4xNCwtNDYuODkgLTIyNi4wOCwtNzEuODMgLTMzNy4zNiwtMTM1Ljg2IC05MjMuMjcsLTQ4MC43OSAtMTI3Ni4zNSwtNDk3LjA1bC04OS44OCAxMTI0LjY1IDE1Mi44OSAxNjMuMTVjNzIuMiwxNzQuNzEgLTIwNi40NCwyMzkyLjkxIC0yNTguMzYsMjg0OS4xIC02NC42NCw1NjguMjQgOTYuNTEsNTI1LjUyIC00MzUuODYsNTU2LjY2IDE4LjUsLTU1Ni40MSA5My43MiwtODk2LjE4IDE1Ni4wNywtMTQwOS4zNSA1Ny43MywtNDc1LjMxIDc1LjQzLC05NjAuNTEgMTIwLjg0LC0xNDQ5LjIyIDQyLjY4LC00NTkuMzUgMTI1LjExLC04NzguNDIgMTQ5LjExLC0xMzk0Ljc5IDExLjc2LC0yNTMuMjggMS4wOSwtNTMzLjIgMjEuMDMsLTc3OS45MiAxNS43NywtMTk1LjAyIDY3LjQ2LC00NzUuNzkgNzkuNDQsLTY5OC4wMyAtNjYuOTcsLTY2LjM3IC0zMC41MywyMy40OCAtMTA4LjQxLC0xMzEuODMgLTk5LjU1LDEzNy43MyAwLjc3LDM2Ljc2IC05MS4yNiwyMzAuNDggLTc3LDE2Mi4xMSAtNTIuMjEsMS45IC00Ny42MywxNTNsLTMwLjM4IDI5MS41NWMtMTAuMjMsMTI5LjA5IC0wLjM2LDIwLjQzIDguMzksMTUxLjkxIDIyLjI4LDMzNC42OCAtODEuNDUsNDE2LjUyIC04NC43NCw1MzguNyAtMC4xNSw1LjM2IDkuNDMsNTcuMzQgMjEuNjMsMTI4LjIxIDI5LjcyLDE3Mi41MiAyMy4yLDE2NC45NSAxLjExLDM4OS44NCAtNy42Niw3Ny44OCAtMTEuMjgsMTMwLjEyIC0xNi4xOSwxNjkuNjZsLTUzLjQ5IDM2MC4zOWMtNTMuNTcsMzAxLjkgOC42NCwzMzIuODMgLTkxLjg0LDcxMC43OCAtNDUuNjUsMTcxLjcxIC0wLjc5LDI2MC40MSAtNDMuMjMsNDAzLjcgLTQ1LjA2LDE1Mi4xMyAtMTExLjg2LDEyMS4yOSAtMTkzLjg2LDI1My42OSAtMTE1Ljg0LDE4Ny4wMyA3Mi45NSwzNTcuODQgLTE2Ny43LDYzNC4xNGwtMTAyLjUxIDE0MC45M2MtNi4xOSw5LjA5IC0xMy41NSwyMy41MyAtMTkuODIsMzIuMDdsLTEwNy4zNCAxMTkuMzVjLTYxLjYsOTMuOTcgMTExLjk5LDM5LjE3IC0xMTYuMjEsMTI3Ljc5IC05Ni4zMywtMTQ5Ljc3IC02Mi4xOSwtMTgwLjc1IC0xMDIuNzcsLTMwOC43bC0xMzAuNzkgLTIwMy40OCAxMTEuNjUgLTIyMS45MWMtMTU0LjM1LC0yMjguNTMgLTE1NS43NSwtNTEuMjEgLTE2NC40MywtMzk5LjA1IC04LjcyLC0zNDkuMjQgLTEyLjIsLTI1MS4zMSAxNTkuMzIsLTM0OC43IC00My42MywtMTA5Ljg1IC03OC4yMiwtNzAuOTcgLTE1Mi44LC0xOTkuNCA5Ni43NSwtMjE3LjI1IDczLjExLC0yMjAuMzYgNTAuMywtNDQ2LjI5IC04Mi41OCwtODE3LjggMTMuNDIsLTU0Ny4xNiAyMC4zNSwtMTAxOC44MyAyLjI2LC0xNTIuNzkgLTMyLjYsLTE4Mi42NCAzMS4wMiwtMzU0Ljk2IDMuNTIsLTkuNSAxMC44MiwtMjMuNzkgMTQuMzMsLTMyLjY3IDk0LjY1LC0yMzguNTEgNDkuNjQsLTE0LjIzIDE5LjgzLC0xNzIuMzVsMjUuNTggLTcwMy42N2MzMi4wMywtMzEwLjM5IDE1LjIyLC03NDQuNzMgNTIuMzIsLTExMTUuNjUgMzA4LjMsLTgwLjczIDUwMy4yOSwtMTMwLjIyIDgzOC40NywtMTYxLjc1IDE1OS4zOSwtMTQuOTggMjU4LjAxLC03OC42NiA0MTkuMDgsLTk5LjM5bDE1OTQuNzYgLTY5LjY2YzI4Ni43NSwxNy41NiAyOTYuNTEsLTEwLjcyIDMwMC45OCwxODIuNTMgMTEuNiw1MDEuNDEgLTEyNy42LDExNzQuNTkgLTI2LjcsMTYwMi4zNGwzMy43MSAtNzIuMDRjNTYuMDgsLTIwNS4yOSA4MS40MywtMTc0OS4yNSA3MS45NSwtMTkwNC44MiAtNDgwLjYyLDIwLjE4IC0yNjUwLjg0LDEyMy42NyAtMzA5NC4yNywyNTkuNjUgLTEzMy44NSw0MS4wNCAtMTc1LjEsODYuMSAtMjc0LjUyLDE2OS4zOCAtMTkuMDgsMjQyLjg3IC0xMi4xOSw0ODMuOTcgLTMyLjUzLDcyNi40NyAtMTMuMzcsMTU5LjM2IC02LjQ5LDUzOS44IC04OS4zMSw2NzAuNnoiLz4KICA8cGF0aCBkPSJNODAyNy4yOSAxOTkyNS43M2MxMDIuNDUsLTc3LjUgMjI4LjQsLTY4LjA1IDM4My40LC04MC4yMSA3NC4xLC02OTEuNjkgMTcwLjA3LC0xODQ5Ljg5IDEyNC4wMywtMjU1NS40MSAtMTYwLjg0LDI2LjE3IC0zNzEuNTEsMTQ3LjA4IC01MDQuOTYsMjM4LjE1IC0zNDguMjIsMjM3LjY2IC02MDUuMDQsMzA4LjUyIC03ODguNzUsNDU1Ljc2IC0yNzMuNTEsMjE5LjE5IC04My4wMiwyMjcuOCAtMzM1LjU1LDM0Ni41NCA2OS45OSwyMjYuOTUgLTEzLjM4LDQyNS41MiA1My40Miw2NjUuNTRsLTQ1My45MSA4OS4yM2MtMi40NCwtMzEwLjY1IDQxNC40NCwtNjc5My4zNCAxNzcuMjcsLTYzNjQuNzQgLTUuODksMTAuNjMgLTI1Ljc5LC0xMy42MSAtMzQuMjcsLTE2LjA2bC0yNzEuNDYgLTMwLjAzYy0xMzIuMDgsMS44NCAtMjY4LjY5LDEyLjk3IC00MDIuNTQsMTQuNzEgLTI1Ni4wNiwzLjMzIC01MDguMjUsMjcuMSAtNjgwLjI5LDAgLTEzMC4xOCwyMDMyLjkgLTE1Ny4zNywzNzEyLjYxIC0zNDkuNTksNTc3Ni44NSAtNjAuMjcsNjQ3LjEyIC0xNjMuMDIsMTMxMy41NiAtMTY5Ljg3LDE5NDQuNDcgMjg2LjU4LC0yNS4yNyA0ODUuODcsLTc5LjE3IDc2OS4zOCwtMTQ1LjkzIDM3OC41OSwtODkuMTIgMjIxMS44MywtMzgxLjc0IDI0ODMuNjksLTMzOC44N3oiLz4KICA8cGF0aCBkPSJNMTIyMzEuMzYgMTYzMzEuMzFsLTIzLjU0IC0zNjYyLjg0IC0xNjEuNzUgMTYuNGMtMjM4LjY3LDEzMy4xOCAtMjgxLjI5LDc3LjQxIC01NjQuODgsMzMuMzFsLTE4MTguMDEgLTI1LjcyYy04NzAuODYsMTIuNDggLTcyMS42NCw0MDguMjggLTcwNi4xMywxMTIwLjMxbC0xOC44MiAxOTQzLjcxYzEuNTYsMTMuNTIgMTcuMTcsOTkuOTQgMTcuOTUsMTEwLjExbDIuMTcgNDQuOTJjLTQ0LjQ0LDQ3Ny40MyAtMTAuMTMsMjMzLjUxIDYuNCw1NjcuMjcgNi4zMywxMjcuNjcgNi4yLDIxNS42NSA4NS42OCwzNDMuOTUgOTkuMjMsMTYwLjE1IDYuNTQsLTExLjY2IDI4LjQ0LDQxLjI2IDExMC41MiwyNjcuMDYgLTI5LjA0LC0yNjkuMjUgMy4wNiwxNzIuMDYgOC40OCwxMTYuNDkgMTUuNzEsMjQ2Ljk5IC01Ni43NywzNzguMzIgODUuMTUsNDcuNiAtMjcuNzUsNzIuMiAxMTkuODUsMzkuNCAxMzkuNiwtMzEuMDIgMzEuNzgsLTUyLjEgMzEuNzgsLTUyLjI1IDUuMzgsMTE2LjE4IC0xOS4wMSwxMDUuOCAtMTA4LjY4LDE0Ni4xOSAtOC40OSwzLjgzIC0yOC43Miw4LjM0IC00MS4yLDE2LjIxIDcuNjcsMTIuNjkgMjUuNzMsMTIuNDggMzAuMzIsMzIuNTMgNDEuNDEsMTgwLjk4IDIxMy4xMSwtMy4zMyAyOC44MSw1NDEuNjIgMTU3LjA5LDM5LjkyIDE2Ni44MiwzNi4yNyAyMTQuMywyMTkuNDkgMzAuMDgsMTE2IDQzLjYsMjgzLjc2IDExMy43OSwzNzcuMSAyMzEuMzYsLTEwMy40MiA0MS43LDM1LjY3IDE0My40MSwtMTk0LjA5IDIyNS41MywtNTA5LjQzIDE0OC4zOSwtNTI4LjY2IDM4My43OCwtNTUwLjIybC0xOTguNzEgLTEyNy4zM2M4Ny45NiwtNDUuMjQgODQuMDgsLTYxLjc5IDEzOC43OCwtMTMwLjgybDE2MC43OSAtMTY4LjI4Yy05LjM2LC0xMC44OSAtMjYuODUsLTM5LjI5IC0zMS4xNiwtMjkuNzIgLTE0LjMxLDMxLjg0IC0xMTMuNDYsLTE0OS42MiAtNjYuNDMsLTI5NS42NGwxMjQuOTQgLTQzNS41M2M4LjE0LC02Mi43MyA1LjAyLC0zMi42NyAxNy42MSwtODQuMjcgNzYuNTUsLTMxMy42OSA0MS45MiwtNjc0LjU0IDQ2LjA0LC05OTkuMyA2LjkzLC01NDcuNzYgLTcxLjYzLC0xNTQzLjcgMTcyLjI1LC0yMDkzLjU0bDM1NS4xNCAtOTMuNzZjMTEuMTEsMjAuMyAyMi41NiwyNS4xOCAyNy41Nyw1MS44NCA0LjY5LDI1LjA4IDQyLjMzLDcyLjE3IDQ5LjM0LDg1LjY3bDEwNS45MSAyMjAxLjg1Yy0wLjEyLDExLjgyIC0wLjMsMjUuMiAtMC42NCwzNy4xMiAtNy43OCwyNjUuMTkgNy43Niw0MTYuMDUgNS40NSw2MjEuNTEgLTEuNiwxNDEuMzggLTEzLjI4LDEzOS4wNCA1LjU2LDI4MC4zMiAxNi41NSwxMjQuMTYgLTAuOTIsMTYuODIgMjQuODUsMTIwLjY4bDQ3LjQzIDY2My4yYzYuNTIsMjg0LjQ4IC00OC4wOSwzNjcuNTUgMjEwLjM2LDUxNy45MiAwLjMzLDU3LjMgLTE2LjAyLDEyMC40NSAtMTYuMzksMTMxLjIxIC0wLjQ4LDE0LjEzIC0zLjYsNjQuMDIgLTEuOTMsNzguOTZsMTUuOTcgNjguNzFjMjUuNzksNzcuNyA5Mi4xOCwtMTMuOTYgNjguOTUsMTk1LjQ4IC01LjAyLDQ1LjI0IC0yNzAuNzcsMzQ0Ljg1IDM3Mi44OCwxOTEuMjZsMzYuNDMgLTIyNy40MmMxLjk2LC0xLjc1IDE0Ljk3LC02Ljg3IDE3LjE4LC04LjA5IDIuNjgsLTEuNDcgMTkuNzcsLTQuNTkgMjIuMjgsLTUuNTcgNTQuODMsLTIwLjk0IDQ0LjYzLC0xMDIuNTIgNzUuMjIsLTE2MS44NCA3MS40MiwtMTM4LjQ4IC0xNS4xOCwtNC42MyA4Ni4xNywtMTA0LjIgNy4yLC03LjA4IDE5LjQ3LC0xNS42MyAyNi45MiwtMjIuN2w3OC4xMiAtNzYuNDZjOTkuMjIsLTk1LjU4IC03Mi4yMywtMzkuMjYgMTA4LjUsLTk2Ljg5IC04MC43MywtMTg3LjQ4IDk4LjI4LC01Ni4xNyAtMTU0LjcxLC0xNDMuMjIgMjA3Ljg0LC0zNC42NyAxOTguMzcsLTUxLjc3IDIwMS4yNywtMzYzLjIxbDIuMzQgLTE2MzQuNjdjMzIuNDcsMjM1LjAzIDY2Ljc5LDEwNy40NyAtNC4yNywzMzQuMTkgOTAuNjcsOTEuNTIgLTEuMDMsMzYuMDIgMTYwLjAzLDYzLjV6Ii8+CiAgPHBhdGggZD0iTTE3OTczLjUgMTcxODAuMjhsMjcwLjIyIDExNC4zMmMzOC4xOCw2Mi45NSAtNDYuODEsMjUuNTMgMTYzLjkyLDE3NC45NCAtMTcwLjIyLDMxLjI2IC04OC43MywtMTUuMDMgLTE1OC42Miw5NC4zOCAxNzguMTEsMTgyLjE0IDEwMi45Myw3NC4wNiAxMjUuMTUsMjE0Ljc2IDYuMzUsNDAuMyAtMi43MSw3MC43NyAyMC40MSwxMzIuNjggNzguNjYsMjEwLjQ2IDExMS4yNyw0MC4zNiAxODUuNzMsMzk2LjQzIDExNS4yLDU1MC44MiAzNi43NywyMDAuNjQgMTU0LjMsNTA3LjEyIDQuOTMsMTIuODggMTYuMjksNDkuOCAxNy44NSw2Mi4wNyAwLjEyLDAuOTUgLTM4Ljg0LDM3MS45IDE2MC4zMyw1NTMuMzcgMTE0LjUzLDEwNC4zNSAxODAuMjEsNjMuOTMgMzY2LjEzLDUxLjg1IC04NC40OSwtMTEzLjQ1IC04Mi41NywtNDU1LjY4IC05OS40OSwtNjM2LjU3bDIwMS4zNSAtNjAuOTJjLTExNy43LC00Mi40MSAtNjMuNzgsMTkuMjIgLTIxMS42MiwtNzQuMjNsMTc5LjE3IC05My42OWM3LjM0LC00LjkyIDIwLjgyLC0xMi40NiAyNy4xNywtMTcuNjVsNjMuNzkgLTExNy40NGM3MC4xLC0xODIuNDYgLTkuODMsLTEzMi40NyAxMjguNjcsLTEyMC40MiAtNzIuNTcsLTQ2LjI5IC0xNjUuOCwtMTA3LjI0IC0xNzYuMTEsLTI1Mi4xNCAtMTEuNzYsLTE2NS41NiAzMC40OSwtNDYuNDIgNTMuOTYsLTIyNC45MyAzNC44OSwtMjY1LjI3IC00My43NywtNDk3LjczIDIwLjUyLC03ODIuMzUgMTE0LjIxLC00NDUuNzEgLTE3Ni44OCwtMTE0NS4xOSAtNjkuNjgsLTE1NjkuMjUgLTExMi41MywtMTYzLjc4IC0xMjIsLTEwMzcuMzUgLTE0NS4wNiwtMTI3MS45NiAtNDEuMDQsLTQxNy42IC02Mi41OSwtODUyLjQyIC05NS4zNiwtMTI1Ny40NGwtMTIxNy42OSAtNjcuNzYgLTExNC43NyAxNzcuM2MtNS40OSw4LjI2IC0xNS41NCwxOS4wMiAtMjAuNjQsMjcuNjJsLTU2LjkzIDIzMS4yMWMtNi41MSwyMDYuNzcgMTQuMzEsNDQ0LjM2IDIxLjksNjUzLjMyIDE2LjksNDY1LjM0IDYwLjQxLDgwMC4zOCA1MS40NiwxMjgzLjY1IC00ODUuNTcsLTE3OS42MSAtMzc2LjI2LC01NjYuMjIgLTQyMy4wNiwtMTExMi43OSAtMTUuNjYsLTE4Mi45MiAtNTIuODUsLTEyMjMuODkgLTEyOC44NywtMTI5Ni41IC0xODYuMDIsLTEzOS4xMyAtMTEyNy40MywtNzMuOTggLTE0MDIuODUsLTE0Ni45OSAtMzUuNCw1ODMuODcgOC4wOCwxMDU5LjMxIDIxLjI1LDE2MjAuNTUgOC45LDM3OC4zMSAtNjUuNjIsNDYyLjEgMTcwLjU4LDY4OC41OSA0NjMsNDQ0IDE1MDcuNTgsMTY0Ni41MiAxOTE2Ljg5LDIxMTguODd6Ii8+CiAgPHBhdGggZD0iTTE2Mzc4LjM1IDIwNDgwLjAxYzYzMC4yLC0yNi4wMSAzNDE1LjY5LDEwNzEuMTYgMzcxMC42NywxMDgyLjU3bC01NTYuMjMgLTQyOTYuMDJjLTQuMjIsLTE1LjkyIC03LjcxLC0yOC40IC0xMi41LC00My40NmwtNTMuOTYgLTEyMS4yNGMtNjQuMjksMjg0LjYyIDE0LjM3LDUxNy4wOCAtMjAuNTIsNzgyLjM1IC0yMy40NywxNzguNTEgLTY1LjcyLDU5LjM3IC01My45NiwyMjQuOTMgMTAuMzEsMTQ0LjkgMTAzLjU0LDIwNS44NSAxNzYuMTEsMjUyLjE0IC0xMzguNSwtMTIuMDUgLTU4LjU3LC02Mi4wNCAtMTI4LjY3LDEyMC40MmwtNjMuNzkgMTE3LjQ0Yy02LjM1LDUuMTkgLTE5LjgzLDEyLjczIC0yNy4xNywxNy42NWwtMTc5LjE3IDkzLjY5YzE0Ny44NCw5My40NSA5My45MiwzMS44MiAyMTEuNjIsNzQuMjNsLTIwMS4zNSA2MC45MmMxNi45MiwxODAuODkgMTUsNTIzLjEyIDk5LjQ5LDYzNi41NyAtMTg1LjkyLDEyLjA4IC0yNTEuNiw1Mi41IC0zNjYuMTMsLTUxLjg1IC0xOTkuMTcsLTE4MS40NyAtMTYwLjIxLC01NTIuNDIgLTE2MC4zMywtNTUzLjM3IC0xLjU2LC0xMi4yNyAtMTIuOTIsLTQ5LjE5IC0xNy44NSwtNjIuMDcgLTExNy41MywtMzA2LjQ4IC0zOS4xLDQzLjcgLTE1NC4zLC01MDcuMTIgLTc0LjQ2LC0zNTYuMDcgLTEwNy4wNywtMTg1Ljk3IC0xODUuNzMsLTM5Ni40MyAtMjMuMTIsLTYxLjkxIC0xNC4wNiwtOTIuMzggLTIwLjQxLC0xMzIuNjggLTIyLjIyLC0xNDAuNyA1Mi45NiwtMzIuNjIgLTEyNS4xNSwtMjE0Ljc2IDY5Ljg5LC0xMDkuNDEgLTExLjYsLTYzLjEyIDE1OC42MiwtOTQuMzggLTIxMC43MywtMTQ5LjQxIC0xMjUuNzQsLTExMS45OSAtMTYzLjkyLC0xNzQuOTRsLTI3MC4yMiAtMTE0LjMyIDI5Ny43MiAyNjExLjQxYy0yMzguNjEsMjIuMzUgLTMyNS4yNiwtMjQuMDkgLTQ4Mi41MSwtODguMzMgMTIuMDIsLTQwOC40NyAtMTMyLjY3LC0yMzQ5LjkzIC0yOTcuMTMsLTI1NDAuNTIgLTc4LjIxLC05MC42MSAtOTkuODUsLTg1LjczIC0xOTguMTcsLTIwMy45OGwtODk2LjUyIC05OTUuNThjLTYuOTMsLTYuNzMgLTE3LjIyLC0xNy4zMyAtMjQuNDYsLTIzLjY0IC02NC45NCwtNTYuNjEgMTcuNiwtNS4wMiAtODMuMywtNjAuNDEgLTEzMS4xOSwtNzIuMDIgLTExMS43OSwtMTYuNTkgLTI0NC45LC04Ni44OSAtMjA1LjY4LDQ3Mi44NSAxOC4yLDE3ODEuNjkgMzMuNTMsMjM2OC40MiA1LjQsMjA2LjM3IDc1LjExLDIwMDYuMjggMTQ4LjYyLDIxNjMuNCAzNi4zNCw3Ny42NyAyMS44MiwzOC4xNyA2NS43Nyw4Ni4zOWw4Ni4yIDY5LjQ2eiIvPgogIDxwYXRoIGQ9Ik05NDYzLjczIDE5ODA5LjA2bDI0OTMgNS4yMSAyNjkuNTEgMS4wOSA1LjEyIC0zNDg0LjA1Yy0xNjEuMDYsLTI3LjQ3IC02OS4zNywyOC4wMiAtMTYwLjAzLC02My40OSA3MS4wNywtMjI2LjczIDM2Ljc0LC05OS4xNyA0LjI2LC0zMzQuMmwtMi4zMyAxNjM0LjY3Yy0yLjkxLDMxMS40NCA2LjU4LDMyOC41NSAtMjAxLjI2LDM2My4yIDI1Mi45OCw4Ny4wNiA3My45OCwtNDQuMjUgMTU0LjY5LDE0My4yMyAtMTgwLjcyLDU3LjY0IC05LjI3LDEuMzIgLTEwOC40OSw5Ni44OWwtNzguMTIgNzYuNDZjLTcuNDQsNy4wNyAtMTkuNzIsMTUuNjMgLTI2LjkzLDIyLjcgLTEwMS4zMyw5OS41NyAtMTQuNzMsLTM0LjI3IC04Ni4xNSwxMDQuMiAtMzAuNTksNTkuMzIgLTIwLjQsMTQwLjg5IC03NS4yMywxNjEuODQgLTIuNTEsMC45OCAtMTkuNjEsNC4wOSAtMjIuMjgsNS41NiAtMi4yLDEuMjMgLTE1LjIyLDYuMzUgLTE3LjE4LDguMWwtMzYuNDQgMjI3LjQyYy02NDMuNjQsMTUzLjU5IC0zNzcuODksLTE0Ni4wMiAtMzcyLjg2LC0xOTEuMjYgMjMuMjEsLTIwOS40NCAtNDMuMTYsLTExNy43OCAtNjguOTUsLTE5NS40OGwtMTUuOTggLTY4LjcxYy0xLjY3LC0xNC45NCAxLjQ0LC02NC44MyAxLjkzLC03OC45NSAwLjM3LC0xMC43NyAxNi43MywtNzMuOTIgMTYuMzksLTEzMS4yMiAtMjU4LjQ1LC0xNTAuMzcgLTIwMy44NCwtMjMzLjQzIC0yMTAuMzcsLTUxNy45MmwtNDcuNDIgLTY2My4yYy0yNS43OCwtMTAzLjg2IC04LjMsMy40NyAtMjQuODQsLTEyMC42OCAtMTguODUsLTE0MS4yOCAtNy4xOCwtMTM4Ljk1IC01LjU3LC0yODAuMzIgMi4zMiwtMjA1LjQ2IC0xMy4yMywtMzU2LjMyIC01LjQ0LC02MjEuNSAwLjM0LC0xMS45MyAwLjUxLC0yNS4zMiAwLjYzLC0zNy4xM2wtMTA1LjkxIC0yMjAxLjg2Yy03LC0xMy40OSAtNDQuNjUsLTYwLjU4IC00OS4zNCwtODUuNjYgLTUuMDEsLTI2LjY1IC0xNi40NSwtMzEuNTQgLTI3LjU3LC01MS44NGwtMzU1LjE0IDkzLjc2Yy0xOS43Miw0NC40NSAtMzcuMjksOTEuODYgLTUzLjAxLDE0MS42N2w0NzAuMzEgMCAwIDUxNjAuMTIgLTUzNi43MSAwIDAgLTQ4NzcuOTljLTkzLjcsNTQ3LjM2IC00Ny40NiwxMjQzLjk1IC01Mi44NCwxNjY5Ljc1IC00LjEyLDMyNC43NSAzMC41MSw2ODUuNjEgLTQ2LjA0LDk5OS4yOSAtMTIuNTksNTEuNiAtOS40NywyMS41NSAtMTcuNjEsODQuMjdsLTEyNC45NSA0MzUuNTRjLTQ3LjAyLDE0Ni4wMSA1Mi4xNCwzMjcuNDggNjYuNDQsMjk1LjYzIDQuMzEsLTkuNTcgMjEuODEsMTguODMgMzEuMTYsMjkuNzJsLTE2MC44IDE2OC4yOGMtNTQuNjksNjkuMDIgLTUwLjgxLDg1LjU3IC0xMzguNzgsMTMwLjgybDE5OC43MiAxMjcuMzJjLTIzNS4zOSwyMS41NyAtMTU4LjI1LDQwLjggLTM4My43OSw1NTAuMjIgLTEwMS43LDIyOS43NyA4Ny45NSw5MC42OCAtMTQzLjQsMTk0LjExIC03MC4xOCwtOTMuMzUgLTgzLjcxLC0yNjEuMTEgLTExMy43OSwtMzc3LjEgLTQ3LjQ5LC0xODMuMjMgLTU3LjIxLC0xNzkuNTcgLTIxNC4yOSwtMjE5LjUgMTg0LjMsLTU0NC45NCAxMi41OCwtMzYwLjY0IC0yOC44MiwtNTQxLjYyIC00LjU5LC0yMC4wNSAtMjIuNjQsLTE5Ljg0IC0zMC4zMiwtMzIuNTMgMTIuNDgsLTcuODcgMzIuNywtMTIuMzggNDEuMiwtMTYuMjEgODkuNjgsLTQwLjM5IDExNC4wNiwtMzAuMDEgMTA4LjY4LC0xNDYuMTkgMCwwLjE0IDEwNy44MiwyMS4yMyAtMzEuNzksNTIuMjYgLTE0Ny41OCwzMi44IC0zNC42OCw4LjE5IC0xMTkuODQsLTM5LjQxIDcyLjQ4LC0xMzEuMzIgNjUuMjYsLTI2MS44NCA1Ni43OCwtMzc4LjMyIC0zMi4xMSwtNDQxLjMyIDEwNy40NSw5NSAtMy4wNywtMTcyLjA3IC0yMS45LC01Mi45MSA3MC43OSwxMTguODkgLTI4LjQ0LC00MS4yNCAtNzkuNDksLTEyOC4zMSAtNzkuMzUsLTIxNi4yOSAtODUuNjgsLTM0My45NyAtMTYuNTMsLTMzMy43NSAtNTAuODUsLTg5LjgzIC02LjQsLTU2Ny4yNmwtMi4xNiAtNDQuOTJjLTAuNzgsLTEwLjE3IC0xNi40MSwtOTYuNiAtMTcuOTcsLTExMC4xMWwxOC44MyAtMTk0My43MWMtMTUuNTIsLTcxMi4wNCAtMTY0LjcyLC0xMTA3LjgzIDcwNi4xMywtMTEyMC4zMWwxODE4LjAxIDI1LjcyYzI4My41OSw0NC4wOSAzMjYuMjEsOTkuODcgNTY0Ljg3LC0zMy4zMSAtOTUuMjIsLTczLjM1IDMxLjgyLC0zMy43MyAtMTg3LjE0LC04My43bC0xMzk3Ljk0IC0zLjE3Yy01MDkuMywtMC40MyAtMTQ1Ni40LC0xNDUuNTEgLTE1NzkuMzQsMTU4LjQ2IC02LjA3LDE1LjA0IC0yMi44LDYyLjY3IC0yNy40OSw4MC4wOWwtMTA4LjkxIDMzMTEuNjNjLTgzLjAzLDEyMTYuNjUgLTE1OC4xMSwyNDY2LjA5IC0xNzAuMjMsMzY5NS45Nmw4ODguNzIgLTM1LjA4eiIvPgogIDxwYXRoIGQ9Ik0zMjQxLjM5IDE0MDkyLjE1bDIyLjI3IC0xNTIuNDYgMzI2LjQ3IC0yMS43OCAxNS45IDU4Mi4zYzc3Ljk0LDI2OC4zNyAxMjk3LjUsNjYxLjQ4IDE0NjkuOCw2NzYuODggNS42OSwtMjA2Ljk0IDM2LjUsLTI1NC44MSAtMTcuNDIsLTQ1Mi4xNyAtMTAwLjksLTQyNy43NSAzOC4zLC0xMTAwLjkzIDI2LjcsLTE2MDIuMzQgLTQuNDcsLTE5My4yNSAtMTQuMjMsLTE2NC45NyAtMzAwLjk4LC0xODIuNTNsLTE1OTQuNzYgNjkuNjZjLTE2MS4wNywyMC43MyAtMjU5LjY5LDg0LjQxIC00MTkuMDgsOTkuMzkgLTMzNS4xOCwzMS41MyAtNTMwLjE3LDgxLjAyIC04MzguNDcsMTYxLjc1IC0zNy4xLDM3MC45MiAtMjAuMjksODA1LjI2IC01Mi4zMiwxMTE1LjY1bC0yNS41OCA3MDMuNjdjMjkuODEsMTU4LjEyIDc0LjgyLC02Ni4xNiAtMTkuODMsMTcyLjM1IC0zLjUxLDguODggLTEwLjgxLDIzLjE3IC0xNC4zMywzMi42NyAtNjMuNjIsMTcyLjMyIC0yOC43NiwyMDIuMTcgLTMxLjAyLDM1NC45NiAtNi45Myw0NzEuNjcgLTEwMi45MywyMDEuMDMgLTIwLjM1LDEwMTguODMgMjIuODEsMjI1LjkzIDQ2LjQ1LDIyOS4wNCAtNTAuMyw0NDYuMjkgNzQuNTgsMTI4LjQzIDEwOS4xNyw4OS41NSAxNTIuOCwxOTkuNCAtMTcxLjUyLDk3LjM5IC0xNjguMDQsLTAuNTQgLTE1OS4zMiwzNDguNyA4LjY4LDM0Ny44NCAxMC4wOCwxNzAuNTIgMTY0LjQzLDM5OS4wNWwtMTExLjY1IDIyMS45MSAxMzAuNzkgMjAzLjQ4YzQwLjU4LDEyNy45NSA2LjQ0LDE1OC45MyAxMDIuNzcsMzA4LjcgMjI4LjIsLTg4LjYyIDU0LjYxLC0zMy44MiAxMTYuMjEsLTEyNy43OWwxMDcuMzQgLTExOS4zNWM2LjI3LC04LjU0IDEzLjYzLC0yMi45OCAxOS44MiwtMzIuMDdsMTAyLjUxIC0xNDAuOTNjMjQwLjY1LC0yNzYuMyA1MS44NiwtNDQ3LjExIDE2Ny43LC02MzQuMTQgODIsLTEzMi40IDE0OC44LC0xMDEuNTYgMTkzLjg2LC0yNTMuNjkgNDIuNDQsLTE0My4yOSAtMi40MiwtMjMxLjk5IDQzLjIzLC00MDMuNyAxMDAuNDgsLTM3Ny45NSAzOC4yNywtNDA4Ljg4IDkxLjg0LC03MTAuNzhsNTMuNDkgLTM2MC4zOWM0LjkxLC0zOS41NCA4LjUzLC05MS43OCAxNi4xOSwtMTY5LjY2IDIyLjA5LC0yMjQuODkgMjguNjEsLTIxNy4zMiAtMS4xMSwtMzg5Ljg0IC0xMi4yLC03MC44NyAtMjEuNzgsLTEyMi44NSAtMjEuNjMsLTEyOC4yMSAzLjI5LC0xMjIuMTggMTA3LjAyLC0yMDQuMDIgODQuNzQsLTUzOC43IC04Ljc1LC0xMzEuNDggLTE4LjYyLC0yMi44MiAtOC4zOSwtMTUxLjkxbDMwLjM4IC0yOTEuNTVjLTQuNTgsLTE1MS4xIC0yOS4zNyw5LjExIDQ3LjYzLC0xNTMgOTIuMDMsLTE5My43MiAtOC4yOSwtOTIuNzUgOTEuMjYsLTIzMC40OCA3Ny44OCwxNTUuMzEgNDEuNDQsNjUuNDYgMTA4LjQxLDEzMS44M3oiLz4KIDwvZz4KPC9zdmc+Cg==);
  mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ijc5NiAxMjI1MiAxOTMzMyA5Mzk1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogPGcgZmlsbD0iI2ZmZiI+CiAgPHBhdGggZD0iTTEzNDUzLjA0IDE5OTczLjMxbDUwMy43MiAtMTAuMDMgLTM0LjI3IC0zMzczLjUxYzE1Ny4zMSwtNzMuMiAyMTkuMzksLTE4My41MiAzNDkuODYsLTIzOC44NiAxMDAuMTcsMTIxNi4yOSAxMTEuNDgsMjQ2OC42NSAxNTEuOTIsMzY4Ny4yNGwxMjU1LjU4IDI1OC4zNSAzNzIuODcgNjYuNTFjLTE0LjYxLC00MDcuMjcgLTEyMS45LC0zODM2Ljk3IC0yNjguMzQsLTQwMzYuNTZsLTI2Mi42NiAtMjg1LjYzYy02LjM5LC03Ljc4IC0xNS43LC0xOS4xNCAtMjIuMTcsLTI2Ljg3IC0xNDAuMTEsLTE2Ni43MyAtMjY3LjkzLC0yOTAuNzkgLTM2Ni44NywtNDkzLjg5IDU2OS45NywtNzA0LjQ0IDY4My4yOCwtMjY2LjA2IDY0NC4yNiwtMTEzNC4xNiAtMjUuMDgsLTU1OC42NCAtMzAuMTksLTExNzUuNzggLTk4LjEzLC0xNjkwLjM3IC05OC4zLDUyLjM5IC0xOTg0Ljk1LC01NC43NiAtMjQ3Ni4wNiwtNTQuMzkgLTE1My45NCwwLjExIC0yOTcuNTcsLTQuNjQgLTQ1MC44NSwtOS45NiAtMzUuNDgsLTEuMjUgLTE3MS41OSwtNS44NSAtMTk4Ljk2LC0yLjgxIC0yMjcuOTcsMjUuMjQgLTg1Ljg0LC0yNy43MiAtMTg4Ljc4LDY4LjE5IC00NC44OCw4OC4xNiAtOTMuOTIsNjc0Ni43IC04Ljg2LDcwOTAuMzggMjUyLjA0LDEwMS4yNyA4ODYuNTYsMzAuOTcgMTA5Ny43NCwxODYuMzd6bTMyMi41OCAtNjUzNy43N2w1MzYuNzIgMCAwIDE5NTEgLTUzNi43MiAwIDAgLTE5NTF6Ii8+CiAgPHBhdGggZD0iTTE2NzMuNDQgMTQ1NzQuMTZjNTAuNjQsNDc2LjQ3IC0yNjQuOTYsMjk1Ni40NSAtMzM4LjE2LDM1ODMuMDggLTY2LjkzLDU3Mi44IC0xNjkuMTYsMTEwMi4zMiAtMjM4Ljk1LDE2OTYuNjcgLTY4LjY5LDU4NS4wNSAtMjMyLjMzLDExMjUuNjMgLTI1OS44NywxNzUyLjlsMjgyMS4yNSAtODc1LjI0YzMwNy4zNCwtODUuOTkgNzQwLjc5LC0xNjcuMzggOTU5LjEsLTI3OS4xIDEwNC4yNywtMTI3OS44MSA0NjIuMDUsLTM1NTQuMTkgNDAyLjE4LC00NzMzLjAxbC0xNzAuNDUgLTIwLjY4Yy05NC4wNiwtMTguNjkgLTE2NC4xNCwtNDYuODkgLTIyNi4wOCwtNzEuODMgLTMzNy4zNiwtMTM1Ljg2IC05MjMuMjcsLTQ4MC43OSAtMTI3Ni4zNSwtNDk3LjA1bC04OS44OCAxMTI0LjY1IDE1Mi44OSAxNjMuMTVjNzIuMiwxNzQuNzEgLTIwNi40NCwyMzkyLjkxIC0yNTguMzYsMjg0OS4xIC02NC42NCw1NjguMjQgOTYuNTEsNTI1LjUyIC00MzUuODYsNTU2LjY2IDE4LjUsLTU1Ni40MSA5My43MiwtODk2LjE4IDE1Ni4wNywtMTQwOS4zNSA1Ny43MywtNDc1LjMxIDc1LjQzLC05NjAuNTEgMTIwLjg0LC0xNDQ5LjIyIDQyLjY4LC00NTkuMzUgMTI1LjExLC04NzguNDIgMTQ5LjExLC0xMzk0Ljc5IDExLjc2LC0yNTMuMjggMS4wOSwtNTMzLjIgMjEuMDMsLTc3OS45MiAxNS43NywtMTk1LjAyIDY3LjQ2LC00NzUuNzkgNzkuNDQsLTY5OC4wMyAtNjYuOTcsLTY2LjM3IC0zMC41MywyMy40OCAtMTA4LjQxLC0xMzEuODMgLTk5LjU1LDEzNy43MyAwLjc3LDM2Ljc2IC05MS4yNiwyMzAuNDggLTc3LDE2Mi4xMSAtNTIuMjEsMS45IC00Ny42MywxNTNsLTMwLjM4IDI5MS41NWMtMTAuMjMsMTI5LjA5IC0wLjM2LDIwLjQzIDguMzksMTUxLjkxIDIyLjI4LDMzNC42OCAtODEuNDUsNDE2LjUyIC04NC43NCw1MzguNyAtMC4xNSw1LjM2IDkuNDMsNTcuMzQgMjEuNjMsMTI4LjIxIDI5LjcyLDE3Mi41MiAyMy4yLDE2NC45NSAxLjExLDM4OS44NCAtNy42Niw3Ny44OCAtMTEuMjgsMTMwLjEyIC0xNi4xOSwxNjkuNjZsLTUzLjQ5IDM2MC4zOWMtNTMuNTcsMzAxLjkgOC42NCwzMzIuODMgLTkxLjg0LDcxMC43OCAtNDUuNjUsMTcxLjcxIC0wLjc5LDI2MC40MSAtNDMuMjMsNDAzLjcgLTQ1LjA2LDE1Mi4xMyAtMTExLjg2LDEyMS4yOSAtMTkzLjg2LDI1My42OSAtMTE1Ljg0LDE4Ny4wMyA3Mi45NSwzNTcuODQgLTE2Ny43LDYzNC4xNGwtMTAyLjUxIDE0MC45M2MtNi4xOSw5LjA5IC0xMy41NSwyMy41MyAtMTkuODIsMzIuMDdsLTEwNy4zNCAxMTkuMzVjLTYxLjYsOTMuOTcgMTExLjk5LDM5LjE3IC0xMTYuMjEsMTI3Ljc5IC05Ni4zMywtMTQ5Ljc3IC02Mi4xOSwtMTgwLjc1IC0xMDIuNzcsLTMwOC43bC0xMzAuNzkgLTIwMy40OCAxMTEuNjUgLTIyMS45MWMtMTU0LjM1LC0yMjguNTMgLTE1NS43NSwtNTEuMjEgLTE2NC40MywtMzk5LjA1IC04LjcyLC0zNDkuMjQgLTEyLjIsLTI1MS4zMSAxNTkuMzIsLTM0OC43IC00My42MywtMTA5Ljg1IC03OC4yMiwtNzAuOTcgLTE1Mi44LC0xOTkuNCA5Ni43NSwtMjE3LjI1IDczLjExLC0yMjAuMzYgNTAuMywtNDQ2LjI5IC04Mi41OCwtODE3LjggMTMuNDIsLTU0Ny4xNiAyMC4zNSwtMTAxOC44MyAyLjI2LC0xNTIuNzkgLTMyLjYsLTE4Mi42NCAzMS4wMiwtMzU0Ljk2IDMuNTIsLTkuNSAxMC44MiwtMjMuNzkgMTQuMzMsLTMyLjY3IDk0LjY1LC0yMzguNTEgNDkuNjQsLTE0LjIzIDE5LjgzLC0xNzIuMzVsMjUuNTggLTcwMy42N2MzMi4wMywtMzEwLjM5IDE1LjIyLC03NDQuNzMgNTIuMzIsLTExMTUuNjUgMzA4LjMsLTgwLjczIDUwMy4yOSwtMTMwLjIyIDgzOC40NywtMTYxLjc1IDE1OS4zOSwtMTQuOTggMjU4LjAxLC03OC42NiA0MTkuMDgsLTk5LjM5bDE1OTQuNzYgLTY5LjY2YzI4Ni43NSwxNy41NiAyOTYuNTEsLTEwLjcyIDMwMC45OCwxODIuNTMgMTEuNiw1MDEuNDEgLTEyNy42LDExNzQuNTkgLTI2LjcsMTYwMi4zNGwzMy43MSAtNzIuMDRjNTYuMDgsLTIwNS4yOSA4MS40MywtMTc0OS4yNSA3MS45NSwtMTkwNC44MiAtNDgwLjYyLDIwLjE4IC0yNjUwLjg0LDEyMy42NyAtMzA5NC4yNywyNTkuNjUgLTEzMy44NSw0MS4wNCAtMTc1LjEsODYuMSAtMjc0LjUyLDE2OS4zOCAtMTkuMDgsMjQyLjg3IC0xMi4xOSw0ODMuOTcgLTMyLjUzLDcyNi40NyAtMTMuMzcsMTU5LjM2IC02LjQ5LDUzOS44IC04OS4zMSw2NzAuNnoiLz4KICA8cGF0aCBkPSJNODAyNy4yOSAxOTkyNS43M2MxMDIuNDUsLTc3LjUgMjI4LjQsLTY4LjA1IDM4My40LC04MC4yMSA3NC4xLC02OTEuNjkgMTcwLjA3LC0xODQ5Ljg5IDEyNC4wMywtMjU1NS40MSAtMTYwLjg0LDI2LjE3IC0zNzEuNTEsMTQ3LjA4IC01MDQuOTYsMjM4LjE1IC0zNDguMjIsMjM3LjY2IC02MDUuMDQsMzA4LjUyIC03ODguNzUsNDU1Ljc2IC0yNzMuNTEsMjE5LjE5IC04My4wMiwyMjcuOCAtMzM1LjU1LDM0Ni41NCA2OS45OSwyMjYuOTUgLTEzLjM4LDQyNS41MiA1My40Miw2NjUuNTRsLTQ1My45MSA4OS4yM2MtMi40NCwtMzEwLjY1IDQxNC40NCwtNjc5My4zNCAxNzcuMjcsLTYzNjQuNzQgLTUuODksMTAuNjMgLTI1Ljc5LC0xMy42MSAtMzQuMjcsLTE2LjA2bC0yNzEuNDYgLTMwLjAzYy0xMzIuMDgsMS44NCAtMjY4LjY5LDEyLjk3IC00MDIuNTQsMTQuNzEgLTI1Ni4wNiwzLjMzIC01MDguMjUsMjcuMSAtNjgwLjI5LDAgLTEzMC4xOCwyMDMyLjkgLTE1Ny4zNywzNzEyLjYxIC0zNDkuNTksNTc3Ni44NSAtNjAuMjcsNjQ3LjEyIC0xNjMuMDIsMTMxMy41NiAtMTY5Ljg3LDE5NDQuNDcgMjg2LjU4LC0yNS4yNyA0ODUuODcsLTc5LjE3IDc2OS4zOCwtMTQ1LjkzIDM3OC41OSwtODkuMTIgMjIxMS44MywtMzgxLjc0IDI0ODMuNjksLTMzOC44N3oiLz4KICA8cGF0aCBkPSJNMTIyMzEuMzYgMTYzMzEuMzFsLTIzLjU0IC0zNjYyLjg0IC0xNjEuNzUgMTYuNGMtMjM4LjY3LDEzMy4xOCAtMjgxLjI5LDc3LjQxIC01NjQuODgsMzMuMzFsLTE4MTguMDEgLTI1LjcyYy04NzAuODYsMTIuNDggLTcyMS42NCw0MDguMjggLTcwNi4xMywxMTIwLjMxbC0xOC44MiAxOTQzLjcxYzEuNTYsMTMuNTIgMTcuMTcsOTkuOTQgMTcuOTUsMTEwLjExbDIuMTcgNDQuOTJjLTQ0LjQ0LDQ3Ny40MyAtMTAuMTMsMjMzLjUxIDYuNCw1NjcuMjcgNi4zMywxMjcuNjcgNi4yLDIxNS42NSA4NS42OCwzNDMuOTUgOTkuMjMsMTYwLjE1IDYuNTQsLTExLjY2IDI4LjQ0LDQxLjI2IDExMC41MiwyNjcuMDYgLTI5LjA0LC0yNjkuMjUgMy4wNiwxNzIuMDYgOC40OCwxMTYuNDkgMTUuNzEsMjQ2Ljk5IC01Ni43NywzNzguMzIgODUuMTUsNDcuNiAtMjcuNzUsNzIuMiAxMTkuODUsMzkuNCAxMzkuNiwtMzEuMDIgMzEuNzgsLTUyLjEgMzEuNzgsLTUyLjI1IDUuMzgsMTE2LjE4IC0xOS4wMSwxMDUuOCAtMTA4LjY4LDE0Ni4xOSAtOC40OSwzLjgzIC0yOC43Miw4LjM0IC00MS4yLDE2LjIxIDcuNjcsMTIuNjkgMjUuNzMsMTIuNDggMzAuMzIsMzIuNTMgNDEuNDEsMTgwLjk4IDIxMy4xMSwtMy4zMyAyOC44MSw1NDEuNjIgMTU3LjA5LDM5LjkyIDE2Ni44MiwzNi4yNyAyMTQuMywyMTkuNDkgMzAuMDgsMTE2IDQzLjYsMjgzLjc2IDExMy43OSwzNzcuMSAyMzEuMzYsLTEwMy40MiA0MS43LDM1LjY3IDE0My40MSwtMTk0LjA5IDIyNS41MywtNTA5LjQzIDE0OC4zOSwtNTI4LjY2IDM4My43OCwtNTUwLjIybC0xOTguNzEgLTEyNy4zM2M4Ny45NiwtNDUuMjQgODQuMDgsLTYxLjc5IDEzOC43OCwtMTMwLjgybDE2MC43OSAtMTY4LjI4Yy05LjM2LC0xMC44OSAtMjYuODUsLTM5LjI5IC0zMS4xNiwtMjkuNzIgLTE0LjMxLDMxLjg0IC0xMTMuNDYsLTE0OS42MiAtNjYuNDMsLTI5NS42NGwxMjQuOTQgLTQzNS41M2M4LjE0LC02Mi43MyA1LjAyLC0zMi42NyAxNy42MSwtODQuMjcgNzYuNTUsLTMxMy42OSA0MS45MiwtNjc0LjU0IDQ2LjA0LC05OTkuMyA2LjkzLC01NDcuNzYgLTcxLjYzLC0xNTQzLjcgMTcyLjI1LC0yMDkzLjU0bDM1NS4xNCAtOTMuNzZjMTEuMTEsMjAuMyAyMi41Niw1MS44NCA0LjY5LDI1LjA4IDQyLjMzLDcyLjE3IDQ5LjM0LDg1LjY3bDEwNS45MSAyMjAxLjg1Yy0wLjEyLDExLjgyIC0wLjMsMjUuMiAtMC42NCwzNy4xMiAtNy43OCwyNjUuMTkgNy43Niw0MTYuMDUgNS40NSw2MjEuNTEgLTEuNiwxNDEuMzggLTEzLjI4LDEzOS4wNCA1LjU2LDI4MC4zMiAxNi41NSwxMjQuMTYgLTAuOTIsMTYuODIgMjQuODUsMTIwLjY4bDQ3LjQzIDY2My4yYzYuNTIsMjg0LjQ4IC00OC4wOSwzNjcuNTUgMjEwLjM2LDUxNy45MiAwLjMzLDU3LjMgLTE2LjAyLDEyMC40NSAtMTYuMzksMTMxLjIxIC0wLjQ4LDE0LjEzIC0zLjYsNjQuMDIgLTEuOTMsNzguOTZsMTUuOTcgNjguNzFjMjUuNzksNzcuNyA5Mi4xOCwtMTMuOTYgNjguOTUsMTk1LjQ4IC01LjAyLDQ1LjI0IC0yNzAuNzcsMzQ0Ljg1IDM3Mi44OCwxOTEuMjZsMzYuNDMgLTIyNy40MmMxLjk2LC0xLjc1IDE0Ljk3LC02Ljg3IDE3LjE4LC04LjA5IDIuNjgsLTEuNDcgMTkuNzcsLTQuNTkgMjIuMjgsLTUuNTcgNTQuODMsLTIwLjk0IDQ0LjYzLC0xMDIuNTIgNzUuMjIsLTE2MS44NCA3MS40MiwtMTM4LjQ4IC0xNS4xOCwtNC42MyA4Ni4xNywtMTA0LjIgNy4yLC03LjA4IDE5LjQ3LC0xNS42MyAyNi45MiwtMjIuN2w3OC4xMiAtNzYuNDZjOTkuMjIsLTk1LjU4IC03Mi4yMywtMzkuMjYgMTA4LjUsLTk2Ljg5IC04MC43MywtMTg3LjQ4IDk4LjI4LC01Ni4xNyAtMTU0LjcxLC0xNDMuMjIgMjA3Ljg0LC0zNC42NyAxOTguMzcsLTUxLjc3IDIwMS4yNywtMzYzLjIxbDIuMzQgLTE2MzQuNjdjMzIuNDcsMjM1LjAzIDY2Ljc5LDEwNy40NyAtNC4yNywzMzQuMTkgOTAuNjcsOTEuNTIgLTEuMDMsMzYuMDIgMTYwLjAzLDYzLjV6Ii8+CiAgPHBhdGggZD0iTTE3OTczLjUgMTcxODAuMjhsMjcwLjIyIDExNC4zMmMzOC4xOCw2Mi45NSAtNDYuODEsMjUuNTMgMTYzLjkyLDE3NC45NCAtMTcwLjIyLDMxLjI2IC04OC43MywtMTUuMDMgLTE1OC42Miw5NC4zOCAxNzguMTEsMTgyLjE0IDEwMi45Myw3NC4wNiAxMjUuMTUsMjE0Ljc2IDYuMzUsNDAuMyAtMi43MSw3MC43NyAyMC40MSwxMzIuNjggNzguNjYsMjEwLjQ2IDExMS4yNyw0MC4zNiAxODUuNzMsMzk2LjQzIDExNS4yLDU1MC44MiAzNi43NywyMDAuNjQgMTU0LjMsNTA3LjEyIDQuOTMsMTIuODggMTYuMjksNDkuOCAxNy44NSw2Mi4wNyAwLjEyLDAuOTUgLTM4Ljg0LDM3MS45IDE2MC4zMyw1NTMuMzcgMTE0LjUzLDEwNC4zNSAxODAuMjEsNjMuOTMgMzY2LjEzLDUxLjg1IC04NC40OSwtMTEzLjQ1IC04Mi41NywtNDU1LjY4IC05OS40OSwtNjM2LjU3bDIwMS4zNSAtNjAuOTJjLTExNy43LC00Mi40MSAtNjMuNzgsMTkuMjIgLTIxMS42MiwtNzQuMjNsMTc5LjE3IC05My42OWM3LjM0LC00LjkyIDIwLjgyLC0xMi40NiAyNy4xNywtMTcuNjVsNjMuNzkgLTExNy40NGM3MC4xLC0xODIuNDYgLTkuODMsLTEzMi40NyAxMjguNjcsLTEyMC40MiAtNzIuNTcsLTQ2LjI5IC0xNjUuOCwtMTA3LjI0IC0xNzYuMTEsLTI1Mi4xNCAtMTEuNzYsLTE2NS41NiAzMC40OSwtNDYuNDIgNTMuOTYsLTIyNC45MyAzNC44OSwtMjY1LjI3IC00My43NywtNDk3LjczIDIwLjUyLC03ODIuMzUgMTE0LjIxLC00NDUuNzEgLTE3Ni44OCwtMTE0NS4xOSAtNjkuNjgsLTE1NjkuMjUgLTExMi41MywtMTYzLjc4IC0xMjIsLTEwMzcuMzUgLTE0NS4wNiwtMTI3MS45NiAtNDEuMDQsLTQxNy42IC02Mi41OSwtODUyLjQyIC05NS4zNiwtMTI1Ny40NGwtMTIxNy42OSAtNjcuNzYgLTExNC43NyAxNzcuM2MtNS40OSw4LjI2IC0xNS41NCwxOS4wMiAtMjAuNjQsMjcuNjJsLTU2LjkzIDIzMS4yMWMtNi41MSwyMDYuNzcgMTQuMzEsNDQ0LjM2IDIxLjksNjUzLjMyIDE2LjksNDY1LjM0IDYwLjQxLDgwMC4zOCA1MS40NiwxMjgzLjY1IC00ODUuNTcsLTE3OS42MSAtMzc2LjI2LC01NjYuMjIgLTQyMy4wNiwtMTExMi43OSAtMTUuNjYsLTE4Mi45MiAtNTIuODUsLTEyMjMuODkgLTEyOC44NywtMTI5Ni41IC0xODYuMDIsLTEzOS4xMyAtMTEyNy40MywtNzMuOTggLTE0MDIuODUsLTE0Ni45OSAtMzUuNCw1ODMuODcgOC4wOCwxMDU5LjMxIDIxLjI1LDE2MjAuNTUgOC45LDM3OC4zMSAtNjUuNjIsNDYyLjEgMTcwLjU4LDY4OC41OSA0NjMsNDQ0IDE1MDcuNTgsMTY0Ni41MiAxOTE2Ljg5LDIxMTguODd6Ii8+CiAgPHBhdGggZD0iTTE2Mzc4LjM1IDIwNDgwLjAxYzYzMC4yLC0yNi4wMSAzNDE1LjY5LDEwNzEuMTYgMzcxMC42NywxMDgyLjU3bC01NTYuMjMgLTQyOTYuMDJjLTQuMjIsLTE1LjkyIC03LjcxLC0yOC40IC0xMi41LC00My40NmwtNTMuOTYgLTEyMS4yNGMtNjQuMjksMjg0LjYyIDE0LjM3LDUxNy4wOCAtMjAuNTIsNzgyLjM1IC0yMy40NywxNzguNTEgLTY1LjcyLDU5LjM3IC01My45NiwyMjQuOTMgMTAuMzEsMTQ0LjkgMTAzLjU0LDIwNS44NSAxNzYuMTEsMjUyLjE0IC0xMzguNSwtMTIuMDUgLTU4LjU3LC02Mi4wNCAtMTI4LjY3LDEyMC40MmwtNjMuNzkgMTE3LjQ0Yy02LjM1LDUuMTkgLTE5LjgzLDEyLjczIC0yNy4xNywxNy42NWwtMTc5LjE3IDkzLjY5YzE0Ny44NCw5My40NSA5My45MiwzMS44MiAyMTEuNjIsNzQuMjNsLTIwMS4zNSA2MC45MmMxNi45MiwxODAuODkgMTUsNTIzLjEyIDk5LjQ5LDYzNi41NyAtMTg1LjkyLDEyLjA4IC0yNTEuNiw1Mi41IC0zNjYuMTMsLTUxLjg1IC0xOTkuMTcsLTE4MS40NyAtMTYwLjIxLC01NTIuNDIgLTE2MC4zMywtNTUzLjM3IC0xLjU2LC0xMi4yNyAtMTIuOTIsLTQ5LjE5IC0xNy44NSwtNjIuMDcgLTExNy41MywtMzA2LjQ4IC0zOS4xLDQzLjcgLTE1NC4zLC01MDcuMTIgLTc0LjQ2LC0zNTYuMDcgLTEwNy4wNywtMTg1Ljk3IC0xODUuNzMsLTM5Ni40MyAtMjMuMTIsLTYxLjkxIC0xNC4wNiwtOTIuMzggLTIwLjQxLC0xMzIuNjggLTIyLjIyLC0xNDAuNyA1Mi45NiwtMzIuNjIgLTEyNS4xNSwtMjE0Ljc2IDY5Ljg5LC0xMDkuNDEgLTExLjYsLTYzLjEyIDE1OC42MiwtOTQuMzggLTIxMC43MywtMTQ5LjQxIC0xMjUuNzQsLTExMS45OSAtMTYzLjkyLC0xNzQuOTRsLTI3MC4yMiAtMTE0LjMyIDI5Ny43MiAyNjExLjQxYy0yMzguNjEsMjIuMzUgLTMyNS4yNiwtMjQuMDkgLTQ4Mi41MSwtODguMzMgMTIuMDIsLTQwOC40NyAtMTMyLjY3LC0yMzQ5LjkzIC0yOTcuMTMsLTI1NDAuNTIgLTc4LjIxLC05MC42MSAtOTkuODUsLTg1LjczIC0xOTguMTcsLTIwMy45OGwtODk2LjUyIC05OTUuNThjLTYuOTMsLTYuNzMgLTE3LjIyLC0xNy4zMyAtMjQuNDYsLTIzLjY0IC02NC45NCwtNTYuNjEgMTcuNiwtNS4wMiAtODMuMywtNjAuNDEgLTEzMS4xOSwtNzIuMDIgLTExMS43OSwtMTYuNTkgLTI0NC45LC04Ni44OSAtMjA1LjY4LDQ3Mi44NSAxOC4yLDE3ODEuNjkgMzMuNTMsMjM2OC40MiA1LjQsMjA2LjM3IDc1LjExLDIwMDYuMjggMTQ4LjYyLDIxNjMuNCAzNi4zNCw3Ny42NyAyMS44MiwzOC4xNyA2NS43Nyw4Ni4zOWw4Ni4yIDY5LjQ2eiIvPgogIDxwYXRoIGQ9Ik05NDYzLjczIDE5ODA5LjA2bDI0OTMgNS4yMSAyNjkuNTEgMS4wOSA1LjEyIC0zNDg0LjA1Yy0xNjEuMDYsLTI3LjQ3IC02OS4zNywyOC4wMiAtMTYwLjAzLC02My40OSA3MS4wNywtMjI2LjczIDM2Ljc0LC05OS4xNyA0LjI2LC0zMzQuMmwtMi4zMyAxNjM0LjY3Yy0yLjkxLDMxMS40NCA2LjU4LDMyOC41NSAtMjAxLjI2LDM2My4yIDI1Mi45OCw4Ny4wNiA3My45OCwtNDQuMjUgMTU0LjY5LDE0My4yMyAtMTgwLjcyLDU3LjY0IC05LjI3LDEuMzIgLTEwOC40OSw5Ni44OWwtNzguMTIgNzYuNDZjLTcuNDQsNy4wNyAtMTkuNzIsMTUuNjMgLTI2LjkzLDIyLjcgLTEwMS4zMyw5OS41NyAtMTQuNzMsLTM0LjI3IC04Ni4xNSwxMDQuMiAtMzAuNTksNTkuMzIgLTIwLjQsMTQwLjg5IC03NS4yMywxNjEuODQgLTIuNTEsMC45OCAtMTkuNjEsNC4wOSAtMjIuMjgsNS41NiAtMi4yLDEuMjMgLTE1LjIyLDYuMzUgLTE3LjE4LDguMWwtMzYuNDQgMjI3LjQyYy02NDMuNjQsMTUzLjU5IC0zNzcuODksLTE0Ni4wMiAtMzcyLjg2LC0xOTEuMjYgMjMuMjEsLTIwOS40NCAtNDMuMTYsLTExNy43OCAtNjguOTUsLTE5NS40OGwtMTUuOTggLTY4LjcxYy0xLjY3LC0xNC45NCAxLjQ0LC02NC44MyAxLjkzLC03OC45NSAwLjM3LC0xMC43NyAxNi43MywtNzMuOTIgMTYuMzksLTEzMS4yMiAtMjU4LjQ1LC0xNTAuMzcgLTIwMy44NCwtMjMzLjQzIC0yMTAuMzcsLTUxNy45MmwtNDcuNDIgLTY2My4yYy0yNS43OCwtMTAzLjg2IC04LjMsMy40NyAtMjQuODQsLTEyMC42OCAtMTguODUsLTE0MS4yOCAtNy4xOCwtMTM4Ljk1IC01LjU3LC0yODAuMzIgMi4zMiwtMjA1LjQ2IC0xMy4yMywtMzU2LjMyIC01LjQ0LC02MjEuNSAwLjM0LC0xMS45MyAwLjUxLC0yNS4zMiAwLjYzLC0zNy4xM2wtMTA1LjkxIC0yMjAxLjg2Yy03LC0xMy40OSAtNDQuNjUsLTYwLjU4IC00OS4zNCwtODUuNjYgLTUuMDEsLTI2LjY1IC0xNi40NSwtMzEuNTQgLTI3LjU3LC01MS44NGwtMzU1LjE0IDkzLjc2Yy0xOS43Miw0NC40NSAtMzcuMjksOTEuODYgLTUzLjAxLDE0MS42N2w0NzAuMzEgMCAwIDUxNjAuMTIgLTUzNi43MSAwIDAgLTQ4NzcuOTljLTkzLjcsNTQ3LjM2IC00Ny40NiwxMjQzLjk1IC01Mi44NCwxNjY5Ljc1IC00LjEyLDMyNC43NSAzMC41MSw2ODUuNjEgLTQ2LjA0LDk5OS4yOSAtMTIuNTksNTEuNiAtOS40NywyMS41NSAtMTcuNjEsODQuMjdsLTEyNC45NSA0MzUuNTRjLTQ3LjAyLDE0Ni4wMSA1Mi4xNCwzMjcuNDggNjYuNDQsMjk1LjYzIDQuMzEsLTkuNTcgMjEuODEsMTguODMgMzEuMTYsMjkuNzJsLTE2MC44IDE2OC4yOGMtNTQuNjksNjkuMDIgLTUwLjgxLDg1LjU3IC0xMzguNzgsMTMwLjgybDE5OC43MiAxMjcuMzJjLTIzNS4zOSwyMS41NyAtMTU4LjI1LDQwLjggLTM4My43OSw1NTAuMjIgLTEwMS43LDIyOS43NyA4Ny45NSw5MC42OCAtMTQzLjQsMTk0LjExIC03MC4xOCwtOTMuMzUgLTgzLjcxLC0yNjEuMTEgLTExMy43OSwtMzc3LjEgLTQ3LjQ5LC0xODMuMjMgLTU3LjIxLC0xNzkuNTcgLTIxNC4yOSwtMjE5LjUgMTg0LjMsLTU0NC45NCAxMi41OCwtMzYwLjY0IC0yOC44MiwtNTQxLjYyIC00LjU5LC0yMC4wNSAtMjIuNjQsLTE5Ljg0IC0zMC4zMiwtMzIuNTMgMTIuNDgsLTcuODcgMzIuNywtMTIuMzggNDEuMiwtMTYuMjEgODkuNjgsLTQwLjM5IDExNC4wNiwtMzAuMDEgMTA4LjY4LC0xNDYuMTkgMCwwLjE0IDEwNy44MiwyMS4yMyAtMzEuNzksNTIuMjYgLTE0Ny41OCwzMi44IC0zNC42OCw4LjE5IC0xMTkuODQsLTM5LjQxIDcyLjQ4LC0xMzEuMzIgNjUuMjYsLTI2MS44NCA1Ni43OCwtMzc4LjMyIC0zMi4xMSwtNDQxLjMyIDEwNy40NSw5NSAtMy4wNywtMTcyLjA3IC0yMS45LC01Mi45MSA3MC43OSwxMTguODkgLTI4LjQ0LC00MS4yNCAtNzkuNDksLTEyOC4zMSAtNzkuMzUsLTIxNi4yOSAtODUuNjgsLTM0My45NyAtMTYuNTMsLTMzMy43NSAtNTAuODUsLTg5LjgzIC02LjQsLTU2Ny4yNmwtMi4xNiAtNDQuOTJjLTAuNzgsLTEwLjE3IC0xNi40MSwtOTYuNiAtMTcuOTcsLTExMC4xMWwxOC44MyAtMTk0My43MWMtMTUuNTIsLTcxMi4wNCAtMTY0LjcyLC0xMTA3LjgzIDcwNi4xMywtMTEyMC4zMWwxODE4LjAxIDI1LjcyYzI4My41OSw0NC4wOSAzMjYuMjEsOTkuODcgNTY0Ljg3LC0zMy4zMSAtOTUuMjIsLTczLjM1IDMxLjgyLC0zMy43MyAtMTg3LjE0LC04My43bC0xMzk3Ljk0IC0zLjE3Yy01MDkuMywtMC40MyAtMTQ1Ni40LC0xNDUuNTEgLTE1NzkuMzQsMTU4LjQ2IC02LjA3LDE1LjA0IC0yMi44LDYyLjY3IC0yNy40OSw4MC4wOWwtMTA4LjkxIDMzMTEuNjNjLTgzLjAzLDEyMTYuNjUgLTE1OC4xMSwyNDY2LjA5IC0xNzAuMjMsMzY5NS45Nmw4ODguNzIgLTM1LjA4eiIvPgogIDxwYXRoIGQ9Ik0zMjQxLjM5IDE0MDkyLjE1bDIyLjI3IC0xNTIuNDYgMzI2LjQ3IC0yMS43OCAxNS45IDU4Mi4zYzc3Ljk0LDI2OC4zNyAxMjk3LjUsNjYxLjQ4IDE0NjkuOCw2NzYuODggNS42OSwtMjA2Ljk0IDM2LjUsLTI1NC44MSAtMTcuNDIsLTQ1Mi4xNyAtMTAwLjksLTQyNy43NSAzOC4zLC0xMTAwLjkzIDI2LjcsLTE2MDIuMzQgLTQuNDcsLTE5My4yNSAtMTQuMjMsLTE2NC45NyAtMzAwLjk4LC0xODIuNTNsLTE1OTQuNzYgNjkuNjZjLTE2MS4wNywyMC43MyAtMjU5LjY5LDg0LjQxIC00MTkuMDgsOTkuMzkgLTMzNS4xOCwzMS41MyAtNTMwLjE3LDgxLjAyIC04MzguNDcsMTYxLjc1IC0zNy4xLDM3MC45MiAtMjAuMjksODA1LjI2IC01Mi4zMiwxMTE1LjY1bC0yNS41OCA3MDMuNjdjMjkuODEsMTU4LjEyIDc0LjgyLC02Ni4xNiAtMTkuODMsMTcyLjM1IC0zLjUxLDguODggLTEwLjgxLDIzLjE3IC0xNC4zMywzMi42NyAtNjMuNjIsMTcyLjMyIC0yOC43NiwyMDIuMTcgLTMxLjAyLDM1NC45NiAtNi45Myw0NzEuNjcgLTEwMi45MywyMDEuMDMgLTIwLjM1LDEwMTguODMgMjIuODEsMjI1LjkzIDQ2LjQ1LDIyOS4wNCAtNTAuMyw0NDYuMjkgNzQuNTgsMTI4LjQzIDEwOS4xNyw4OS41NSAxNTIuOCwxOTkuNCAtMTcxLjUyLDk3LjM5IC0xNjguMDQsLTAuNTQgLTE1OS4zMiwzNDguNyA4LjY4LDM0Ny44NCAxMC4wOCwxNzAuNTIgMTY0LjQzLDM5OS4wNWwtMTExLjY1IDIyMS45MSAxMzAuNzkgMjAzLjQ4YzQwLjU4LDEyNy45NSA2LjQ0LDE1OC45MyAxMDIuNzcsMzA4LjcgMjI4LjIsLTg4LjYyIDU0LjYxLC0zMy44MiAxMTYuMjEsLTEyNy43OWwxMDcuMzQgLTExOS4zNWM2LjI3LC04LjU0IDEzLjYzLC0yMi45OCAxOS44MiwtMzIuMDdsMTAyLjUxIC0xNDAuOTNjMjQwLjY1LC0yNzYuMyA1MS44NiwtNDQ3LjExIDE2Ny43LC02MzQuMTQgODIsLTEzMi40IDE0OC44LC0xMDEuNTYgMTkzLjg2LC0yNTMuNjkgNDIuNDQsLTE0My4yOSAtMi40MiwtMjMxLjk5IDQzLjIzLC00MDMuNyAxMDAuNDgsLTM3Ny45NSAzOC4yNywtNDA4Ljg4IDkxLjg0LC03MTAuNzhsNTMuNDkgLTM2MC4zOWM0LjkxLC0zOS41NCA4LjUzLC05MS43OCAxNi4xOSwtMTY5LjY2IDIyLjA5LC0yMjQuODkgMjguNjEsLTIxNy4zMiAtMS4xMSwtMzg5Ljg0IC0xMi4yLC03MC44NyAtMjEuNzgsLTEyMi44NSAtMjEuNjMsLTEyOC4yMSAzLjI5LC0xMjIuMTggMTA3LjAyLC0yMDQuMDIgODQuNzQsLTUzOC43IC04Ljc1LC0xMzEuNDggLTE4LjYyLC0yMi44MiAtOC4zOSwtMTUxLjkxbDMwLjM4IC0yOTEuNTVjLTQuNTgsLTE1MS4xIC0yOS4zNyw5LjExIDQ3LjYzLC0xNTMgOTIuMDMsLTE5My43MiAtOC4yOSwtOTIuNzUgOTEuMjYsLTIzMC40OCA3Ny44OCwxNTUuMzEgNDEuNDQsNjUuNDYgMTA4LjQxLDEzMS44M3oiLz4KIDwvZz4KPC9zdmc+Cg==);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain}
.glory-gold{background:linear-gradient(160deg,var(--gold-ramp-1),var(--gold-ramp-2) 32%,
  var(--gold-ramp-3) 55%,var(--gold-ramp-4) 78%,var(--gold-ramp-5))}
.glory-frame{opacity:0;background-size:cover;background-position:center}
/* Full-width, edge-to-edge strip — where the footage "becomes the section"
   once the mask has scaled up/faded away. background-size:cover crops the
   source frame's native aspect to fill this regardless of the mask's own
   (unrelated, word-shaped) aspect ratio. Sits hidden underneath the whole
   time; the fly-through cuts to this once letter edges have cleared the
   viewport, so "arriving" here reads as a landing, not a resize — see
   scaleTarget in main.js, which targets this same width/height so beat 1's
   readable-letters size and this final box are proportioned consistently. */
.glory-open{position:fixed;left:0;top:50%;transform:translateY(-50%);
  width:100vw;height:80vh;opacity:0;pointer-events:none;
  background-size:cover;background-position:center}
.glory-black{position:fixed;inset:0;background:var(--ink);opacity:0;pointer-events:none}
.glory-wait{position:fixed;left:50%;top:50%;width:min(40vw,160px);height:2px;
  border-radius:2px;overflow:hidden;background:rgba(255,178,0,.16);opacity:0;
  transform:translate(-50%,-50%);pointer-events:none}
.glory-wait::after{content:'';display:block;height:100%;width:40%;
  background:linear-gradient(90deg,var(--gold),var(--gold2));
  animation:glory-wait-sweep 1.1s ease-in-out infinite}
@keyframes glory-wait-sweep{
  0%{transform:translateX(-100%)} 100%{transform:translateX(350%)}
}

@media (min-width:768px){
  .topbar{padding:20px 24px}
  .hero-logo{width:min(24vw,230px)}
  .hero-eyebrow{font-size:14px}
  .cd-msg{font-size:17px}
}

/* =============================== GUESTS ================================= */
/* Atmosphere ramped from 0 (where the black hold left it) up to "calm dark,
   low embers" — see main.js buildGuests()/rampAtmosphere(). Card markup is
   JS-generated (main.js GUESTS array) into #guestsStack and #guestsStrip
   independently — see main.js for why.

   Both breakpoints are real GSAP ScrollTrigger pins with hand-paced
   reveal-then-hold-then-advance beats, same technique as buildManifesto():
   Desktop pins 3 stacked rows (4/4/5) in place, each row fully revealing
   before the next is allowed to cover it. Mobile keeps the pinned
   horizontal strip (vertical scroll -> 1:1 horizontal travel), now 3 panels
   (4/4/5, was 5 panels of 3/2/3/2/3) with the same reveal-before-travel
   gating per panel. See main.js buildGuests() for the timelines. */
#guests{min-height:0}
@media (min-width:768px){
  /* .guests-pin's own 100vh natural height + end:'+=300%' scrub (main.js) —
     switching off sticky removed the old .guests-row-wrap{height:130vh}x3
     flow-height source, so this needs to be explicit again, same
     "natural + scrub" convention as #manifesto{min-height:500vh}. Keep in
     sync with the pin's `end` value if that gets tuned. */
  #guests{min-height:400vh}
}

/* whole-section frosted glass: both the desktop row-shelf and the mobile
   pinned strip get this glass panel around their cards, in addition to each
   card's own glass — two panes of blur read as *more* frosted, not
   redundant, and match the "true frosted glass, embers/ring blurred behind"
   brief from earlier in this phase. */
.guests-glass{
  background:color-mix(in srgb, var(--ink) 14%, transparent);
  border:1px solid color-mix(in srgb, var(--gold2) 16%, transparent);
  backdrop-filter:blur(26px) saturate(150%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
  box-shadow:0 20px 60px rgba(0,0,0,.4), inset 0 1px 0 color-mix(in srgb, var(--cream) 8%, transparent);
}

.guests-eyebrow{font:700 13px/1.4 var(--cond),sans-serif;letter-spacing:.42em;
  text-indent:.42em;text-transform:uppercase;color:var(--gold2);
  text-shadow:0 0 20px rgba(255,178,0,.4)}

.guest-card{position:relative;aspect-ratio:3/4;border-radius:clamp(10px,1.4vw,16px);
  overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;
  background:color-mix(in srgb, var(--ink) 18%, transparent);
  border:1px solid color-mix(in srgb, var(--gold2) 20%, transparent);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  box-shadow:0 10px 34px rgba(0,0,0,.35), inset 0 1px 0 color-mix(in srgb, var(--cream) 10%, transparent)}
.guest-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:46%;z-index:0;
  pointer-events:none;
  background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--ink) 55%, transparent) 65%)}
.guest-photo{position:absolute;inset:0}
.guest-img{width:100%;height:100%;object-fit:cover;opacity:.9}
.guest-title,.guest-name{position:relative;z-index:1;text-align:center;padding:0 8px}
.guest-title{font:600 11px/1.3 var(--cond),sans-serif;letter-spacing:.24em;
  text-indent:.24em;text-transform:uppercase;color:var(--muted)}
.guest-name{font:700 clamp(14px,1.6vw,18px)/1.2 var(--cond),sans-serif;color:var(--cream);
  padding-bottom:14px}

@media (min-width:768px){
  .guests-mobile-pin{display:none}
  .guests-pin{display:flex;height:100vh;overflow:hidden;flex-direction:column;
    align-items:center;justify-content:center;gap:clamp(16px,2.4vw,28px)}
  .guests-rows{position:relative;flex:1;width:100%}
  /* rows share one footprint; GSAP crossfades/covers between them (see
     main.js) instead of sticky — z-index stays static since travel is
     monotonic row1->row2->row3, a later row always ends up on top once
     it's brought to autoAlpha:1. */
  .guests-row{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
  .guests-row:nth-of-type(1){z-index:1}
  .guests-row:nth-of-type(2){z-index:2}
  .guests-row:nth-of-type(3){z-index:3}

  /* full-width glass shelf (was width:min(92vw,1300px) — centered, not
     edge-to-edge like mobile's). Card size is capped by BOTH height and
     width budgets via --n (card count, set inline per row from JS) —
     height-only capping let the 5-card row's cards run wider than the
     viewport and spill off-frame. */
  .guests-row-glass{width:100%;--pad:clamp(22px,3vw,40px);--gap:clamp(12px,1.6vw,28px);
    padding:var(--pad);border-radius:clamp(18px,2.2vw,30px)}
  .guests-row-cards{display:flex;justify-content:center;align-items:stretch;gap:var(--gap);
    height:min(56vh, 520px,
      calc((100vw - 2*var(--pad) - (var(--n) - 1)*var(--gap)) / (var(--n) * 0.75)))}
  .guests-row-cards .guest-card{height:100%;flex:0 0 auto}

  @media (prefers-reduced-motion:reduce){
    /* no pin/scrub: rows just sit in normal flow, one after another.
       buildGuests()'s reduced branch never applies any transform/opacity to
       .guests-row, so plain static positioning is enough here. */
    .guests-pin{height:auto;overflow:visible;padding:6vh 0}
    .guests-rows{display:flex;flex-direction:column;gap:6vh}
    .guests-row{position:static;inset:auto}
  }
}
@media (max-width:767.98px){
  .guests-pin{display:none}
  .guests-mobile-pin{height:100vh;width:100%;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:clamp(14px,3vw,24px);overflow:hidden}

  /* align-self:flex-start overrides .guests-mobile-pin's align-items:center —
     without it the flex container centers this (much wider than the
     viewport) strip, shifting it left before GSAP's own xPercent scrub even
     applies and breaking the scroll-progress -> panel mapping entirely. */
  .guests-strip{display:flex;align-self:flex-start;width:300vw;height:74vh}
  .guests-panel{flex:0 0 100vw;height:100%;display:flex;flex-direction:column;
    justify-content:center;gap:clamp(10px,2.4vh,18px);padding:16px 20px}
  /* each panel is 1-2 sub-rows (--n cards each, set inline from JS): the
     4-card panels are one 2-card row + one 2-card row, the 5-card panel is
     a 2-card row then a 3-card row. Same dual-cap idea as desktop — 40px
     matches .guests-panel's own 16px+20px horizontal padding. */
  .guests-panel-row{display:flex;justify-content:center;align-items:stretch;
    --gap:clamp(8px,2.4vw,14px);gap:var(--gap);flex:1 1 0;min-height:0}
  .guests-panel-row .guest-card{flex:0 0 auto;aspect-ratio:3/4;height:auto;
    width:min(60vw, 260px,
      calc((100vw - 40px - (var(--n) - 1)*var(--gap)) / var(--n)))}

  @media (prefers-reduced-motion:reduce){
    /* no pin, no horizontal scrub: the strip becomes one plain vertical list */
    .guests-mobile-pin{height:auto;overflow:visible;padding:8vh 0}
    .guests-strip{width:auto;height:auto;flex-direction:column}
    .guests-panel{flex:none;height:auto;padding:0 20px 24px}
    .guests-panel-row{flex-direction:column;gap:12px}
    .guests-panel-row .guest-card{flex:none;width:min(60vw,260px);height:auto}
  }
}

/* =============================== HOSTS =================================== */
/* Pinned overlay reveal, one timeline at all widths (single card — no
   row/panel split like Guests). Atmosphere holds CALM_DARK_ATMOSPHERE
   (main.js) — no ramp needed between Guests and Hosts. Reuses .guests-glass
   directly (already a generic frosted-glass utility). */
#hosts{min-height:0}
@media (min-width:768px){ #hosts{min-height:300vh} }   /* keep in sync with pin's end value */
@media (max-width:767.98px){ #hosts{min-height:300vh} }

.hosts-pin{height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0 20px}
.hosts-card{width:min(94vw,880px);display:flex;flex-direction:column;align-items:center;
  gap:clamp(18px,3vw,28px);padding:clamp(24px,4vw,44px);border-radius:clamp(18px,2.2vw,30px);text-align:center}
.hosts-photo{width:min(58vw,220px);aspect-ratio:3/4;border-radius:clamp(12px,1.6vw,20px);
  overflow:hidden;background:color-mix(in srgb, var(--ink) 30%, transparent)}
.hosts-img{width:100%;height:100%;object-fit:cover;opacity:.9}
.hosts-copy{display:flex;flex-direction:column;gap:clamp(10px,1.6vw,16px)}
.hosts-eyebrow{font:700 13px/1.4 var(--cond),sans-serif;letter-spacing:.42em;text-indent:.42em;
  text-transform:uppercase;color:var(--gold2);text-shadow:0 0 20px rgba(255,178,0,.4)}
.hosts-names{font:700 clamp(22px,5.6vw,40px)/1.2 var(--cond),sans-serif;text-transform:uppercase;
  color:var(--cream);text-shadow:0 0 20px rgba(255,178,0,.18)}
.hosts-body{font:500 15px/1.6 var(--body),sans-serif;color:var(--muted);max-width:46ch;margin:0 auto}

@media (min-width:768px){
  .hosts-card{flex-direction:row;text-align:left;gap:clamp(28px,4vw,56px)}
  .hosts-photo{width:min(30vw,260px);flex:0 0 auto}
  .hosts-copy{align-items:flex-start}
}

@media (prefers-reduced-motion:reduce){
  #hosts{min-height:auto}
  .hosts-pin{height:auto;overflow:visible;padding:8vh 20px}
}

/* =============================== TIMES =================================== */
/* NOT pinned — a short reference table reads better as a plain
   reveal-into-view than a scroll-jacked pin. Rows render from
   EventSchedule.table (js/schedule.js) only — see main.js buildTimes(). */
#times{min-height:120vh;display:flex;align-items:center;justify-content:center;padding:8vh 20px}
.times-wrap{width:min(94vw,720px);display:flex;flex-direction:column;gap:clamp(20px,4vw,32px);align-items:center}
.times-eyebrow{font:700 13px/1.4 var(--cond),sans-serif;letter-spacing:.42em;text-indent:.42em;
  text-transform:uppercase;color:var(--gold2);text-shadow:0 0 20px rgba(255,178,0,.4)}
.times-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.times-table{width:100%;border-collapse:collapse}
.times-row{clip-path:inset(0 100% 0 0);border-bottom:1px solid color-mix(in srgb, var(--gold2) 14%, transparent)}
.times-row:last-child{border-bottom:none}
.times-days{text-align:left;vertical-align:top;white-space:nowrap;
  padding:clamp(14px,2.4vw,22px) clamp(10px,2vw,18px) clamp(14px,2.4vw,22px) 0;
  font:700 clamp(16px,3.4vw,22px)/1.2 var(--cond),sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--cream)}
.times-sessions{text-align:left;padding:clamp(14px,2.4vw,22px) 0;display:flex;flex-direction:column;gap:8px}
.times-session{display:flex;justify-content:space-between;gap:16px;font:600 14px/1.4 var(--body),sans-serif;color:var(--muted)}
.times-session b{font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.times-time{font-variant-numeric:tabular-nums;font-weight:700;color:var(--cream)}

@media (min-width:768px){
  .times-sessions{flex-direction:row;flex-wrap:wrap;gap:clamp(20px,3vw,40px)}
  .times-session{flex-direction:column;gap:2px}
}

@media (prefers-reduced-motion:reduce){ .times-row{clip-path:none} }

/* ============================== DETAILS ================================= */
/* NOT pinned — same "short content block = plain reveal" precedent Times
   already set. Plain centered wrap, no glass card (Details is copy +
   action links, not a photo card like Guests/Hosts). Atmosphere holds
   TIMES_ATMOSPHERE_TO steady (main.js buildDetails()) — DIRECTION.md's arc
   names Times/Details as one "settled warm dark" beat, no new ramp. */
#details{display:flex;align-items:center;justify-content:center;padding:9vh 20px}
.details-wrap{width:min(94vw,640px);display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:clamp(16px,3vw,24px)}
.details-eyebrow{font:700 13px/1.4 var(--cond),sans-serif;letter-spacing:.42em;
  text-indent:.42em;text-transform:uppercase;color:var(--gold2);
  text-shadow:0 0 20px rgba(255,178,0,.4)}
/* "the big date resolves" — reuses the same scale->1 + autoAlpha "resolve
   into focus" idiom already established for .guest-photo/.hosts-photo
   (scale:1.08->1), not a new technique. */
.details-date{font:700 clamp(30px,7.4vw,52px)/1.1 var(--cond),sans-serif;
  text-transform:uppercase;color:var(--cream);text-shadow:0 0 26px rgba(255,178,0,.3)}
.details-venue{max-width:44ch;font:500 15px/1.6 var(--body),sans-serif;color:var(--muted)}

.details-actions{display:flex;flex-direction:column;width:100%;gap:clamp(12px,2.4vw,16px)}
.details-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:clamp(14px,2.2vw,18px) clamp(20px,3vw,28px);border-radius:999px;
  font:600 13px/1 var(--cond),sans-serif;letter-spacing:.16em;text-indent:.16em;
  text-transform:uppercase;text-decoration:none;color:var(--cream);
  border:1px solid rgba(255,178,0,.35);background:rgba(11,6,3,.5);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:color .2s,border-color .2s,background-color .2s,transform .2s,box-shadow .2s}
.details-cta:hover,.details-cta:focus-visible{color:var(--gold2);border-color:var(--gold2)}
.details-cta:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.details-cta-icon{width:19px;height:19px;flex:none}
/* the prominent, filled variant — YouTube/Livestream only */
.details-cta--live{color:var(--ink);border-color:transparent;
  background:linear-gradient(90deg,var(--gold),var(--gold2));
  box-shadow:0 10px 28px rgba(255,140,0,.35)}
.details-cta--live:hover,.details-cta--live:focus-visible{color:var(--ink);
  transform:translateY(-2px);box-shadow:0 14px 34px rgba(255,140,0,.48)}

/* .cd's own margin-top:26px assumes hero's manual margin cascade;
   .details-wrap spaces its children with flex gap instead, so this
   cancels the duplicate space rather than doubling it. */
.details-cd{margin-top:0}

@media (min-width:768px){
  #details{padding:11vh 24px}
  .details-actions{flex-direction:row;justify-content:center;width:auto}
}

/* =============================== FOOTER =================================== */
/* Reveals from underneath: translateY(+)+autoAlpha — a deliberately
   different technique from Times' horizontal clip-path wipe (Times already
   "owns" that beat; reusing it here would read as a rerun, not a new
   close). Times recap (#footerTimes) renders from EventSchedule.table
   only, same anti-drift discipline as buildTimes(). Church name/address
   are static marketing copy, legitimately duplicated from Details rather
   than extracted into a shared constant — see main.js buildFooter(). */
#footer{padding:8vh 20px 6vh}
.footer-wrap{width:min(94vw,640px);margin:0 auto;display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:clamp(22px,4vw,34px)}
.footer-block{display:flex;flex-direction:column;gap:8px;align-items:center}
.footer-church{font:700 15px/1.4 var(--cond),sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold2)}
.footer-address{max-width:42ch;font:500 14px/1.6 var(--body),sans-serif;color:var(--muted)}
.footer-label{font:700 12px/1.4 var(--cond),sans-serif;letter-spacing:.3em;
  text-indent:.3em;text-transform:uppercase;color:var(--gold2)}
.footer-times{list-style:none;display:flex;flex-direction:column;gap:6px;
  width:100%;max-width:320px}
.footer-time-row{display:flex;justify-content:space-between;gap:16px;
  font:600 13px/1.5 var(--body),sans-serif;color:var(--muted)}
.footer-time-days{text-transform:uppercase;letter-spacing:.06em;color:var(--cream)}
.footer-time-vals{font-variant-numeric:tabular-nums}
.footer-live{font:500 14px/1.6 var(--body),sans-serif;color:var(--muted)}
.footer-live-link{font:600 13px/1 var(--cond),sans-serif;letter-spacing:.16em;
  text-indent:.16em;text-transform:uppercase;text-decoration:none;color:var(--gold2);
  padding-bottom:2px;border-bottom:1px solid rgba(255,210,87,.4);transition:border-color .2s}
.footer-live-link:hover,.footer-live-link:focus-visible{border-color:var(--gold2)}
.footer-social{display:flex;gap:clamp(12px,2vw,18px)}
.footer-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(255,178,0,.3);color:var(--muted);text-decoration:none;
  transition:color .2s,border-color .2s}
.footer-icon:hover,.footer-icon:focus-visible{color:var(--gold2);border-color:var(--gold2)}
.footer-icon:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.footer-icon-svg{width:19px;height:19px}