:root{
  --av2-bg:#06080b;
  --av2-bg2:#0b0f16;
  --av2-bg3:#141b28;
  --av2-text:#edf2f9;
  --av2-muted:rgba(237,242,249,.78);
  --av2-soft:rgba(237,242,249,.58);
  --av2-line:rgba(255,255,255,.08);
  --av2-line2:rgba(255,255,255,.14);
  --av2-shadow:0 24px 60px rgba(0,0,0,.42);
  --av2-shadow-lg:0 34px 100px rgba(0,0,0,.56);
  --av2-radius:24px;
  --av2-max:1320px;
}

.page-artist-apexv2{
  background:
    radial-gradient(1200px 900px at 50% 0%, #141b28 0%, #090c12 52%, #05070a 100%);
  color:var(--av2-text);
}

.page-artist-apexv2 *,
.page-artist-apexv2 *::before,
.page-artist-apexv2 *::after{ box-sizing:border-box; }

.apx2-page{ position:relative; overflow-x:hidden; }
.apx2-page img{ max-width:100%; display:block; }
.av2-wrap{ width:min(var(--av2-max), calc(100% - 2rem)); margin-inline:auto; }

.av2-eyebrow{
  margin:0 0 .9rem;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--av2-soft);
}
.av2-h2{
  margin:0 0 .9rem;
  font-family:'Cinzel', serif;
  font-size:clamp(2.2rem, 4vw, 4rem);
  line-height:.94;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--av2-text);
}
.av2-h3{
  margin:0 0 .75rem;
  font-size:1.08rem;
  letter-spacing:.02em;
  line-height:1.15;
  color:var(--av2-text);
}
.av2-sub{
  margin:0;
  max-width:68ch;
  color:var(--av2-muted);
  font-size:clamp(1rem, 1.3vw, 1.08rem);
  line-height:1.72;
}
.av2-sub--center{ text-align:center; margin-inline:auto; }

.av2-panel{
  position:relative;
  padding:1.35rem 1.25rem;
  border:1px solid var(--av2-line2);
  border-radius:var(--av2-radius);
  background:linear-gradient(180deg, rgba(20,26,36,.82), rgba(10,14,20,.72));
  box-shadow:var(--av2-shadow);
  backdrop-filter:blur(6px);
}
.av2-panel::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0) 28%),
    radial-gradient(460px 240px at 15% 10%, rgba(120,170,235,.08), transparent 62%);
}

.av2-actions{ display:flex; gap:.8rem; flex-wrap:wrap; align-items:center; }
.av2-actions--center{ justify-content:center; }

.av2-btn{
  --mx:0px;
  --my:0px;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:1rem 1.7rem;
  border-radius:0;
  border:1px solid var(--av2-line2);
  text-decoration:none;
  font-weight:700;
  letter-spacing:.04em;
  transition:transform .18s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
  transform:translate3d(var(--mx), var(--my), 0);
  overflow:hidden;
  clip-path:polygon(
    3% 0,
    22% 6%,
    45% 0,
    70% 7%,
    97% 0,
    100% 24%,
    93% 42%,
    100% 60%,
    94% 82%,
    100% 100%,
    78% 96%,
    52% 100%,
    28% 94%,
    7% 100%,
    0 76%,
    9% 58%,
    0 38%,
    5% 18%
  );
}
.av2-btn > span{ position:relative; z-index:2; }
.av2-btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, transparent 35%, rgba(255,255,255,.12) 50%, transparent 65%);
  transform:translateX(-120%);
  transition:transform .6s ease;
}
.av2-btn:hover::before{ transform:translateX(120%); }
.av2-btn:hover{ transform:translate3d(var(--mx), calc(var(--my) - 2px), 0); }

.av2-btn--primary{
  color:#f4f8fd;
  background:linear-gradient(180deg, rgba(42,54,71,.96), rgba(18,25,34,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 14px 28px rgba(0,0,0,.32);
}
.av2-btn--ghost{
  color:var(--av2-text);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
}

/* HERO */
.av2-hero{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  border-bottom:1px solid var(--av2-line);
  isolation:isolate;
  overflow:hidden;
  background:#0a0e16;
}
.av2-hero__bg,
.av2-hero__grid,
.av2-hero__noise,
.av2-hero__fog,
.av2-hero__light,
.av2-hero__embers,
.av2-hero__vignette,
.av2-hero__media{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.av2-hero__bg{
  z-index:0;
  background:
    radial-gradient(ellipse 115% 95% at 50% 112%, rgba(52,66,96,.52) 0%, transparent 60%),
    radial-gradient(ellipse 74% 54% at 50% -8%, rgba(28,37,57,.48) 0%, transparent 52%),
    linear-gradient(170deg, #161d2a 0%, #0d1118 42%, #060910 100%);
}
.av2-hero__grid{
  z-index:1;
  opacity:.10;
  background-image:
    repeating-linear-gradient(90deg, transparent 0 98px, rgba(255,255,255,.03) 98px 99px),
    repeating-linear-gradient(180deg, transparent 0 98px, rgba(255,255,255,.025) 98px 99px);
}
.av2-hero__noise{
  z-index:2;
  opacity:.06;
  mix-blend-mode:overlay;
  background-image:url("../img/ui/grain.webp");
  background-size:360px 360px;
}
.av2-hero__media{ z-index:3; inset:-3% -4%; }
.av2-hero__image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:62% 28%;
  opacity:.9;
  filter:brightness(.6) contrast(1.05) saturate(.96);
  mask-image:radial-gradient(ellipse 82% 88% at 62% 42%, #000 0%, #000 48%, transparent 90%);
  -webkit-mask-image:radial-gradient(ellipse 82% 88% at 62% 42%, #000 0%, #000 48%, transparent 90%);
}
.av2-hero__light{
  z-index:4;
  opacity:.08;
  mix-blend-mode:screen;
  background:linear-gradient(104deg, transparent 0%, transparent 34%, rgba(255,220,192,.34) 49%, rgba(190,212,255,.28) 54%, transparent 66%, transparent 100%);
  background-size:220% 100%;
  animation:av2LightSweep 16s linear infinite;
}
@keyframes av2LightSweep{
  from{ background-position:-40% 50%; }
  to{ background-position:130% 50%; }
}
.av2-hero__embers{
  z-index:5;
  opacity:.22;
  background-image:
    radial-gradient(1px 1px at 14% 26%, rgba(235,240,255,.42), transparent),
    radial-gradient(1px 1px at 76% 20%, rgba(255,200,170,.30), transparent),
    radial-gradient(1.1px 1.1px at 44% 60%, rgba(220,230,248,.34), transparent),
    radial-gradient(1px 1px at 84% 78%, rgba(255,255,255,.24), transparent),
    radial-gradient(1px 1px at 22% 84%, rgba(245,228,206,.22), transparent);
  animation:av2EmberBreath 15s ease-in-out infinite alternate;
}
@keyframes av2EmberBreath{
  from{ transform:translate3d(0, 4px, 0); opacity:.18; }
  to{ transform:translate3d(0, -10px, 0); opacity:.36; }
}
.av2-fog{
  opacity:.22;
  filter:blur(24px);
}
.av2-fog--one{
  background:
    radial-gradient(40% 22% at 20% 70%, rgba(180,195,220,.18), transparent 70%),
    radial-gradient(34% 18% at 68% 62%, rgba(210,220,240,.14), transparent 72%);
  animation:av2FogDriftOne 20s ease-in-out infinite alternate;
}
.av2-fog--two{
  background:
    radial-gradient(46% 22% at 58% 80%, rgba(140,160,195,.14), transparent 72%),
    radial-gradient(38% 18% at 32% 32%, rgba(195,208,230,.12), transparent 70%);
  animation:av2FogDriftTwo 24s ease-in-out infinite alternate;
}
@keyframes av2FogDriftOne{
  from{ transform:translate3d(-1.5%, 1%, 0) scale(1.02); }
  to{ transform:translate3d(1.2%, -1.5%, 0) scale(1.06); }
}
@keyframes av2FogDriftTwo{
  from{ transform:translate3d(1.5%, -1%, 0) scale(1.02); }
  to{ transform:translate3d(-1.2%, 1.5%, 0) scale(1.08); }
}
.av2-hero__vignette{
  z-index:6;
  background:
    linear-gradient(90deg, rgba(4,6,10,.74) 0%, rgba(4,6,10,.18) 28%, rgba(4,6,10,.10) 64%, rgba(4,6,10,.56) 100%),
    linear-gradient(180deg, rgba(2,3,6,.14) 0%, transparent 32%, rgba(3,4,8,.40) 100%);
}
.av2-hero__front{
  position:relative;
  z-index:7;
  min-height:100vh;
  min-height:100svh;
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(300px, .72fr);
  gap:clamp(1rem, 4vw, 3rem);
  align-items:center;
  width:min(90vw, 1480px);
  margin-inline:auto;
  padding-top:clamp(5rem, 10vw, 6.5rem);
  padding-bottom:clamp(2.2rem, 7vh, 3.5rem);
}
.av2-hero__copy{
  max-width:58rem;
  margin-left:3rem;
}
.av2-hero__wordmark{
  width:800px;
  max-width:100%;
  filter:drop-shadow(0 0 14px rgba(170,200,235,.14)) drop-shadow(0 0 36px rgba(110,145,190,.12));
}
.av2-hero__brand{
  position:relative;
  display:inline-block;
  margin-top:0;
}
.av2-hero__spark{
  position:absolute;
  width:4px;
  height:10px;
  border-radius:999px;
  background:radial-gradient(circle at 50% 0%, rgba(255,220,160,1), rgba(255,120,60,.1) 70%, transparent 100%);
  opacity:0;
  pointer-events:none;
  mix-blend-mode:screen;
}
.av2-hero__studio{
  margin:.35rem 0 0;
  font-size:clamp(.84rem, 1.2vw, .98rem);
  letter-spacing:.12em;
  color:rgba(215,224,238,.84);
}
.av2-hero__lead{
  margin:0 0 1.35rem;
  max-width:62ch;
  color:var(--av2-muted);
  font-size:clamp(1rem, 1.55vw, 1.14rem);
  line-height:1.72;
}
.av2-scroll-mark{
  position:absolute;
  left:50%;
  bottom:1.3rem;
  transform:translateX(-50%);
  z-index:8;
  display:flex;
  gap:.35rem;
  opacity:.75;
}
.av2-scroll-mark span{
  width:7px;height:7px;border-radius:999px;
  background:rgba(237,242,249,.38);
}
.av2-scroll-mark span:nth-child(2){ background:rgba(237,242,249,.62); }

/* SHARED SECTIONS */
.av2-band,
.av2-section,
.av2-strike,
.av2-process{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-top:1px solid var(--av2-line);
  box-shadow:0 0 0 0 rgba(132,180,255,0);
  transition:box-shadow .7s cubic-bezier(.22,1,.36,1);
}
.av2-band.is-glow,
.av2-section.is-glow,
.av2-strike.is-glow,
.av2-process.is-glow{
  box-shadow:
    0 0 0 1px rgba(132,180,255,.18),
    0 -12px 32px rgba(132,180,255,.22),
    0 12px 32px rgba(132,180,255,.22);
}
.av2-band{
  min-height:88vh;
  display:flex;
  align-items:center;
}
.av2-section{
  padding:clamp(4.4rem, 6.2vw, 7.4rem) 0;
}
.av2-band__bg,
.av2-section__bg,
.av2-strike__bg,
.av2-process__bg{
  position:absolute;
  inset:-8%;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  transform:scale(1.06);
  will-change:transform;
}
.av2-band__veil,
.av2-section__veil,
.av2-strike__veil,
.av2-process__veil{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(3,4,7,.18), rgba(3,4,7,.56)),
    linear-gradient(90deg, rgba(4,6,10,.24), rgba(4,6,10,.08) 28%, rgba(4,6,10,.08) 72%, rgba(4,6,10,.24));
}
.av2-band__light,
.av2-section__light,
.av2-strike__light,
.av2-process__light{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg, transparent 0%, transparent 40%, rgba(255,255,255,.08) 50%, transparent 60%, transparent 100%);
  background-size:220% 100%;
  opacity:.16;
}
.av2-band__bg--manifesto{ background-image:url("../img/artist/bg-manifesto.webp"); }
.av2-band__bg--altar{ background-image:url("../img/artist/bg-altar.webp"); }
.av2-section__bg--origin{ background-image:url("../img/artist/bg-origin.webp"); }
.av2-section__bg--value{
  background:
    radial-gradient(900px 520px at 18% 0%, rgba(86,112,168,.22), transparent 60%),
    radial-gradient(780px 520px at 82% 100%, rgba(40,58,96,.32), transparent 70%),
    linear-gradient(185deg, #141b28 0%, #080c14 55%, #05070b 100%);
}
.av2-section__bg--relics{ background-image:url("../img/artist/bg-relics.webp"); }
.av2-section__bg--worlds{
  background:
    radial-gradient(820px 520px at 14% 0%, rgba(78,108,170,.2), transparent 62%),
    radial-gradient(820px 520px at 86% 100%, rgba(52,82,142,.3), transparent 68%),
    linear-gradient(180deg, #121826 0%, #080c14 52%, #04060a 100%);
}
.av2-process__bg{ background-image:url("../img/artist/bg-process.webp"); }
.av2-strike__bg{
  background-image:
    radial-gradient(900px 300px at 50% 50%, rgba(90,120,180,.10), transparent 60%),
    linear-gradient(180deg, rgba(12,16,23,.96), rgba(5,7,10,.98)),
    repeating-linear-gradient(114deg, transparent 0 92px, rgba(255,255,255,.028) 92px 93px);
}
.av2-strike__grid{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.12;
  background-image:
    repeating-linear-gradient(90deg, transparent 0 120px, rgba(255,255,255,.025) 120px 121px),
    repeating-linear-gradient(180deg, transparent 0 120px, rgba(255,255,255,.022) 120px 121px);
}

.av2-monument{
  position:relative;
  z-index:3;
  max-width:1000px;
  margin-inline:auto;
  text-align:center;
}
.av2-monument__title{
  margin:0 0 1rem;
  font-family:'Cinzel', serif;
  font-size:clamp(3rem, 8vw, 7.2rem);
  line-height:.9;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#f0f4fb;
  text-shadow:0 18px 44px rgba(0,0,0,.55);
}
.av2-monument__lead{
  margin:0 auto;
  max-width:70ch;
  color:var(--av2-muted);
  font-size:clamp(1rem, 1.35vw, 1.12rem);
  line-height:1.78;
}

.av2-head{
  position:relative;
  z-index:3;
  max-width:860px;
  margin:0 0 2rem;
}
.av2-grid{ display:grid; gap:1rem; position:relative; z-index:3; }
.av2-grid--3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }

.av2-pillar-grid{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}
.av2-pillar{
  position:relative;
  padding:1.35rem 1.2rem 1.25rem;
  border:1px solid var(--av2-line);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(18,24,34,.74), rgba(10,14,20,.66));
  box-shadow:var(--av2-shadow);
}
.av2-pillar::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0) 30%);
}
.av2-pillar__num{
  display:inline-block;
  margin:0 0 .9rem;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.18em;
  color:rgba(185,205,232,.72);
}

.av2-strike{ padding:clamp(5.4rem, 10vw, 8.4rem) 0; }
.av2-strike__inner{ position:relative; z-index:3; text-align:center; }
.av2-strike__big{
  margin:0;
  font-family:'Cinzel', serif;
  font-size:clamp(2.4rem, 6vw, 5.6rem);
  line-height:.95;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(243,247,252,.96);
  text-shadow:0 18px 44px rgba(0,0,0,.55);
}
.av2-strike__small{
  margin:1rem auto 0;
  max-width:62ch;
  font-size:clamp(1rem, 1.4vw, 1.12rem);
  line-height:1.7;
  color:var(--av2-soft);
}

/* PROCESS FIXED */
.av2-process{
  min-height:auto;
  padding:clamp(4.4rem, 6.2vw, 7.4rem) 0;
}
.av2-process__head{
  position:relative;
  z-index:3;
  max-width:860px;
  margin:0 0 2rem;
}
.av2-process__stage-shell{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, .95fr);
  gap:clamp(1rem, 5vw, 4rem);
  align-items:start;
}
.av2-stage-copy{
  position:relative;
}
.av2-stage-text{
  position:relative;
  inset:auto;
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.av2-stage-text.is-active{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.av2-stage-text__index{
  display:inline-grid;
  place-items:center;
  width:66px;
  height:66px;
  margin-bottom:1rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
  font-size:.9rem;
  font-weight:800;
  letter-spacing:.14em;
  color:rgba(198,216,241,.94);
  box-shadow:0 0 0 1px rgba(255,255,255,.05), 0 0 22px rgba(130,175,238,.18);
}
.av2-stage-tower{ display:grid; gap:.95rem; }
.av2-stage-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1rem 1rem 1.05rem;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(18,24,34,.78), rgba(10,14,20,.66));
  box-shadow:var(--av2-shadow);
  opacity:1;
  transform:none;
}
.av2-stage-card.is-active{
  opacity:1;
  transform:none;
  border-color:rgba(255,255,255,.18);
}
.av2-stage-card__num{
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.16em;
  color:rgba(198,216,241,.94);
}
.av2-stage-card__word{
  font-family:'Cinzel', serif;
  font-size:clamp(1rem, 1.7vw, 1.4rem);
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--av2-text);
}

.av2-relic-grid{
  position:relative;
  z-index:3;
  display:flex;
  flex-wrap:nowrap;
  gap:1.25rem;
}
.av2-section--relics .av2-wrap{
  width:90vw;
  max-width:none;
}
.av2-relic{
  appearance:none;
  width:100%;
  padding:0;
  border:1px solid var(--av2-line);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(18,24,34,.8), rgba(10,14,20,.68));
  overflow:hidden;
  cursor:pointer;
  text-align:left;
  box-shadow:var(--av2-shadow);
  transition:transform .24s ease, border-color .24s ease, box-shadow .24s ease;
  transform-style:preserve-3d;
  flex:1 1 calc(25% - 0.9rem);
}
.av2-relic__media{
  display:block;
  aspect-ratio:1 / 1.06;
  overflow:hidden;
  background:#0a0d14;
}
.av2-relic__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease, filter .45s ease;
}
.av2-relic__info{ display:block; padding:1rem .95rem 1.02rem; }
.av2-relic__title{ display:block; margin:0 0 .32rem; font-weight:700; color:var(--av2-text); }
.av2-relic__meta{ display:block; color:var(--av2-soft); font-size:.92rem; }

.av2-world-grid{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
}
.av2-section--worlds .av2-wrap{
  width:90vw;
  max-width:none;
}
.av2-world{
  position:relative;
  display:block;
  min-height:280px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  text-decoration:none;
  box-shadow:var(--av2-shadow);
  transition:transform .26s ease, border-color .26s ease, box-shadow .26s ease;
}
.av2-world:hover{
  transform:translateY(-6px);
  border-color:rgba(255,255,255,.18);
  box-shadow:var(--av2-shadow-lg);
}
.av2-world__bg,
.av2-world__bg img,
.av2-world__veil,
.av2-world__sheen{
  position:absolute;
  inset:0;
}
.av2-world__bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.03);
  transition:transform .55s ease, filter .55s ease;
  filter:brightness(.82) contrast(1.04) saturate(1);
}
.av2-world:hover .av2-world__bg img{
  transform:scale(1.1);
  filter:brightness(.96) contrast(1.08) saturate(1.05);
}
.av2-world__veil{ background:transparent; }
.av2-world__sheen{
  opacity:0;
  background:linear-gradient(110deg, transparent 38%, rgba(255,255,255,.16) 50%, transparent 62%);
  transform:translateX(-120%);
}
.av2-world__content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:260px;
  padding:1.25rem 1.2rem;
}
.av2-world__title{
  display:block;
  margin:0 0 .3rem;
  font-family:'Cinzel', serif;
  font-size:1.18rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#f0f4fb;
}
.av2-world__meta{
  display:block;
  color:rgba(237,242,249,.76);
  font-size:.92rem;
  line-height:1.45;
}

.av2-final{
  position:relative;
  z-index:3;
  max-width:920px;
  margin-inline:auto;
  text-align:center;
  padding:clamp(1.8rem, 4vw, 3rem);
  border-radius:30px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(18,24,34,.74), rgba(8,11,16,.64));
  box-shadow:var(--av2-shadow-lg);
  backdrop-filter:blur(6px);
}
.av2-final__title{
  margin:0 0 1rem;
  font-family:'Cinzel', serif;
  font-size:clamp(2.8rem, 6vw, 5.8rem);
  line-height:.9;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#f0f4fb;
  text-shadow:0 18px 44px rgba(0,0,0,.55);
}

/* MODAL */
.av2-modal{ position:fixed; inset:0; z-index:9999; }
.av2-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,6,10,.78);
  backdrop-filter:blur(4px);
}
.av2-modal__panel{
  position:relative;
  z-index:2;
  width:min(1060px, calc(100% - 1rem));
  margin:3vh auto;
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(280px, .74fr);
  background:#0c1118;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 24px 90px rgba(0,0,0,.58);
  outline:none;
}
.av2-modal__x{
  position:absolute;
  top:.65rem;
  right:.75rem;
  z-index:3;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(8,11,16,.78);
  color:#fff;
  font-size:1.45rem;
  cursor:pointer;
}
.av2-modal__media{ background:#080b10; }
.av2-modal__media img{
  width:100%;
  height:100%;
  max-height:86vh;
  object-fit:contain;
  background:#080b10;
}
.av2-modal__copy{
  padding:1.25rem 1.1rem 1.2rem;
  background:linear-gradient(180deg, rgba(16,22,31,.96), rgba(9,12,18,.96));
}
.av2-modal__title{ margin:0 0 .45rem; font-size:1.22rem; font-weight:800; color:var(--av2-text); }
.av2-modal__meta{ margin:0 0 .9rem; color:var(--av2-soft); font-size:.95rem; }
.av2-modal__desc{ color:var(--av2-muted); line-height:1.7; }

.av2-reveal{ opacity:0; transform:translateY(26px); }
.av2-reveal.is-visible{
  opacity:1;
  transform:none;
  transition:opacity 1s cubic-bezier(.22,1,.36,1), transform 1s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--av2-delay, 0ms);
}

@media (max-width:1180px){
  .av2-grid--3,
  .av2-pillar-grid,
  .av2-world-grid,
  .av2-relic-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:980px){
  .av2-hero__front{
    grid-template-columns:1fr;
    min-height:100vh;
  }
  .av2-hero__copy{
    margin-left:0;
    max-width:38rem;
  }
  .av2-process__stage-shell{
    grid-template-columns:1fr;
  }
  .av2-grid--3{ grid-template-columns:1fr; }
  .av2-relic-grid{ flex-wrap:wrap; }
}
@media (max-width:820px){
  .av2-hero__image{
    object-position:58% 34%;
    mask-image:radial-gradient(ellipse 96% 92% at 52% 42%, #000 0%, #000 48%, transparent 92%);
    -webkit-mask-image:radial-gradient(ellipse 96% 92% at 52% 42%, #000 0%, #000 48%, transparent 92%);
  }
  .av2-stage-copy{ min-height:unset; }
  .av2-stage-text{
    position:relative;
    inset:auto;
    opacity:1;
    transform:none;
    pointer-events:auto;
    margin-top:0;
    padding:1.1rem 0;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .av2-stage-text:first-child{ border-top:0; padding-top:0; }
  .av2-stage-tower{ margin-top:1.5rem; }
  .av2-stage-card{ opacity:1; transform:none; }
  .av2-modal__panel{
    grid-template-columns:1fr;
    margin:1vh auto;
  }
  .av2-hero__wordmark{
    width:800px;
    max-width:100%;
  }
  .av2-hero__copy{
    max-width:100%;
    margin-left:0;
  }
  .av2-hero__brand{
    margin-top:1.5rem;
    margin-left:0;
  }
}
@media (max-width:640px){
  .av2-wrap{ width:min(var(--av2-max), calc(100% - 1rem)); }
  .av2-section,
  .av2-process{ padding:3.8rem 0; }
  .av2-pillar-grid,
  .av2-world-grid,
  .av2-relic-grid{ grid-template-columns:1fr; }
  .av2-title-line{ font-size:clamp(2.2rem, 12vw, 4.2rem); }
  .av2-monument__title{ font-size:clamp(2.4rem, 12vw, 4.2rem); }
  .av2-final__title{ font-size:clamp(2.35rem, 11vw, 4rem); }
  .av2-btn{ width:100%; }
}
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
  .av2-reveal,
  .av2-reveal.is-visible{
    opacity:1 !important;
    transform:none !important;
  }
  .av2-hero__light,
  .av2-hero__embers,
  .av2-fog{ animation:none !important; }
  .av2-hero__image,
  .av2-band__bg,
  .av2-section__bg,
  .av2-strike__bg,
  .av2-process__bg{ transform:none !important; }
  .av2-stage-text,
  .av2-stage-card{ opacity:1 !important; transform:none !important; }
  .av2-world:hover,
  .av2-relic:hover,
  .av2-btn:hover{ transform:none; }
  .av2-world:hover .av2-world__bg img,
  .av2-relic:hover .av2-relic__media img{ transform:none; }
}