/* life layer: aurora hero (ported from Aceternity Aurora Background), canvas beams + motes
   (ported from Kokonut Beams / ThreeUI Particle Drift), cursor spotlight, masthead sheen,
   scroll hairline. Palette-locked: jungle green + gold on charcoal. All motion is transform/opacity. */
#life-canvas{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55}
body > :not(#life-canvas):not(.grain):not(nav){position:relative;z-index:1}
nav{z-index:50}
.hero .aurora{
  position:absolute;inset:-20% -10%;z-index:0;pointer-events:none;overflow:hidden;
  opacity:.42;filter:blur(38px) saturate(1.1);
  --a1:rgba(31,74,52,.85);--a2:rgba(217,164,65,.35);--a3:rgba(12,40,30,.9);--a4:rgba(242,237,227,.08);
  background-image:
    repeating-linear-gradient(100deg,rgba(15,18,16,0) 0%,rgba(15,18,16,0) 7%,rgba(15,18,16,.6) 10%,rgba(15,18,16,0) 14%),
    repeating-linear-gradient(100deg,var(--a1) 10%,var(--a2) 18%,var(--a3) 24%,var(--a4) 30%,var(--a1) 36%);
  background-size:300% 200%,220% 200%;background-position:50% 50%,50% 50%;
  -webkit-mask-image:radial-gradient(ellipse at 20% 15%,#000 10%,transparent 72%);mask-image:radial-gradient(ellipse at 20% 15%,#000 10%,transparent 72%);
  animation:aurora 48s linear infinite;will-change:background-position;
}
@keyframes aurora{from{background-position:50% 50%,50% 50%}to{background-position:350% 50%,320% 50%}}
.hero{isolation:isolate}
.hero .wrap{position:relative;z-index:2}
.hero-lines{z-index:1}
/* cursor spotlight: a soft gold pool that follows the pointer over the hero + tiles */
.spot{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .6s var(--ease);
  background:radial-gradient(520px circle at var(--mx,50%) var(--my,50%),rgba(217,164,65,.10),rgba(217,164,65,0) 62%)}
.hero:hover .spot,.world-item:hover .spot,.stat:hover .spot{opacity:1}
.world-item .spot,.stat .spot{background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(217,164,65,.14),rgba(217,164,65,0) 65%)}
.world-item .spot{z-index:2}
/* masthead sheen on the italic surname */
.hero-name em{background:linear-gradient(100deg,var(--accent) 0%,var(--accent) 42%,#f4dfa4 50%,var(--accent) 58%,var(--accent) 100%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 7s var(--ease) infinite}
@keyframes sheen{0%,55%{background-position:120% 0}85%,100%{background-position:-120% 0}}
/* hero portrait: subtle 3D tilt toward the cursor */
.hero-portrait{transform-style:preserve-3d;transition:transform .35s var(--ease),box-shadow .45s var(--ease)}
.hero-portrait.tilting{transition:transform .08s linear}
/* gold scroll hairline */
#scroll-line{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--accent),rgba(217,164,65,.35));z-index:60;pointer-events:none}
@media (prefers-reduced-motion:reduce){
  .hero .aurora{animation:none}.hero-name em{animation:none;background:none;color:var(--accent);-webkit-text-fill-color:var(--accent)}
  #life-canvas{display:none}.spot{display:none}
}
