/* isageek About-page styles — loaded only on /about-me/. */
/* ========================================================================== 
   v1.5.10 — About page parity with the v1.5.9 editorial palette
   --------------------------------------------------------------------------
   /about-me/ is a normal WordPress Page rather than a Publisher article. Give
   it the same seamless, theme-aware reading surface and neutralise legacy
   Gutenberg text/background colours that can disappear in dark mode.
   ========================================================================== */
.isageek-about-page .article-header {
  padding: clamp(2.4rem, 6vw, 4.8rem) 0 1.35rem;
}
.isageek-about-page .article-header__inner {
  width: min(calc(100% - 2rem), 960px);
}
.isageek-about-page .article-title {
  max-width: 900px;
  font-size: clamp(2.55rem, 6vw, 5.1rem);
}
.isageek-about-page .article-excerpt {
  max-width: 820px;
}
.article-layout--about {
  width: min(calc(100% - 2rem), 1040px);
  margin-inline: auto;
}
.article-body--about {
  width: min(100%, 920px);
  max-width: 920px;
  margin-inline: auto;
  padding: clamp(.65rem, 1.8vw, 1.35rem) 0 1rem;
  border: 0;
  background: transparent;
  color: var(--ig-text);
  box-shadow: none;
  color-scheme: normal;
}
.article-body--about > * {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.article-body--about > p:first-of-type {
  font-size: clamp(1.08rem, 1.7vw, 1.22rem);
  line-height: 1.7;
  color: var(--ig-text);
}
.article-body--about :where(h2, h3, h4, h5, h6) {
  color: var(--ig-text) !important;
}
.article-body--about h2 {
  padding-bottom: .42rem;
  border-bottom: 1px solid color-mix(in srgb, var(--ig-border) 78%, transparent);
}
.article-body--about :where(p, li, dt, dd, figcaption, blockquote) {
  color: var(--ig-text) !important;
}
.article-body--about :where(.has-text-color) {
  color: var(--ig-text) !important;
}
.article-body--about :where(a:not(.wp-element-button)) {
  color: var(--ig-accent-strong) !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.article-body--about :where(a:not(.wp-element-button)):hover,
.article-body--about :where(a:not(.wp-element-button)):focus-visible {
  color: var(--ig-accent) !important;
}
.article-body--about :where(strong, b) {
  color: var(--ig-text);
}
.article-body--about blockquote {
  margin: 1.8rem 0;
  padding: .9rem 1.15rem;
  border: 1px solid var(--ig-border);
  border-left: 4px solid var(--ig-accent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--ig-surface) 66%, transparent);
}
.article-body--about :where(.wp-block-group.has-background, .wp-block-columns.has-background, .wp-block-column.has-background) {
  background: color-mix(in srgb, var(--ig-surface) 68%, transparent) !important;
  color: var(--ig-text) !important;
  border: 1px solid color-mix(in srgb, var(--ig-border) 82%, transparent);
  border-radius: 12px;
}
.article-body--about :where(.wp-block-group.has-background, .wp-block-columns.has-background) {
  padding: clamp(1rem, 2vw, 1.4rem) !important;
}
.article-body--about .wp-block-separator {
  border-color: var(--ig-border);
  opacity: 1;
}
.article-body--about .wp-block-image img,
.article-body--about > img {
  border: 1px solid color-mix(in srgb, var(--ig-border) 84%, transparent);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .14);
}
.article-body--about .wp-element-button,
.article-body--about .wp-block-button__link {
  border: 1px solid color-mix(in srgb, var(--ig-accent) 42%, var(--ig-border));
  background: color-mix(in srgb, var(--ig-accent) 14%, var(--ig-surface));
  color: var(--ig-text) !important;
}
.article-body--about .wp-element-button:hover,
.article-body--about .wp-element-button:focus-visible,
.article-body--about .wp-block-button__link:hover,
.article-body--about .wp-block-button__link:focus-visible {
  border-color: var(--ig-accent);
  background: color-mix(in srgb, var(--ig-accent) 22%, var(--ig-surface));
}

@media (max-width: 760px) {
  .isageek-about-page .article-header { padding: 2.1rem 0 1rem; }
  .article-layout--about { width: min(calc(100% - 1rem), 1040px); }
  .article-body--about { padding: .35rem .5rem 1rem; }
  .article-body--about > p:first-of-type { font-size: 1.04rem; }
}



/* ========================================================================== 
   v1.5.11 — About custom-card dark-mode hardening
   --------------------------------------------------------------------------
   The About page contains older/custom card markup in addition to Gutenberg
   blocks. Those containers can carry hard-coded white backgrounds from page
   content or legacy CSS. In dark mode, neutralise those backgrounds and force
   all nested typography/borders back onto the live isageek palette.
   ========================================================================== */
html[data-theme="dark"] .article-body--about :where(
  .has-background,
  .has-white-background-color,
  .has-base-background-color,
  .wp-block-group,
  .wp-block-columns,
  .wp-block-column,
  .wp-block-media-text,
  .wp-block-cover,
  section,
  aside,
  div[style*="background"],
  div[style*="background-color"],
  section[style*="background"],
  section[style*="background-color"],
  aside[style*="background"],
  aside[style*="background-color"]
) {
  background: color-mix(in srgb, var(--ig-surface) 68%, transparent) !important;
  background-color: color-mix(in srgb, var(--ig-surface) 68%, transparent) !important;
  color: var(--ig-text) !important;
  border-color: color-mix(in srgb, var(--ig-border) 88%, transparent) !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .article-body--about :where(
  .wp-block-column,
  .wp-block-group,
  .wp-block-media-text,
  section,
  aside,
  div
) :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,strong,b,em,span,small,figcaption) {
  color: var(--ig-text) !important;
}
html[data-theme="dark"] .article-body--about :where(
  .wp-block-column,
  .wp-block-group,
  .wp-block-media-text,
  section,
  aside,
  div
) a:not(.wp-element-button) {
  color: var(--ig-accent-strong) !important;
}
html[data-theme="dark"] .article-body--about :where(
  .wp-block-column,
  .wp-block-group,
  .wp-block-media-text,
  section,
  aside,
  div
) :where(hr,.wp-block-separator) {
  border-color: var(--ig-border) !important;
}

/* A top-level legacy card should read as part of the page rather than as a
   bright page-within-a-page. Nested cards can retain a subtle panel surface. */
html[data-theme="dark"] .article-body--about > :where(.wp-block-group, section, div[style*="background"]) {
  background: transparent !important;
  background-color: transparent !important;
  border-color: color-mix(in srgb, var(--ig-border) 72%, transparent) !important;
}

/* System-dark users who have not explicitly chosen light mode need the same
   protection. */
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .article-body--about :where(
    .has-background,
    .has-white-background-color,
    .has-base-background-color,
    .wp-block-group,
    .wp-block-columns,
    .wp-block-column,
    .wp-block-media-text,
    .wp-block-cover,
    section,
    aside,
    div[style*="background"],
    div[style*="background-color"],
    section[style*="background"],
    section[style*="background-color"],
    aside[style*="background"],
    aside[style*="background-color"]
  ) {
    background: color-mix(in srgb, var(--ig-surface) 68%, transparent) !important;
    background-color: color-mix(in srgb, var(--ig-surface) 68%, transparent) !important;
    color: var(--ig-text) !important;
    border-color: color-mix(in srgb, var(--ig-border) 88%, transparent) !important;
    box-shadow: none !important;
  }
  html:not([data-theme="light"]) .article-body--about :where(
    .wp-block-column,
    .wp-block-group,
    .wp-block-media-text,
    section,
    aside,
    div
  ) :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,strong,b,em,span,small,figcaption) {
    color: var(--ig-text) !important;
  }
  html:not([data-theme="light"]) .article-body--about :where(
    .wp-block-column,
    .wp-block-group,
    .wp-block-media-text,
    section,
    aside,
    div
  ) a:not(.wp-element-button) {
    color: var(--ig-accent-strong) !important;
  }
  html:not([data-theme="light"]) .article-body--about > :where(.wp-block-group, section, div[style*="background"]) {
    background: transparent !important;
    background-color: transparent !important;
    border-color: color-mix(in srgb, var(--ig-border) 72%, transparent) !important;
  }
}


/* ========================================================================== 
   v1.6.4 — About-page interactive flourishes
   --------------------------------------------------------------------------
   The S2000 image borrows the article-card neon trace. EPCOT fireworks are
   drawn on a fixed canvas by theme.js so they can escape the article column.
   These effects are opt-in via the dedicated About-page classes and obey the
   theme motion mode / reduced-motion controls.
   ========================================================================== */
.article-body--about .isageek-about-s2000,
.article-body--about .isageek-about-epcot {
  position: relative;
  isolation: isolate;
}

.article-body--about .isageek-about-s2000 {
  overflow: visible !important;
}
.article-body--about .isageek-about-s2000::after {
  content: "";
  position: absolute;
  inset: -.5rem;
  z-index: -1;
  pointer-events: none;
  border-radius: 20px;
  border: 1px solid transparent;
  opacity: 0;
  background:
    linear-gradient(var(--ig-bg), var(--ig-bg)) padding-box,
    linear-gradient(105deg, transparent 0 22%, hsl(var(--ig-topic-hue,188) 92% 62% / .94) 44%, transparent 67%) border-box;
  background-size: 100% 100%, 260% 100%;
  background-position: 0 0, 120% 0;
}
.article-body--about .isageek-about-s2000:hover::after,
.article-body--about .isageek-about-s2000:focus-within::after {
  animation: ig-card-trace .9s ease-out 1 both;
}
.article-body--about .isageek-about-s2000 img {
  transition: transform .38s cubic-bezier(.2,.7,.2,1), filter .38s ease, box-shadow .38s ease;
  transform-origin: 50% 58%;
}
.article-body--about .isageek-about-s2000:hover img,
.article-body--about .isageek-about-s2000:focus-within img {
  transform: translateY(-2px) scale(1.018);
  filter: saturate(1.08) contrast(1.025);
  box-shadow: 0 18px 44px rgba(0,0,0,.22), 0 0 22px hsl(var(--ig-topic-hue,188) 90% 58% / .13);
}
.article-body--about .isageek-about-s2000 figcaption,
.article-body--about .isageek-about-epcot figcaption {
  position: relative;
  z-index: 2;
}

.article-body--about .isageek-about-epcot {
  cursor: crosshair;
}
.article-body--about .isageek-about-epcot img {
  transition: filter .3s ease, transform .3s ease, box-shadow .3s ease;
}
.article-body--about .isageek-about-epcot:hover img,
.article-body--about .isageek-about-epcot:focus-within img {
  transform: scale(1.006);
  filter: saturate(1.13) brightness(1.035) contrast(1.025);
  box-shadow: 0 18px 48px rgba(0,0,0,.26), 0 0 30px rgba(var(--ig-neon-rgb), .12);
}

.ig-about-fireworks {
  position: fixed;
  inset: 0;
  z-index: 9998;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  opacity: 1;
}

.isageek-motion-off .article-body--about .isageek-about-s2000::after,
.isageek-motion-off .article-body--about .isageek-about-s2000:hover::after,
.isageek-motion-off .article-body--about .isageek-about-s2000:focus-within::after {
  animation: none !important;
  opacity: 0 !important;
}
.isageek-motion-off .article-body--about .isageek-about-s2000 img,
.isageek-motion-off .article-body--about .isageek-about-epcot img {
  transition: none !important;
  transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
  body:not(.isageek-motion-always) .article-body--about .isageek-about-s2000::after,
  body:not(.isageek-motion-always) .article-body--about .isageek-about-s2000:hover::after,
  body:not(.isageek-motion-always) .article-body--about .isageek-about-s2000:focus-within::after {
    animation: none !important;
    opacity: 0 !important;
  }
  body:not(.isageek-motion-always) .article-body--about .isageek-about-s2000 img,
  body:not(.isageek-motion-always) .article-body--about .isageek-about-epcot img {
    transition: none !important;
    transform: none !important;
  }
  body:not(.isageek-motion-always) .ig-about-fireworks { display: none !important; }
}


/* ========================================================================== 
   v1.6.5 — About-page Easter eggs
   --------------------------------------------------------------------------
   A deliberately playful shell/terminal, LEGO rebuild, achievements and the
   short-lived Konami "maximum geek" state. All animation respects the site's
   established motion controls.
   ========================================================================== */
.ig-about-geek-grid {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  gap: 1rem;
  margin: 1.5rem 0 2rem;
}
.ig-about-jakefile,
.ig-about-terminal {
  min-width: 0;
  border: 1px solid rgba(var(--ig-neon-rgb), .22);
  border-radius: 16px;
  background: color-mix(in srgb, var(--ig-bg) 88%, transparent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 18px 40px rgba(0,0,0,.12);
  overflow: visible;
}
.ig-about-shellbar,
.ig-about-terminal__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .68rem .85rem;
  border-bottom: 1px solid rgba(var(--ig-neon-rgb), .13);
  background: rgba(var(--ig-neon-rgb), .045);
  color: var(--ig-muted);
  font-family: var(--ig-mono);
  font-size: .74rem;
}
.ig-about-shellbar strong,
.ig-about-terminal__bar strong { color: var(--ig-text); font-weight: 650; }
.ig-about-jakefile pre {
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
  transform: none !important;
  padding: 1rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ig-text) !important;
  box-shadow: none !important;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: .84rem;
  line-height: 1.75;
}
.ig-about-jakefile pre .ig-about-status { color: hsl(var(--ig-topic-hue,188) 90% 66%); }
.ig-about-terminal { cursor: text; }
.ig-about-terminal__output {
  height: 245px;
  overflow: auto;
  padding: .9rem 1rem .35rem;
  scrollbar-width: thin;
  font: .79rem/1.6 var(--ig-mono);
}
.ig-about-terminal__entry { margin-bottom: .72rem; }
.ig-about-terminal__command { color: hsl(var(--ig-topic-hue,188) 88% 66%); }
.ig-about-terminal__line { color: var(--ig-muted); overflow-wrap: anywhere; }
.ig-about-terminal__entry.is-error .ig-about-terminal__line:first-of-type { color: #ff8f9b; }
.ig-about-terminal__form {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: .45rem;
  padding: .7rem .8rem;
  border-top: 1px solid rgba(var(--ig-neon-rgb), .13);
  font-family: var(--ig-mono);
}
.ig-about-terminal__prompt { color: hsl(var(--ig-topic-hue,188) 88% 66%); white-space: nowrap; font-size: .78rem; }
.ig-about-terminal__input {
  min-width: 0;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--ig-text) !important;
  padding: .35rem .2rem !important;
  font: .82rem/1.3 var(--ig-mono) !important;
}
.ig-about-terminal__run {
  min-height: 32px;
  padding: .35rem .62rem;
  border: 1px solid rgba(var(--ig-neon-rgb), .28);
  border-radius: 8px;
  background: rgba(var(--ig-neon-rgb), .08);
  color: var(--ig-text);
  font: 700 .7rem/1 var(--ig-mono);
  cursor: pointer;
}
.ig-about-terminal__run:hover,
.ig-about-terminal__run:focus-visible { border-color: rgba(var(--ig-neon-rgb), .62); box-shadow: 0 0 18px rgba(var(--ig-neon-rgb), .10); }
.ig-about-terminal__hint { margin: 0; padding: 0 .9rem .8rem; color: var(--ig-muted); font-size: .75rem; }

.article-body--about .isageek-about-lego {
  position: relative;
  isolation: isolate;
  cursor: pointer;
  outline: none;
}
.article-body--about .isageek-about-lego:focus-visible {
  box-shadow: 0 0 0 2px var(--ig-bg), 0 0 0 4px rgba(var(--ig-neon-rgb), .72);
}
.article-body--about .isageek-about-lego img { transition: transform .32s ease, filter .32s ease, opacity .22s ease; }
.article-body--about .isageek-about-lego:hover img { transform: translateY(-1px) scale(1.006); filter: saturate(1.08); }
.article-body--about .isageek-about-lego.is-rebuilding img { transform: scale(.992); filter: saturate(1.28) brightness(.93); }
.ig-lego-scatter { position: absolute; inset: 0; z-index: 4; pointer-events: none; overflow: visible; }
.ig-lego-scatter i {
  --brick-x: 50%; --brick-y: 50%; --brick-dx: 0px; --brick-dy: 0px; --brick-r: 0deg; --brick-delay: 0ms; --brick-color: #ffd638;
  position: absolute;
  left: var(--brick-x);
  top: var(--brick-y);
  width: clamp(10px, 2.1vw, 19px);
  aspect-ratio: 1.45;
  border-radius: 2px;
  background: var(--brick-color);
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.18), 0 3px 8px rgba(0,0,0,.22);
  opacity: 0;
  transform: translate(-50%,-50%) scale(.45);
  animation: ig-lego-out .58s cubic-bezier(.2,.75,.22,1) var(--brick-delay) forwards;
}
.isageek-about-lego.is-snapping-back .ig-lego-scatter i { animation: ig-lego-back .5s cubic-bezier(.35,1.45,.5,1) var(--brick-delay) forwards; }
@keyframes ig-lego-out {
  0% { opacity: 0; transform: translate(-50%,-50%) scale(.45) rotate(0); }
  14% { opacity: .98; }
  100% { opacity: .96; transform: translate(calc(-50% + var(--brick-dx)), calc(-50% + var(--brick-dy))) scale(1) rotate(var(--brick-r)); }
}
@keyframes ig-lego-back {
  0% { opacity: .96; transform: translate(calc(-50% + var(--brick-dx)), calc(-50% + var(--brick-dy))) scale(1) rotate(var(--brick-r)); }
  82% { opacity: .92; transform: translate(-50%,-50%) scale(.72) rotate(0); }
  100% { opacity: 0; transform: translate(-50%,-50%) scale(.35) rotate(0); }
}

.ig-about-achievement {
  position: fixed;
  right: clamp(12px,3vw,34px);
  bottom: clamp(12px,3vw,30px);
  z-index: 10000;
  width: min(360px, calc(100vw - 24px));
  padding: .8rem .95rem;
  border: 1px solid rgba(var(--ig-neon-rgb), .4);
  border-radius: 12px;
  background: rgba(9,14,21,.94);
  color: #eefcff;
  box-shadow: 0 18px 52px rgba(0,0,0,.38), 0 0 30px rgba(var(--ig-neon-rgb), .12);
  font-family: var(--ig-mono);
  pointer-events: none;
  opacity: 0;
  transform: translateY(14px) scale(.98);
  transition: opacity .22s ease, transform .32s cubic-bezier(.2,.8,.2,1);
}
.ig-about-achievement.is-visible { opacity: 1; transform: translateY(0) scale(1); }
.ig-about-achievement small { display: block; color: hsl(var(--ig-topic-hue,188) 88% 66%); font-size: .65rem; letter-spacing: .12em; }
.ig-about-achievement strong { display: block; margin-top: .18rem; font-size: .93rem; }
.ig-about-achievement span { display: block; margin-top: .2rem; color: #aebbc7; font-size: .73rem; }

/* Konami state: intentionally excessive, but only for 12 seconds. */
.isageek-max-geek { --ig-wave-opacity: 1; --ig-grid-opacity: .14; }
.isageek-max-geek .ig-wave::before,
.isageek-max-geek .ig-wave::after,
.isageek-max-geek .ig-page-wave::before,
.isageek-max-geek .ig-page-wave::after { animation-duration: 3.2s !important; }
.isageek-max-geek .site-brand__name,
.isageek-max-geek .article-title,
.isageek-max-geek .article-body--about h2 { text-shadow: 0 0 10px rgba(var(--ig-neon-rgb),.32), 0 0 28px rgba(var(--ig-neon-rgb),.13); }
.isageek-max-geek .article-body--about .isageek-column-card { box-shadow: 0 0 24px rgba(var(--ig-neon-rgb),.08); }

@media(max-width:820px) {
  .ig-about-geek-grid { grid-template-columns: 1fr; }
  .ig-about-terminal__output { height: 215px; }
  .ig-about-terminal__prompt { font-size: .7rem; }
}
.isageek-motion-off .ig-lego-scatter { display: none !important; }
.isageek-motion-off .ig-about-achievement { transition: none !important; }
.isageek-motion-off.isageek-max-geek .ig-wave::before,
.isageek-motion-off.isageek-max-geek .ig-wave::after,
.isageek-motion-off.isageek-max-geek .ig-page-wave::before,
.isageek-motion-off.isageek-max-geek .ig-page-wave::after { animation: none !important; }
@media(prefers-reduced-motion:reduce) {
  body:not(.isageek-motion-always) .ig-lego-scatter { display: none !important; }
  body:not(.isageek-motion-always) .ig-about-achievement { transition: none !important; }
  body:not(.isageek-motion-always).isageek-max-geek .ig-wave::before,
  body:not(.isageek-motion-always).isageek-max-geek .ig-wave::after,
  body:not(.isageek-motion-always).isageek-max-geek .ig-page-wave::before,
  body:not(.isageek-motion-always).isageek-max-geek .ig-page-wave::after { animation: none !important; }
}


/* ========================================================================== 
   v1.6.6 — About-page geek stats + S2000 rev
   ========================================================================== */
.ig-about-stats-panel {
  margin: 1.25rem 0 2rem;
  padding: 1rem 1rem 1.05rem;
  border: 1px solid rgba(var(--ig-neon-rgb), .20);
  border-radius: 16px;
  background: color-mix(in srgb, var(--ig-bg) 88%, transparent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 18px 40px rgba(0,0,0,.12);
}
.ig-about-stats-panel h3 { margin-top: 0; }
.ig-about-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: .8rem;
}
.ig-about-stat {
  padding: .85rem .8rem;
  border-radius: 14px;
  border: 1px solid rgba(var(--ig-neon-rgb), .14);
  background: rgba(var(--ig-neon-rgb), .045);
}
.ig-about-stat__value {
  display: block;
  color: var(--ig-text);
  font: 800 1.2rem/1.1 var(--ig-display, var(--ig-body-font, inherit));
  text-shadow: 0 0 16px rgba(var(--ig-neon-rgb), .12);
}
.ig-about-stat__label { display:block; margin-top: .28rem; color: var(--ig-muted); font-size: .78rem; line-height: 1.45; }
.ig-about-stats-panel__note { margin: .8rem 0 0; color: var(--ig-muted); font-size: .78rem; }
.article-body--about .isageek-about-s2000 { cursor: pointer; }
.article-body--about .isageek-about-s2000.is-revving { animation: ig-s2000-rev .68s cubic-bezier(.25,.75,.25,1); }
.article-body--about .isageek-about-s2000.is-revving img { transform: translateZ(0) scale(1.018) rotate(.12deg) !important; filter: saturate(1.15) contrast(1.06) brightness(1.02) !important; }
.article-body--about .isageek-about-s2000.is-revving::after { opacity: 1 !important; animation-duration: .6s !important; box-shadow: 0 0 0 1px rgba(var(--ig-neon-rgb), .55), 0 0 26px rgba(var(--ig-neon-rgb), .18); }
.article-body--about .isageek-about-s2000.is-revving figcaption::after { content: ' // rev'; color: hsl(var(--ig-topic-hue,188) 88% 66%); font-family: var(--ig-mono); font-size: .78em; }
@keyframes ig-s2000-rev {
  0%,100% { transform: translateX(0); }
  18% { transform: translateX(-1.5px) rotate(-.08deg); }
  34% { transform: translateX(1.8px) rotate(.06deg); }
  52% { transform: translateX(-1.3px); }
  68% { transform: translateX(1px); }
}
@media(max-width:960px){ .ig-about-stats-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media(max-width:560px){ .ig-about-stats-grid { grid-template-columns: 1fr; } }
.isageek-motion-off .article-body--about .isageek-about-s2000.is-revving,
.isageek-motion-off .article-body--about .isageek-about-s2000.is-revving img { animation: none !important; transform: none !important; }
@media(prefers-reduced-motion:reduce){
  body:not(.isageek-motion-always) .article-body--about .isageek-about-s2000.is-revving,
  body:not(.isageek-motion-always) .article-body--about .isageek-about-s2000.is-revving img { animation: none !important; transform: none !important; }
}


/* ========================================================================== 
   v1.6.9 — LEGO random mini-builds
   ========================================================================== */
.article-body--about .isageek-about-lego.is-random-building img {
  opacity: .28;
  filter: saturate(.7) brightness(.72) !important;
}
.ig-lego-random-build {
  overflow: visible;
}
.ig-lego-random-build i {
  --brick-target-x: 50%;
  --brick-target-y: 50%;
  width: clamp(10px, 1.75vw, 17px);
  aspect-ratio: 1.35;
  animation: ig-lego-scatter-only .54s cubic-bezier(.2,.75,.22,1) var(--brick-delay) forwards;
  transition:
    left .62s cubic-bezier(.18,.86,.2,1),
    top .62s cubic-bezier(.18,.86,.2,1),
    transform .62s cubic-bezier(.18,.86,.2,1),
    opacity .3s ease,
    box-shadow .3s ease;
}
.isageek-about-lego.is-building-shape .ig-lego-random-build i {
  left: var(--brick-target-x);
  top: var(--brick-target-y);
  transform: translate(-50%,-50%) scale(1) rotate(0deg);
  opacity: 1;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.20), 0 4px 10px rgba(0,0,0,.24), 0 0 12px color-mix(in srgb, var(--brick-color) 45%, transparent);
  animation: none;
}
.isageek-about-lego.is-build-complete .ig-lego-random-build i {
  transform: translate(-50%,-50%) scale(1.08) rotate(0deg);
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.20), 0 4px 12px rgba(0,0,0,.28), 0 0 18px color-mix(in srgb, var(--brick-color) 62%, transparent);
}
.isageek-about-lego.is-snapping-back .ig-lego-random-build i {
  left: var(--brick-x);
  top: var(--brick-y);
  transform: translate(-50%,-50%) scale(.35) rotate(0deg);
  opacity: 0;
  transition-duration: .48s;
}
.ig-lego-build-label {
  position: absolute;
  left: 50%;
  bottom: 12px;
  z-index: 6;
  transform: translateX(-50%);
  max-width: calc(100% - 24px);
  padding: .38rem .58rem;
  border: 1px solid rgba(var(--ig-neon-rgb), .30);
  border-radius: 999px;
  background: rgba(7,12,18,.88);
  color: #eafcff;
  box-shadow: 0 8px 24px rgba(0,0,0,.26), 0 0 16px rgba(var(--ig-neon-rgb), .10);
  font: 700 .67rem/1.2 var(--ig-mono);
  letter-spacing: .06em;
  text-align: center;
  white-space: nowrap;
  opacity: .82;
  transition: opacity .25s ease, transform .25s ease, border-color .25s ease;
}
.isageek-about-lego.is-build-complete .ig-lego-build-label {
  opacity: 1;
  border-color: rgba(var(--ig-neon-rgb), .66);
  transform: translateX(-50%) translateY(-2px);
}
@keyframes ig-lego-scatter-only {
  0% { opacity: 0; transform: translate(-50%,-50%) scale(.42) rotate(0deg); }
  15% { opacity: .98; }
  100% { opacity: .96; transform: translate(calc(-50% + var(--brick-dx)), calc(-50% + var(--brick-dy))) scale(1) rotate(var(--brick-r)); }
}
.isageek-motion-off .ig-lego-build-label { display: none !important; }
@media(prefers-reduced-motion:reduce) {
  body:not(.isageek-motion-always) .ig-lego-build-label { display: none !important; }
}

/* ========================================================================== 
   v1.7.2 — EPCOT Turn Left / Turn Right community choice
   ========================================================================== */
.ig-epcot-choice {
  position: relative;
  margin-top: 1.15rem;
  padding: 1rem;
  overflow: visible;
  border: 1px solid color-mix(in srgb, var(--ig-accent) 42%, var(--ig-border));
  border-radius: 16px;
  background:
    radial-gradient(circle at 50% -30%, rgba(var(--ig-neon-rgb), .16), transparent 58%),
    color-mix(in srgb, var(--ig-surface) 86%, transparent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 16px 36px rgba(0,0,0,.12);
}
.ig-epcot-choice::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .24;
  background-image: linear-gradient(rgba(var(--ig-neon-rgb), .09) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--ig-neon-rgb), .09) 1px, transparent 1px);
  background-size: 22px 22px;
  mask-image: linear-gradient(to bottom, #000, transparent 72%);
}
.ig-epcot-choice > * { position: relative; z-index: 1; }
.ig-epcot-choice__eyebrow {
  margin: 0 0 .28rem !important;
  color: var(--ig-accent-strong) !important;
  font: 700 .7rem/1.2 var(--ig-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.article-body--about .ig-epcot-choice__title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--ig-text) !important;
  font-size: clamp(1.05rem, 2.5vw, 1.35rem);
}
.ig-epcot-choice__intro {
  margin: .42rem 0 .9rem !important;
  color: var(--ig-muted) !important;
  font-size: .88rem;
}
.ig-epcot-choice__buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
}
.ig-epcot-choice__button {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: .7rem;
  min-width: 0;
  padding: .8rem .9rem;
  border: 1px solid color-mix(in srgb, var(--ig-accent) 36%, var(--ig-border));
  border-radius: 13px;
  background: color-mix(in srgb, var(--ig-surface) 82%, transparent);
  color: var(--ig-text);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.ig-epcot-choice__button:hover,
.ig-epcot-choice__button:focus-visible {
  transform: translateY(-2px);
  border-color: var(--ig-accent);
  background: color-mix(in srgb, var(--ig-accent) 12%, var(--ig-surface));
  box-shadow: 0 8px 24px rgba(var(--ig-neon-rgb), .10);
}
.ig-epcot-choice__button:disabled { cursor: default; opacity: .72; transform: none; }
.ig-epcot-choice__button.is-selected {
  border-color: var(--ig-accent);
  background: color-mix(in srgb, var(--ig-accent) 18%, var(--ig-surface));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--ig-accent) 35%, transparent), 0 10px 28px rgba(var(--ig-neon-rgb), .12);
}
.ig-epcot-choice__arrow {
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 999px;
  background: rgba(var(--ig-neon-rgb), .10);
  color: var(--ig-accent-strong);
  font: 800 1.15rem/1 var(--ig-mono);
}
.ig-epcot-choice__button strong { display:block; color:var(--ig-text); font-size:.94rem; }
.ig-epcot-choice__button small { display:block; margin-top:.08rem; color:var(--ig-muted); font-size:.72rem; }
.ig-epcot-choice__results { margin-top: .95rem; }
.ig-epcot-choice__result-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .42rem;
}
.ig-epcot-choice__result-head strong { color: var(--ig-text); font-size: .83rem; }
.ig-epcot-choice__result-head span { color: var(--ig-muted); font: 700 .74rem/1 var(--ig-mono); }
.ig-epcot-choice__bar {
  display: grid;
  grid-template-columns: var(--ig-epcot-left, 0%) var(--ig-epcot-right, 0%);
  min-height: 13px;
  overflow: visible;
  border: 1px solid color-mix(in srgb, var(--ig-border) 88%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--ig-surface-2, var(--ig-surface)) 88%, transparent);
}
.ig-epcot-choice__bar-left,
.ig-epcot-choice__bar-right { min-width: 0; transition: width .42s ease, grid-template-columns .42s ease; }
.ig-epcot-choice__bar-left { background: linear-gradient(90deg, color-mix(in srgb, var(--ig-accent) 68%, transparent), var(--ig-accent)); }
.ig-epcot-choice__bar-right { background: linear-gradient(90deg, color-mix(in srgb, var(--ig-accent-strong) 72%, var(--ig-accent)), color-mix(in srgb, var(--ig-accent) 54%, transparent)); filter: saturate(.78) brightness(.92); }
.ig-epcot-choice__stats {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: .55rem;
  align-items: center;
  margin-top: .48rem;
  font-family: var(--ig-mono);
}
.ig-epcot-choice__stat { min-width:0; }
.ig-epcot-choice__stat:last-child { text-align:right; }
.ig-epcot-choice__stat strong { display:block; color:var(--ig-text); font-size:.9rem; }
.ig-epcot-choice__stat span { color:var(--ig-muted); font-size:.68rem; }
.ig-epcot-choice__total {
  padding: .28rem .48rem;
  border: 1px solid rgba(var(--ig-neon-rgb), .14);
  border-radius: 999px;
  color: var(--ig-muted);
  background: rgba(var(--ig-neon-rgb), .04);
  font-size: .65rem;
  white-space: nowrap;
}
.ig-epcot-choice__status {
  min-height: 1.1em;
  margin: .52rem 0 0 !important;
  color: var(--ig-muted) !important;
  font-size: .72rem;
  text-align: center;
}
.ig-epcot-choice__status.is-success { color: var(--ig-accent-strong) !important; }
.ig-epcot-choice__status.is-error { color: #ff9b9b !important; }
@media (max-width: 560px) {
  .ig-epcot-choice__buttons { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .ig-epcot-choice__button,
  .ig-epcot-choice__bar-left,
  .ig-epcot-choice__bar-right { transition: none; }
}


.ig-epcot-choice__reward[hidden] { display: none !important; }
.ig-epcot-choice__reward {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: min(40vw, 430px);
  display: block;
  pointer-events: none;
  opacity: 1;
  transition: opacity .55s ease, transform .55s cubic-bezier(.22,.61,.36,1), filter .55s ease;
}

.ig-epcot-choice__reward-art {
  min-height: 300px;
  display: grid;
  place-items: center;
}
.ig-epcot-choice__reward-art svg {
  width: min(100%, 430px);
  height: auto;
  display: block;
  filter: drop-shadow(0 20px 34px rgba(0,0,0,.42));
}
.ig-epcot-choice__reward[data-choice="left"] {
  left: 0;
  transform: translate(-36%, -38%);
}
.ig-epcot-choice__reward[data-choice="right"] {
  right: 0;
  transform: translate(36%, -38%);
}
.ig-epcot-choice__reward[data-choice="left"].is-hiding {
  opacity: 0;
  transform: translate(-56%, -38%) scale(.96);
  filter: blur(2px);
}
.ig-epcot-choice__reward[data-choice="right"].is-hiding {
  opacity: 0;
  transform: translate(56%, -38%) scale(.96);
  filter: blur(2px);
}
@media (max-width: 980px) {
  .ig-epcot-choice__reward {
    width: min(36vw, 340px);
  }
  .ig-epcot-choice__reward[data-choice="left"] {
    transform: translate(-24%, -34%);
  }
  .ig-epcot-choice__reward[data-choice="right"] {
    transform: translate(24%, -34%);
  }
  .ig-epcot-choice__reward-art {
    min-height: 240px;
  }
}
@media (max-width: 780px) {
  .ig-epcot-choice {
    overflow: hidden;
  }
  .ig-epcot-choice__reward {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    width: 100%;
    margin-top: 1rem;
    transform: none !important;
  }
  .ig-epcot-choice__reward-art {
    min-height: 200px;
  }
  .ig-epcot-choice__reward-art svg {
    width: min(100%, 320px);
  }
  .ig-epcot-choice__reward.is-hiding {
    opacity: 0;
    transform: translateY(18px) scale(.98) !important;
    filter: blur(2px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ig-epcot-choice__reward { transition: none; }
}
