/* =========================================================
   LUMINA VIVENS — GENESIS 12.9
   Stage 02 / Visual Foundation
   ========================================================= */

:root{
  --bg:#02060c;
  --bg-2:#04101b;
  --panel:rgba(4,12,21,.76);
  --panel-strong:rgba(3,9,16,.94);

  --gold:#d8a84e;
  --gold-light:#f3d487;
  --gold-soft:rgba(216,168,78,.22);

  --blue:#76cfff;
  --blue-soft:rgba(118,207,255,.22);
  --violet:#7f6dff;

  --text:#ece8df;
  --text-soft:#c9c8c3;
  --muted:#8994a4;

  --line:rgba(216,168,78,.34);
  --line-soft:rgba(255,255,255,.07);

  --radius:18px;
  --max:1500px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  background:
    radial-gradient(circle at 50% 4%, rgba(17,61,98,.19), transparent 33rem),
    linear-gradient(180deg,#010307 0%,#02070d 40%,#010409 100%);
  font-family:Georgia,"Times New Roman",serif;
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-4;
  background:
    radial-gradient(circle at 50% 40%, transparent 0 20%, rgba(0,0,0,.12) 50%, rgba(0,0,0,.56) 100%);
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:100;
  opacity:.12;
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent 0,
      transparent 2px,
      rgba(255,255,255,.02) 3px
    );
  mix-blend-mode:screen;
}

#starfield{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  z-index:-3;
  pointer-events:none;
}

a{color:inherit}
a,button{font:inherit}

.page{position:relative;z-index:1}
.shell{
  width:min(calc(100% - 40px),var(--max));
  margin-inline:auto;
}

.system-type{
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  text-transform:uppercase;
  letter-spacing:.12em;
}

/* HEADER */

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  border-bottom:1px solid rgba(255,255,255,.055);
  background:rgba(1,5,10,.72);
  backdrop-filter:blur(18px) saturate(120%);
  transition:background .3s ease,box-shadow .3s ease;
}

.site-header.scrolled{
  background:rgba(1,5,10,.92);
  box-shadow:0 14px 50px rgba(0,0,0,.35);
}

.header-inner{
  min-height:82px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:30px;
  align-items:center;
}

.brand{
  display:flex;
  gap:14px;
  align-items:center;
  text-decoration:none;
}

.brand-mark{
  width:48px;
  aspect-ratio:1;
  border:1px solid var(--gold);
  border-radius:50%;
  position:relative;
  box-shadow:
    inset 0 0 22px rgba(216,168,78,.12),
    0 0 24px rgba(216,168,78,.08);
}

.brand-mark::before,
.brand-mark::after,
.brand-mark-core{
  content:"";
  position:absolute;
  inset:7px;
  border:1px solid rgba(243,212,135,.7);
  border-radius:50%;
}

.brand-mark::after{
  inset:13px;
  border-color:rgba(118,207,255,.52);
}

.brand-mark-core{
  inset:18px;
  border-color:var(--gold-light);
  box-shadow:0 0 14px rgba(243,212,135,.45);
}

.brand-main,
.brand-sub{
  display:block;
}

.brand-main{
  color:var(--gold-light);
  font-size:clamp(1.02rem,1.5vw,1.42rem);
  line-height:1;
}

.brand-sub{
  margin-top:6px;
  color:var(--gold);
  font-size:.65rem;
  letter-spacing:.19em;
}

.main-nav{
  display:flex;
  justify-content:center;
  gap:clamp(18px,3vw,48px);
}

.main-nav a{
  position:relative;
  color:#dbd7cd;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.8rem;
  transition:.25s ease;
}

.main-nav a::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:-19px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-light),transparent);
  box-shadow:0 0 10px rgba(243,212,135,.65);
  transition:.25s ease;
}

.main-nav a:hover,
.main-nav a.active{
  color:var(--gold-light);
}

.main-nav a:hover::after,
.main-nav a.active::after{
  left:-18px;
  right:-18px;
}

.header-project{
  display:flex;
  align-items:center;
  gap:8px;
  padding:11px 15px;
  border:1px solid rgba(216,168,78,.45);
  border-radius:9px;
  color:var(--gold-light);
  text-decoration:none;
  font-size:.73rem;
  transition:.25s ease;
}

.header-project:hover{
  border-color:var(--gold-light);
  background:rgba(216,168,78,.04);
  box-shadow:0 0 24px rgba(216,168,78,.08);
}

.mini-star{
  font-size:1rem;
  text-shadow:0 0 12px var(--gold);
}

/* HERO */

.hero{
  position:relative;
  isolation:isolate;
  min-height:calc(100vh - 82px);
  display:grid;
  align-items:center;
  padding:60px 0 62px;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.05);
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-4;
  background:
    radial-gradient(circle at 50% 46%, rgba(118,207,255,.065), transparent 27%),
    radial-gradient(circle at 50% 46%, rgba(216,168,78,.065), transparent 47%),
    linear-gradient(90deg,rgba(0,0,0,.28),transparent 22%,transparent 78%,rgba(0,0,0,.28));
}

.horizon-glow{
  position:absolute;
  left:50%;
  bottom:0;
  width:min(1100px,92vw);
  height:280px;
  transform:translateX(-50%);
  z-index:-3;
  background:
    radial-gradient(ellipse at 50% 100%, rgba(118,207,255,.16), transparent 46%),
    radial-gradient(ellipse at 50% 100%, rgba(216,168,78,.11), transparent 62%);
  filter:blur(3px);
}

.mountains{
  position:absolute;
  bottom:-3px;
  width:44vw;
  height:230px;
  z-index:-2;
  opacity:.72;
  background:linear-gradient(145deg,transparent 45%,#07111a 46% 57%,#02060b 58%);
  filter:drop-shadow(0 0 18px rgba(0,0,0,.5));
}

.mountains-left{
  left:-5vw;
  clip-path:polygon(0 100%,0 72%,9% 63%,16% 69%,27% 45%,33% 58%,44% 31%,52% 61%,62% 50%,73% 77%,84% 64%,100% 100%);
}

.mountains-right{
  right:-5vw;
  transform:scaleX(-1);
  clip-path:polygon(0 100%,0 72%,9% 63%,16% 69%,27% 45%,33% 58%,44% 31%,52% 61%,62% 50%,73% 77%,84% 64%,100% 100%);
}

.side-rail{
  position:absolute;
  top:44px;
  bottom:44px;
  width:72px;
  z-index:-1;
  opacity:.45;
  border-inline:1px solid rgba(216,168,78,.22);
  background:
    linear-gradient(180deg,transparent,rgba(216,168,78,.025) 20% 80%,transparent);
}

.side-rail-left{left:20px}
.side-rail-right{right:20px}

.side-rail span{
  position:absolute;
  left:50%;
  width:24px;
  aspect-ratio:1;
  border:1px solid rgba(216,168,78,.38);
  transform:translateX(-50%) rotate(45deg);
}

.side-rail span:nth-child(1){top:18%}
.side-rail span:nth-child(2){top:48%}
.side-rail span:nth-child(3){top:78%}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(300px,.84fr) minmax(450px,1.25fr) minmax(270px,.72fr);
  gap:38px;
  align-items:center;
}

.hero-copy h1{
  margin:0;
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
}

.hero-copy .lumina{
  display:block;
  color:var(--gold-light);
  font-size:clamp(1.45rem,2.3vw,2.4rem);
  letter-spacing:.105em;
}

.hero-copy .genesis{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:16px;
  color:#cdeaff;
  font-size:clamp(2.7rem,5vw,5.6rem);
  line-height:.9;
  letter-spacing:.15em;
  text-shadow:0 0 28px rgba(118,207,255,.2);
}

.hero-copy .genesis i{
  flex:0 0 28px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-light));
  position:relative;
}

.hero-copy .genesis i:last-child{
  background:linear-gradient(90deg,var(--gold-light),transparent);
}

.hero-copy .subtitle{
  margin:23px 0 0;
  color:var(--gold);
  font-size:clamp(1rem,1.5vw,1.38rem);
  letter-spacing:.18em;
}

.hero-copy .date{
  margin:15px 0 0;
  color:var(--blue);
  font-size:1.02rem;
  letter-spacing:.13em;
}

.ornament-line{
  display:flex;
  align-items:center;
  gap:10px;
  width:min(280px,100%);
  margin:20px 0 0;
}

.ornament-line span{
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,rgba(216,168,78,.55));
}

.ornament-line span:last-child{
  background:linear-gradient(90deg,rgba(216,168,78,.55),transparent);
}

.ornament-line b{
  color:var(--gold-light);
  font-weight:400;
  font-size:.72rem;
}

.hero-copy .intro{
  max-width:430px;
  margin:21px 0 0;
  color:#d9d6ce;
  line-height:1.72;
  font-size:.98rem;
}

.primary-btn{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-width:250px;
  min-height:50px;
  margin-top:28px;
  padding:0 18px;
  border:1px solid rgba(216,168,78,.57);
  border-radius:9px;
  color:var(--gold-light);
  text-decoration:none;
  background:
    linear-gradient(180deg,rgba(216,168,78,.045),rgba(216,168,78,.01));
  font-size:.8rem;
  transition:.3s ease;
}

.primary-btn:hover{
  transform:translateY(-2px);
  border-color:var(--gold-light);
  box-shadow:
    0 16px 35px rgba(0,0,0,.28),
    0 0 28px rgba(216,168,78,.08);
}

.primary-btn .arrow{
  font-size:1.3rem;
  transition:transform .25s ease;
}

.primary-btn:hover .arrow{transform:translateX(5px)}

/* CENTRAL SIGIL */

.sigil-stage{
  min-height:590px;
  display:grid;
  place-items:center;
  position:relative;
}

.vertical-beam{
  position:absolute;
  width:2px;
  height:112%;
  top:-6%;
  left:50%;
  transform:translateX(-50%);
  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(216,168,78,.2) 20%,
      rgba(243,212,135,.9) 50%,
      rgba(216,168,78,.18) 80%,
      transparent
    );
  filter:drop-shadow(0 0 10px rgba(243,212,135,.7));
  opacity:.78;
}

.sigil-aura{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.aura-a{
  width:540px;
  height:540px;
  background:
    radial-gradient(circle,rgba(243,212,135,.16),transparent 18%),
    radial-gradient(circle,rgba(118,207,255,.09),transparent 56%);
  filter:blur(12px);
  animation:auraPulse 7s ease-in-out infinite;
}

.aura-b{
  width:670px;
  height:670px;
  border:1px solid rgba(118,207,255,.035);
  box-shadow:
    inset 0 0 90px rgba(118,207,255,.035),
    0 0 90px rgba(216,168,78,.025);
  animation:auraPulse 11s ease-in-out infinite reverse;
}

.sigil{
  position:relative;
  width:min(470px,80vw);
  aspect-ratio:1;
  border:1px solid rgba(243,212,135,.74);
  border-radius:50%;
  background:
    repeating-conic-gradient(
      from 0deg,
      rgba(216,168,78,.0) 0deg 9deg,
      rgba(216,168,78,.18) 9.25deg 9.65deg
    );
  box-shadow:
    inset 0 0 55px rgba(216,168,78,.07),
    0 0 32px rgba(118,207,255,.14),
    0 0 82px rgba(216,168,78,.09);
  animation:sigilFloat 9s ease-in-out infinite;
}

.glyph-ring{
  position:absolute;
  border-radius:50%;
}

.glyph-ring-outer{
  inset:5.5%;
  border:1px solid rgba(216,168,78,.48);
  box-shadow:inset 0 0 26px rgba(216,168,78,.035);
}

.glyph-ring-mid{
  inset:15%;
  border:1px solid rgba(118,207,255,.54);
  background:
    repeating-conic-gradient(
      from 5deg,
      transparent 0deg 14deg,
      rgba(118,207,255,.22) 14deg 14.6deg
    );
  animation:slowSpin 70s linear infinite;
}

.glyph-ring-inner{
  inset:26%;
  border:1px solid rgba(243,212,135,.7);
  box-shadow:
    inset 0 0 28px rgba(216,168,78,.08),
    0 0 18px rgba(216,168,78,.06);
}

.axis{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  opacity:.76;
}

.axis-x{
  width:112%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-light),transparent);
}

.axis-y{
  width:1px;
  height:112%;
  background:linear-gradient(180deg,transparent,var(--gold-light),transparent);
}

.diamond{
  position:absolute;
  left:50%;
  top:50%;
  border:1px solid rgba(243,212,135,.55);
  transform:translate(-50%,-50%) rotate(45deg);
}

.d1{
  width:52%;
  height:52%;
}

.d2{
  width:37%;
  height:37%;
  border-color:rgba(118,207,255,.48);
  transform:translate(-50%,-50%) rotate(22.5deg);
}

.flower{
  position:absolute;
  inset:31%;
  border-radius:50%;
}

.flower span{
  position:absolute;
  width:60%;
  height:60%;
  left:20%;
  top:20%;
  border:1px solid rgba(243,212,135,.62);
  border-radius:50%;
  transform-origin:50% 50%;
}

.flower span:nth-child(1){transform:translateY(-29%)}
.flower span:nth-child(2){transform:translate(21%,-21%)}
.flower span:nth-child(3){transform:translateX(29%)}
.flower span:nth-child(4){transform:translate(21%,21%)}
.flower span:nth-child(5){transform:translateY(29%)}
.flower span:nth-child(6){transform:translate(-21%,21%)}
.flower span:nth-child(7){transform:translateX(-29%)}
.flower span:nth-child(8){transform:translate(-21%,-21%)}

.core{
  position:absolute;
  inset:43%;
  border:1px solid var(--gold-light);
  border-radius:50%;
  background:
    radial-gradient(circle,#fff 0 7%,#ffe7a6 8% 16%,rgba(216,168,78,.42) 24%,rgba(118,207,255,.11) 48%,transparent 72%);
  box-shadow:
    0 0 14px #fff0bd,
    0 0 38px rgba(243,212,135,.8),
    0 0 85px rgba(118,207,255,.38);
  animation:corePulse 4.2s ease-in-out infinite;
}

.core span{
  position:absolute;
  inset:-65%;
  border:1px solid rgba(243,212,135,.38);
  border-radius:50%;
}

.node{
  position:absolute;
  width:12px;
  height:12px;
  margin:-6px;
  border-radius:50%;
  background:var(--gold-light);
  box-shadow:
    0 0 10px rgba(243,212,135,.9),
    0 0 22px rgba(216,168,78,.42);
}

.n1{left:50%;top:5.5%}
.n2{left:81.5%;top:18.5%}
.n3{left:94.5%;top:50%}
.n4{left:81.5%;top:81.5%}
.n5{left:50%;top:94.5%}
.n6{left:18.5%;top:81.5%}
.n7{left:5.5%;top:50%}
.n8{left:18.5%;top:18.5%}

.floor-rings{
  position:absolute;
  left:50%;
  bottom:2%;
  width:min(620px,94%);
  height:120px;
  transform:translateX(-50%);
  perspective:500px;
}

.floor-rings span{
  position:absolute;
  left:50%;
  top:50%;
  border:1px solid rgba(118,207,255,.24);
  border-radius:50%;
  transform:translate(-50%,-50%) rotateX(66deg);
  box-shadow:0 0 18px rgba(118,207,255,.06);
}

.floor-rings span:nth-child(1){width:42%;height:48%}
.floor-rings span:nth-child(2){width:62%;height:70%}
.floor-rings span:nth-child(3){width:82%;height:91%;border-color:rgba(216,168,78,.2)}
.floor-rings span:nth-child(4){width:100%;height:112%;opacity:.5}

.hero-quote{
  text-align:left;
  padding-left:12px;
}

.quote-mark{
  color:var(--gold);
  font-size:2.4rem;
  line-height:1;
}

.hero-quote p{
  margin:10px 0 0;
  color:#d9d5cb;
  font-size:.96rem;
  line-height:1.8;
}

.quote-rule{
  display:flex;
  align-items:center;
  gap:8px;
  width:150px;
  margin:22px 0;
}

.quote-rule span{
  height:1px;
  flex:1;
  background:rgba(216,168,78,.4);
}

.quote-rule b{
  color:var(--gold-light);
  font-size:.68rem;
  font-weight:400;
}

.version{
  color:var(--blue);
  font-size:.75rem;
}

.scroll-glyph{
  position:absolute;
  left:50%;
  bottom:17px;
  transform:translateX(-50%);
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:var(--gold-light);
  border:1px solid rgba(216,168,78,.22);
  border-radius:50%;
  text-decoration:none;
  background:rgba(2,6,12,.56);
  animation:scrollBounce 2.6s ease-in-out infinite;
}

/* DISCOVERY */

.discovery{
  position:relative;
  padding:88px 0 76px;
  background:
    radial-gradient(circle at 50% 0%,rgba(118,207,255,.045),transparent 36rem);
}

.section-heading{
  text-align:center;
  margin-bottom:38px;
}

.section-heading h2{
  margin:0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:clamp(1.55rem,2.2vw,2.2rem);
}

.section-heading p{
  max-width:720px;
  margin:15px auto 0;
  color:var(--muted);
  line-height:1.7;
}

.cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.card{
  min-height:458px;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
  padding:22px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:
    linear-gradient(180deg,rgba(6,16,27,.82),rgba(2,8,14,.91));
  box-shadow:
    0 24px 70px rgba(0,0,0,.34),
    inset 0 1px rgba(255,255,255,.018);
  transition:.32s ease;
}

.card::after{
  content:"";
  position:absolute;
  left:15%;
  right:15%;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-light),transparent);
  opacity:0;
  transition:.32s ease;
}

.card:hover{
  transform:translateY(-6px);
  border-color:rgba(243,212,135,.58);
  box-shadow:
    0 28px 80px rgba(0,0,0,.42),
    0 0 28px rgba(216,168,78,.055);
}

.card:hover::after{opacity:.75}

.card-number{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(216,168,78,.55);
  border-radius:8px;
  color:var(--gold-light);
  font-size:.78rem;
}

.card h3{
  margin:18px 0 5px;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:1.06rem;
}

.card .tagline{
  margin:0;
  color:#dbd8d1;
  font-size:.91rem;
}


.card-media{
  margin:26px 0 22px;
  position:relative;
  border:1px solid rgba(216,168,78,.34);
  border-radius:16px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 20%, rgba(118,207,255,.08), transparent 55%),
    linear-gradient(180deg, rgba(7,17,30,.9), rgba(2,7,13,.98));
  box-shadow:
    inset 0 0 32px rgba(216,168,78,.04),
    0 8px 26px rgba(0,0,0,.25);
}

.card-media::after{
  content:"";
  position:absolute;
  inset:auto 12% 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(243,212,135,.55), transparent);
  opacity:.7;
}

.card-media img{
  display:block;
  width:100%;
  aspect-ratio: 1 / 1;
  object-fit:cover;
  object-position:center;
  transform:scale(1.01);
  transition:transform .45s ease, filter .45s ease;
  filter:saturate(1.02) brightness(.98);
}

.card:hover .card-media img{
  transform:scale(1.045);
  filter:saturate(1.08) brightness(1.03);
}

.card-media-book img{
  aspect-ratio: 1 / 1;
  object-fit:cover;
}


/* TIMELINE */

.timeline-section{
  padding:14px 0 55px;
}

.timeline-box{
  display:grid;
  grid-template-columns:1fr 1.15fr 1.2fr;
  gap:26px;
  align-items:center;
  padding:24px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:14px;
  background:rgba(3,9,16,.56);
}

.archive-signature{
  color:var(--blue);
  font-size:.74rem;
  line-height:1.65;
}

.archive-signature strong{
  color:#8ed8ff;
  font-weight:500;
}

.timeline{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  text-align:center;
  position:relative;
  padding-top:5px;
}

.timeline::before{
  content:"";
  position:absolute;
  left:16.5%;
  right:16.5%;
  top:35px;
  height:1px;
  background:linear-gradient(90deg,var(--gold),rgba(118,207,255,.34),rgba(255,255,255,.12));
}

.time-node{
  position:relative;
  z-index:1;
}

.time-node strong{
  display:block;
  margin-bottom:15px;
  color:#5e6875;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.73rem;
}

.time-node i{
  width:12px;
  height:12px;
  display:block;
  margin:auto;
  border:1px solid #435161;
  border-radius:50%;
  background:#131c26;
}

.time-node.active strong{color:var(--gold-light)}

.time-node.active i{
  border-color:var(--gold-light);
  background:var(--gold-light);
  box-shadow:0 0 18px rgba(243,212,135,.75);
}

.present-box{
  text-align:right;
}

.present-box>span{
  color:var(--gold-light);
  font-size:.72rem;
}

.present-links{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin-top:9px;
}

.present-links a{
  color:#c8ccd2;
  text-decoration:none;
  font-size:.8rem;
}

.present-links a:hover{color:var(--blue)}
.present-links b{color:#47505a;font-weight:400}

/* ARCHIVE NOTE */

.archive-note{
  padding:55px 0 100px;
}

.archive-grid{
  display:grid;
  grid-template-columns:.65fr 1.35fr;
  gap:55px;
  padding-top:42px;
  border-top:1px solid rgba(255,255,255,.055);
}

.archive-index{
  color:var(--blue);
  font-size:.7rem;
}

.archive-note h2{
  margin:13px 0 0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:1.5rem;
}

.archive-note p{
  margin:0;
  color:#aeb7c3;
  line-height:1.8;
}

.archive-note small{
  display:block;
  margin-top:20px;
  color:#657181;
  line-height:1.7;
}

/* MOTION */

@keyframes auraPulse{
  0%,100%{transform:scale(.96);opacity:.62}
  50%{transform:scale(1.045);opacity:1}
}

@keyframes sigilFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-9px) rotate(.45deg)}
}

@keyframes corePulse{
  0%,100%{transform:scale(.93);filter:brightness(.95)}
  50%{transform:scale(1.09);filter:brightness(1.15)}
}

@keyframes slowSpin{
  to{transform:rotate(360deg)}
}

@keyframes scrollBounce{
  0%,100%{transform:translate(-50%,0);opacity:.6}
  50%{transform:translate(-50%,6px);opacity:1}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
  }
}

/* RESPONSIVE */

@media (max-width:1180px){
  .header-inner{
    grid-template-columns:auto auto;
  }

  .main-nav{
    order:3;
    grid-column:1/-1;
    justify-content:flex-start;
    padding-bottom:14px;
    overflow:auto;
  }

  .main-nav a::after{bottom:-13px}

  .hero-grid{
    grid-template-columns:1fr 1.1fr;
  }

  .hero-quote{
    grid-column:1/-1;
    text-align:center;
    max-width:690px;
    margin-inline:auto;
    padding-left:0;
  }

  .quote-rule{margin-inline:auto}

  .cards{
    grid-template-columns:repeat(2,1fr);
  }

  .timeline-box{
    grid-template-columns:1fr;
    text-align:center;
  }

  .present-box{text-align:center}
  .present-links{justify-content:center}
}

@media (max-width:740px){
  .shell{
    width:min(calc(100% - 22px),var(--max));
  }

  .site-header{position:relative}

  .header-inner{
    display:flex;
    flex-wrap:wrap;
    gap:13px;
    padding:13px 0;
  }

  .brand-main{font-size:1rem}
  .brand-sub{display:none}

  .header-project{
    margin-left:auto;
    padding:9px 10px;
    font-size:.65rem;
  }

  .main-nav{
    width:100%;
    gap:23px;
    padding-bottom:4px;
  }

  .main-nav a{
    font-size:.72rem;
  }

  .main-nav a::after{display:none}

  .hero{
    min-height:auto;
    padding:48px 0 64px;
  }

  .side-rail{display:none}

  .hero-grid{
    grid-template-columns:1fr;
    gap:27px;
  }

  .hero-copy{text-align:center}

  .hero-copy .genesis{
    justify-content:center;
    font-size:clamp(2.55rem,13vw,4.4rem);
    letter-spacing:.105em;
  }

  .hero-copy .genesis i{
    flex-basis:16px;
  }

  .ornament-line,
  .hero-copy .intro{
    margin-inline:auto;
  }

  .sigil-stage{
    min-height:410px;
  }

  .sigil{
    width:min(340px,87vw);
  }

  .aura-a{width:390px;height:390px}
  .aura-b{width:450px;height:450px}

  .node{
    width:9px;
    height:9px;
    margin:-4.5px;
  }

  .floor-rings{
    width:min(430px,98vw);
    height:90px;
  }

  .cards{
    grid-template-columns:1fr;
  }

  .card{
    min-height:420px;
  }

  .archive-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
}


/* =========================================================
   STAGE 04 / archive pages + galleries
   ========================================================= */

.subpage-body{
  background:
    radial-gradient(circle at 50% 0%, rgba(17,61,98,.15), transparent 30rem),
    linear-gradient(180deg,#010307 0%,#02070d 40%,#010409 100%);
}

.subpage{
  padding:52px 0 90px;
}

.subpage-hero{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(320px,1fr);
  gap:24px;
  align-items:center;
  margin-bottom:34px;
}

.subpage-card{
  border:1px solid rgba(216,168,78,.28);
  border-radius:18px;
  padding:24px;
  background:linear-gradient(180deg, rgba(6,16,27,.82), rgba(2,8,14,.94));
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}

.subpage-kicker{
  color:var(--blue);
  font-size:.76rem;
  margin-bottom:10px;
}

.subpage-hero h1{
  margin:0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:clamp(1.8rem,3vw,2.8rem);
}

.subpage-hero p{
  color:#d8d5ce;
  line-height:1.75;
}

.subpage-meta{
  display:grid;
  gap:10px;
  color:#aeb7c3;
  font-size:.95rem;
}

.subpage-meta strong{
  color:var(--gold-light);
  font-weight:500;
}

.subpage-preview{
  border:1px solid rgba(216,168,78,.22);
  border-radius:18px;
  overflow:hidden;
  background:rgba(3,9,16,.75);
  box-shadow:0 18px 50px rgba(0,0,0,.32);
}

.subpage-preview img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}

.subpage-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:16px;
}

.archive-item{
  border:1px solid rgba(216,168,78,.22);
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(6,16,27,.82), rgba(2,8,14,.94));
  box-shadow:0 18px 46px rgba(0,0,0,.28);
}

.archive-item img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  transition:transform .35s ease;
}

.archive-item:hover img{
  transform:scale(1.035);
}

.archive-caption{
  padding:12px 14px 15px;
}

.archive-caption strong{
  display:block;
  color:var(--gold-light);
  font-size:.9rem;
  font-weight:500;
  margin-bottom:6px;
}

.archive-caption span{
  color:#95a0b0;
  font-size:.82rem;
  line-height:1.6;
}

.back-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  text-decoration:none;
  color:var(--gold-light);
  font-size:.8rem;
}

.archive-block{
  margin-top:34px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:18px;
  padding:22px;
  background:rgba(3,9,16,.56);
}

.archive-block h2{
  margin:0 0 14px;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:1.2rem;
}

.archive-block p{
  color:#b5bec9;
  line-height:1.78;
  margin:0;
}

@media (max-width:1100px){
  .subpage-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media (max-width:820px){
  .subpage-hero{
    grid-template-columns:1fr;
  }
  .subpage-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:560px){
  .subpage-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   STAGE 05 / Lightbox + Genesis extensions + Archive Hub
   ========================================================= */

body.lightbox-open{
  overflow:hidden;
}

.archive-item img[data-lightbox],
.card-media img[data-lightbox],
.feature-media img[data-lightbox]{
  cursor:zoom-in;
}

.lv-lightbox{
  position:fixed;
  inset:0;
  z-index:999;
  display:grid;
  place-items:center;
  padding:46px 76px;
  background:rgba(0,3,7,.94);
  backdrop-filter:blur(14px);
  opacity:0;
  visibility:hidden;
  transition:opacity .28s ease, visibility .28s ease;
}

.lv-lightbox.open{
  opacity:1;
  visibility:visible;
}

.lv-lightbox figure{
  margin:0;
  max-width:min(1100px,88vw);
  max-height:88vh;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.lv-lightbox img{
  display:block;
  max-width:100%;
  max-height:76vh;
  object-fit:contain;
  border:1px solid rgba(216,168,78,.38);
  border-radius:16px;
  box-shadow:
    0 28px 90px rgba(0,0,0,.72),
    0 0 45px rgba(118,207,255,.08);
}

.lv-lightbox figcaption{
  width:100%;
  padding:14px 4px 0;
  text-align:center;
}

.lv-lightbox figcaption strong{
  display:block;
  color:var(--gold-light);
  font-weight:500;
  letter-spacing:.05em;
}

.lv-lightbox figcaption span{
  display:block;
  margin-top:6px;
  color:#8290a2;
  font-size:.82rem;
}

.lv-lightbox-close,
.lv-lightbox-nav{
  position:absolute;
  border:1px solid rgba(216,168,78,.34);
  color:var(--gold-light);
  background:rgba(3,9,16,.78);
  cursor:pointer;
  transition:.22s ease;
}

.lv-lightbox-close:hover,
.lv-lightbox-nav:hover{
  border-color:var(--gold-light);
  background:rgba(216,168,78,.06);
}

.lv-lightbox-close{
  top:22px;
  right:24px;
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:1.65rem;
}

.lv-lightbox-nav{
  top:50%;
  width:48px;
  height:72px;
  transform:translateY(-50%);
  border-radius:12px;
  font-size:2rem;
}

.lv-prev{left:20px}
.lv-next{right:20px}

/* Genesis extensions */

.extensions{
  padding:12px 0 80px;
}

.extensions-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.feature{
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(230px,1fr);
  gap:20px;
  align-items:center;
  padding:20px;
  border:1px solid rgba(216,168,78,.24);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(6,16,27,.72),rgba(2,8,14,.92));
  box-shadow:0 22px 64px rgba(0,0,0,.3);
}

.feature-media{
  border:1px solid rgba(216,168,78,.28);
  border-radius:14px;
  overflow:hidden;
  background:#02070d;
}

.feature-media img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  transition:transform .4s ease;
}

.feature:hover .feature-media img{
  transform:scale(1.035);
}

.feature-index{
  color:var(--blue);
  font-size:.7rem;
}

.feature h3{
  margin:8px 0 8px;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:1.16rem;
}

.feature p{
  color:#aeb8c5;
  line-height:1.7;
  margin:0;
  font-size:.9rem;
}

.feature-link{
  display:inline-flex;
  margin-top:16px;
  padding:10px 13px;
  border:1px solid rgba(216,168,78,.32);
  border-radius:8px;
  color:var(--gold-light);
  text-decoration:none;
  font-size:.7rem;
}

/* Archive hub */

.archive-hub{
  padding:58px 0 96px;
}

.archive-hub-hero{
  max-width:820px;
  margin:0 auto 42px;
  text-align:center;
}

.archive-hub-hero .archive-index{
  display:block;
  margin-bottom:10px;
}

.archive-hub-hero h1{
  margin:0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:clamp(2rem,4vw,3.7rem);
}

.archive-hub-hero p{
  margin:18px auto 0;
  max-width:720px;
  color:#abb5c2;
  line-height:1.8;
}

.archive-chapters{
  display:grid;
  gap:12px;
  max-width:1080px;
  margin-inline:auto;
}

.archive-chapter{
  display:grid;
  grid-template-columns:80px minmax(180px,.7fr) 1.3fr auto;
  gap:20px;
  align-items:center;
  min-height:92px;
  padding:16px 18px;
  border:1px solid rgba(216,168,78,.18);
  border-radius:14px;
  background:rgba(3,10,18,.64);
  text-decoration:none;
  transition:.28s ease;
}

.archive-chapter:hover{
  transform:translateX(5px);
  border-color:rgba(243,212,135,.5);
  background:rgba(7,17,29,.75);
}

.archive-chapter .chapter-id{
  color:var(--blue);
  font-size:.72rem;
}

.archive-chapter strong{
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.archive-chapter p{
  margin:0;
  color:#8f9bab;
  line-height:1.6;
  font-size:.88rem;
}

.archive-chapter .chapter-arrow{
  color:var(--gold-light);
  font-size:1.35rem;
}

.archive-manifest{
  max-width:1080px;
  margin:28px auto 0;
  padding:20px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:14px;
  color:#7f8a99;
  background:rgba(2,7,13,.5);
  line-height:1.75;
  font-size:.84rem;
}

@media (max-width:900px){
  .extensions-grid{
    grid-template-columns:1fr;
  }

  .archive-chapter{
    grid-template-columns:70px 1fr auto;
  }

  .archive-chapter p{
    grid-column:2 / 4;
  }
}

@media (max-width:640px){
  .lv-lightbox{
    padding:64px 15px 35px;
  }

  .lv-lightbox-nav{
    top:auto;
    bottom:14px;
    width:54px;
    height:42px;
    transform:none;
  }

  .lv-prev{left:calc(50% - 66px)}
  .lv-next{right:calc(50% - 66px)}

  .feature{
    grid-template-columns:1fr;
  }

  .archive-chapter{
    grid-template-columns:1fr auto;
  }

  .archive-chapter .chapter-id{
    grid-column:1;
  }

  .archive-chapter strong{
    grid-column:1;
  }

  .archive-chapter p{
    grid-column:1 / 3;
  }

  .archive-chapter .chapter-arrow{
    grid-column:2;
    grid-row:1 / 3;
  }
}


/* =========================================================
   STAGE 06 / CHRONOLOGY GENESIS
   ========================================================= */

.chronology-body{
  background:
    radial-gradient(circle at 54% 9%, rgba(118,207,255,.07), transparent 36rem),
    linear-gradient(180deg,#010307,#02070d 42%,#010409);
}

.chronology-main{
  padding-bottom:110px;
}

.chronology-hero{
  position:relative;
  padding:76px 0 54px;
  border-bottom:1px solid rgba(255,255,255,.05);
  overflow:hidden;
}

.chronology-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(216,168,78,.35),rgba(118,207,255,.3),transparent);
}

.chronology-hero-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:60px;
  align-items:end;
}

.chronology-hero h1{
  margin:10px 0 0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:clamp(2.3rem,5vw,5rem);
}

.chronology-lead{
  max-width:720px;
  margin:24px 0 0;
  color:#bbc3cd;
  line-height:1.8;
  font-size:1.03rem;
}

.chronology-note{
  padding:20px;
  border:1px solid rgba(216,168,78,.24);
  border-radius:16px;
  background:rgba(3,10,18,.65);
}

.chronology-note strong{
  display:block;
  color:var(--blue);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  letter-spacing:.1em;
  font-size:1.2rem;
}

.chronology-note>span{
  display:block;
  margin-top:6px;
  color:var(--gold-light);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.chronology-note p{
  margin:15px 0 0;
  color:#8793a3;
  line-height:1.7;
  font-size:.88rem;
}

.chronology-shell{
  padding-top:70px;
}

.chronology-layout{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:52px;
  align-items:start;
}

.chronology-rail{
  position:sticky;
  top:130px;
  display:grid;
  gap:0;
  padding:2px 0;
}

.chronology-progress-track{
  position:absolute;
  left:7px;
  top:10px;
  bottom:10px;
  width:1px;
  background:rgba(255,255,255,.09);
  overflow:hidden;
}

.chronology-progress-track span{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:0%;
  background:linear-gradient(180deg,var(--gold-light),var(--blue));
  box-shadow:0 0 10px rgba(118,207,255,.35);
  transition:height .15s linear;
}

.chrono-dot{
  min-height:60px;
  display:grid;
  grid-template-columns:16px 1fr;
  gap:13px;
  align-items:start;
  color:#6f7b8a;
  text-decoration:none;
  font-size:.78rem;
  letter-spacing:.05em;
  transition:.25s ease;
}

.chrono-dot i{
  position:relative;
  z-index:2;
  width:15px;
  height:15px;
  margin-top:1px;
  border:1px solid #3f4a57;
  border-radius:50%;
  background:#07101a;
  transition:.25s ease;
}

.chrono-dot.active{
  color:var(--gold-light);
}

.chrono-dot.active i{
  border-color:var(--gold-light);
  background:var(--gold-light);
  box-shadow:0 0 16px rgba(243,212,135,.65);
}

.chronology-stream{
  min-width:0;
}

.chrono-step{
  scroll-margin-top:120px;
  min-height:390px;
  display:grid;
  grid-template-columns:66px minmax(250px,.95fr) minmax(280px,1.05fr);
  gap:24px;
  align-items:center;
  padding:28px 0 62px;
  position:relative;
  border-bottom:1px solid rgba(255,255,255,.055);
  opacity:.68;
  transform:translateY(8px);
  transition:opacity .45s ease, transform .45s ease;
}

.chrono-step.is-visible{
  opacity:1;
  transform:translateY(0);
}

.chrono-number{
  align-self:start;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid rgba(216,168,78,.34);
  border-radius:12px;
  color:var(--gold-light);
  font-size:.78rem;
  background:rgba(216,168,78,.025);
}

.chrono-state{
  color:var(--blue);
  font-size:.69rem;
}

.chrono-content h2{
  margin:10px 0 14px;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:clamp(1.55rem,2.7vw,2.6rem);
}

.chrono-content p{
  max-width:590px;
  margin:0;
  color:#abb5c2;
  line-height:1.82;
}

.chrono-open{
  display:inline-flex;
  margin-top:22px;
  padding:10px 13px;
  border:1px solid rgba(216,168,78,.3);
  border-radius:8px;
  color:var(--gold-light);
  text-decoration:none;
  font-size:.69rem;
}

.chrono-media{
  margin:0;
  border:1px solid rgba(216,168,78,.28);
  border-radius:18px;
  overflow:hidden;
  background:#02070d;
  box-shadow:0 22px 60px rgba(0,0,0,.32);
}

.chrono-media img{
  width:100%;
  display:block;
  aspect-ratio:1/1;
  object-fit:cover;
  cursor:zoom-in;
  transition:transform .4s ease, filter .4s ease;
}

.chrono-step:hover .chrono-media img{
  transform:scale(1.028);
  filter:brightness(1.035);
}

.chrono-media-portrait img{
  object-position:center;
}

.chrono-origin{
  min-height:330px;
  grid-template-columns:66px 1fr minmax(220px,.55fr);
}

.chrono-quote{
  margin-top:24px;
  padding:16px 18px;
  border-left:1px solid var(--gold);
  color:#d9d6ce;
  background:linear-gradient(90deg,rgba(216,168,78,.045),transparent);
  font-style:italic;
}

.chrono-origin-symbol{
  width:min(250px,100%);
  aspect-ratio:1;
  margin-inline:auto;
  position:relative;
  border:1px solid rgba(216,168,78,.52);
  border-radius:50%;
  box-shadow:
    inset 0 0 40px rgba(216,168,78,.07),
    0 0 45px rgba(118,207,255,.08);
}

.chrono-origin-symbol::before,
.chrono-origin-symbol::after,
.chrono-origin-symbol span{
  content:"";
  position:absolute;
  border-radius:50%;
}

.chrono-origin-symbol::before{
  inset:13%;
  border:1px solid rgba(118,207,255,.42);
}

.chrono-origin-symbol::after{
  inset:29%;
  border:1px solid rgba(243,212,135,.7);
}

.chrono-origin-symbol span{
  inset:44%;
  background:var(--gold-light);
  box-shadow:
    0 0 14px var(--gold-light),
    0 0 45px rgba(118,207,255,.38);
}

.chrono-origin-symbol i{
  position:absolute;
  left:50%;
  top:-8%;
  width:1px;
  height:116%;
  background:linear-gradient(180deg,transparent,var(--gold-light),transparent);
}

.chronology-transition{
  margin-top:52px;
  padding:42px;
  border:1px solid rgba(216,168,78,.22);
  border-radius:20px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 0%,rgba(118,207,255,.08),transparent 23rem),
    rgba(3,10,18,.65);
}

.chronology-transition>span{
  color:var(--blue);
  font-size:.72rem;
}

.chronology-transition h2{
  margin:13px 0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:clamp(1.5rem,3vw,2.6rem);
}

.chronology-transition p{
  max-width:720px;
  margin:0 auto;
  color:#9faab7;
  line-height:1.78;
}

.chronology-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:26px;
}

.chronology-links a{
  padding:11px 13px;
  border:1px solid rgba(216,168,78,.25);
  border-radius:8px;
  color:#d7d4cc;
  text-decoration:none;
  font-size:.8rem;
}

.chronology-links a:hover{
  color:var(--gold-light);
  border-color:rgba(243,212,135,.55);
}

.chronology-launch{
  padding:16px 0 72px;
}

.chronology-launch-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  padding:24px;
  border:1px solid rgba(216,168,78,.24);
  border-radius:18px;
  background:
    radial-gradient(circle at 90% 50%,rgba(118,207,255,.065),transparent 18rem),
    rgba(3,10,18,.62);
}

.chronology-launch-box span{
  color:var(--blue);
  font-size:.68rem;
}

.chronology-launch-box h2{
  margin:8px 0 0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:1.45rem;
}

.chronology-launch-box p{
  margin:10px 0 0;
  color:#929dab;
  line-height:1.65;
}

.chronology-launch-box a{
  min-width:210px;
  text-align:center;
  padding:13px 16px;
  border:1px solid rgba(216,168,78,.4);
  border-radius:9px;
  color:var(--gold-light);
  text-decoration:none;
  font-size:.72rem;
}

@media(max-width:1000px){
  .chronology-hero-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .chronology-layout{
    grid-template-columns:1fr;
    gap:26px;
  }

  .chronology-rail{
    position:relative;
    top:auto;
    display:flex;
    overflow:auto;
    gap:8px;
    padding-bottom:10px;
  }

  .chronology-progress-track{
    display:none;
  }

  .chrono-dot{
    min-height:auto;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:999px;
  }

  .chrono-dot i{
    width:9px;
    height:9px;
    margin:0;
  }

  .chrono-step,
  .chrono-origin{
    grid-template-columns:58px 1fr;
  }

  .chrono-media,
  .chrono-origin-symbol{
    grid-column:2;
    width:min(560px,100%);
  }
}

@media(max-width:650px){
  .chronology-hero{
    padding-top:48px;
  }

  .chrono-step,
  .chrono-origin{
    grid-template-columns:1fr;
    padding-bottom:44px;
  }

  .chrono-number{
    width:42px;
    height:42px;
  }

  .chrono-media,
  .chrono-origin-symbol{
    grid-column:auto;
  }

  .chronology-transition{
    padding:26px 17px;
  }

  .chronology-launch-box{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   STAGE 07 / METADATA REGISTRY
   ========================================================= */

.artifact-meta-details{
  margin:0 14px 14px;
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:10px;
  color:#8995a5;
}

.artifact-meta-details summary{
  cursor:pointer;
  color:var(--blue);
  font-size:.76rem;
  letter-spacing:.05em;
}

.artifact-meta-details dl{
  display:grid;
  gap:5px;
  margin:12px 0;
}

.artifact-meta-details dl div{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:10px;
  font-size:.78rem;
}

.artifact-meta-details dt{
  color:#667383;
}

.artifact-meta-details dd{
  margin:0;
  color:#b2bbc6;
}

.artifact-meta-details p,
.artifact-meta-details small{
  display:block;
  line-height:1.65;
}

.artifact-meta-details p{
  color:#a7b0bc;
  font-size:.8rem;
}

.artifact-meta-details small{
  color:#707d8d;
}

.metadata-main{
  padding-bottom:110px;
}

.metadata-hero{
  padding:72px 0 50px;
  border-bottom:1px solid rgba(255,255,255,.05);
}

.metadata-hero-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:50px;
  align-items:end;
}

.metadata-hero h1{
  margin:10px 0 0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:clamp(2.2rem,4.5vw,4.5rem);
}

.metadata-hero p{
  max-width:780px;
  margin:20px 0 0;
  color:#abb5c2;
  line-height:1.8;
}

.metadata-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.metadata-summary div{
  padding:18px 12px;
  border:1px solid rgba(216,168,78,.2);
  border-radius:14px;
  text-align:center;
  background:rgba(3,10,18,.62);
}

.metadata-summary strong{
  display:block;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  font-size:1.3rem;
}

.metadata-summary span{
  display:block;
  margin-top:5px;
  color:#748091;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.metadata-registry{
  padding:46px 0 0;
}

.metadata-toolbar{
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) minmax(160px,.8fr) minmax(180px,.9fr) auto auto;
  gap:10px;
  align-items:end;
}

.metadata-toolbar label{
  display:grid;
  gap:7px;
}

.metadata-toolbar label>span{
  color:#788596;
  font-size:.65rem;
}

.metadata-toolbar input,
.metadata-toolbar select{
  width:100%;
  min-height:44px;
  border:1px solid rgba(216,168,78,.2);
  border-radius:9px;
  padding:0 12px;
  color:#dce0e5;
  background:#06101a;
  outline:none;
}

.metadata-toolbar input:focus,
.metadata-toolbar select:focus{
  border-color:rgba(118,207,255,.55);
  box-shadow:0 0 0 3px rgba(118,207,255,.05);
}

.metadata-export{
  min-height:44px;
  display:grid;
  place-items:center;
  padding:0 13px;
  border:1px solid rgba(216,168,78,.28);
  border-radius:9px;
  color:var(--gold-light);
  text-decoration:none;
  font-size:.66rem;
}

.metadata-statusline{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin:14px 2px 24px;
  color:#667383;
  font-size:.78rem;
}

.metadata-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.metadata-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(216,168,78,.22);
  border-radius:17px;
  background:linear-gradient(180deg,rgba(6,16,27,.8),rgba(2,8,14,.95));
  box-shadow:0 18px 54px rgba(0,0,0,.28);
}

.metadata-card-media{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(216,168,78,.15);
}

.metadata-card-media img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  cursor:zoom-in;
  transition:transform .35s ease;
}

.metadata-card:hover .metadata-card-media img{
  transform:scale(1.025);
}

.metadata-id{
  position:absolute;
  left:12px;
  bottom:12px;
  padding:7px 9px;
  border:1px solid rgba(216,168,78,.35);
  border-radius:7px;
  color:var(--gold-light);
  background:rgba(1,5,10,.82);
  backdrop-filter:blur(8px);
  font-size:.62rem;
}

.metadata-card-body{
  padding:18px;
}

.metadata-category{
  color:var(--blue);
  font-size:.62rem;
}

.metadata-card h2{
  margin:8px 0 14px;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  letter-spacing:.045em;
  font-size:1.05rem;
  line-height:1.4;
}

.metadata-core{
  display:grid;
  gap:5px;
  margin:0;
}

.metadata-core div{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:9px;
  font-size:.75rem;
}

.metadata-core dt{
  color:#647182;
}

.metadata-core dd{
  margin:0;
  color:#aab4c0;
}

.metadata-description{
  margin:15px 0 0;
  color:#9ea9b6;
  line-height:1.7;
  font-size:.82rem;
}

.metadata-deep{
  margin-top:15px;
  border-top:1px solid rgba(255,255,255,.055);
  padding-top:11px;
}

.metadata-deep summary{
  cursor:pointer;
  color:#84cfff;
  font-size:.76rem;
}

.metadata-deep-body{
  padding-top:12px;
}

.metadata-deep-body strong{
  display:block;
  margin-top:10px;
  color:#d4d0c7;
  font-size:.76rem;
}

.metadata-deep-body p{
  margin:5px 0 0;
  color:#768394;
  line-height:1.62;
  font-size:.75rem;
}

.metadata-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:12px;
}

.metadata-tags span{
  padding:5px 7px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  color:#7f8b9a;
  font-size:.66rem;
  background:rgba(255,255,255,.018);
}

.metadata-card-link{
  display:inline-flex;
  margin-top:16px;
  padding:9px 11px;
  border:1px solid rgba(216,168,78,.27);
  border-radius:8px;
  color:var(--gold-light);
  text-decoration:none;
  font-size:.63rem;
}

.metadata-empty{
  margin-top:30px;
  padding:35px;
  border:1px dashed rgba(216,168,78,.2);
  border-radius:14px;
  text-align:center;
  color:#748091;
}

.metadata-method{
  margin-top:42px;
  padding:26px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:17px;
  background:rgba(3,10,18,.58);
}

.metadata-method h2{
  margin:0 0 20px;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:1.2rem;
}

.metadata-method-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.metadata-method-grid div{
  padding:15px;
  border-left:1px solid rgba(216,168,78,.22);
}

.metadata-method-grid strong{
  color:var(--blue);
  font-weight:500;
}

.metadata-method-grid p{
  margin:7px 0 0;
  color:#7d8998;
  line-height:1.62;
  font-size:.78rem;
}

.metadata-launch{
  padding:16px 0 72px;
}

.metadata-launch-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  padding:24px;
  border:1px solid rgba(118,207,255,.2);
  border-radius:18px;
  background:
    radial-gradient(circle at 90% 50%,rgba(118,207,255,.07),transparent 18rem),
    rgba(3,10,18,.62);
}

.metadata-launch-box span{
  color:var(--blue);
  font-size:.68rem;
}

.metadata-launch-box h2{
  margin:8px 0 0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:1.42rem;
}

.metadata-launch-box p{
  margin:10px 0 0;
  color:#929dab;
  line-height:1.65;
}

.metadata-launch-box>a{
  min-width:200px;
  padding:13px 16px;
  border:1px solid rgba(216,168,78,.35);
  border-radius:9px;
  color:var(--gold-light);
  text-decoration:none;
  text-align:center;
  font-size:.69rem;
}

/* Dynamic lightbox for registry cards */
.lv-dynamic-lightbox{
  position:fixed;
  inset:0;
  z-index:1001;
  display:grid;
  place-items:center;
  padding:50px;
  background:rgba(0,3,7,.94);
  backdrop-filter:blur(14px);
  opacity:0;
  visibility:hidden;
  transition:.25s ease;
}

.lv-dynamic-lightbox.open{
  opacity:1;
  visibility:visible;
}

.lv-dynamic-lightbox>button{
  position:absolute;
  top:22px;
  right:24px;
  width:44px;
  height:44px;
  border:1px solid rgba(216,168,78,.34);
  border-radius:50%;
  color:var(--gold-light);
  background:rgba(3,9,16,.78);
  font-size:1.6rem;
  cursor:pointer;
}

.lv-dynamic-lightbox figure{
  margin:0;
  max-width:min(1050px,90vw);
  text-align:center;
}

.lv-dynamic-lightbox img{
  max-width:100%;
  max-height:76vh;
  object-fit:contain;
  border:1px solid rgba(216,168,78,.34);
  border-radius:15px;
}

.lv-dynamic-lightbox figcaption{
  padding-top:14px;
}

.lv-dynamic-lightbox strong{
  display:block;
  color:var(--gold-light);
  font-weight:500;
}

.lv-dynamic-lightbox span{
  display:block;
  margin-top:6px;
  color:#7f8b9a;
  font-size:.8rem;
}

@media(max-width:1120px){
  .metadata-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .metadata-toolbar{
    grid-template-columns:1fr 1fr 1fr;
  }

  .metadata-export{
    min-width:100px;
  }

  .metadata-method-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:760px){
  .metadata-hero-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .metadata-toolbar{
    grid-template-columns:1fr;
  }

  .metadata-statusline{
    flex-direction:column;
    gap:5px;
  }

  .metadata-grid{
    grid-template-columns:1fr;
  }

  .metadata-method-grid{
    grid-template-columns:1fr;
  }

  .metadata-launch-box{
    grid-template-columns:1fr;
  }

  .lv-dynamic-lightbox{
    padding:64px 14px 30px;
  }
}


/* =========================================================
   STAGE 08 / SOURCE READER
   ========================================================= */

.source-main{
  padding-bottom:110px;
}

.source-hero{
  padding:72px 0 50px;
  border-bottom:1px solid rgba(255,255,255,.05);
}

.source-hero-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:54px;
  align-items:end;
}

.source-hero h1{
  margin:10px 0 0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:clamp(2.2rem,4.6vw,4.8rem);
}

.source-hero p{
  max-width:780px;
  margin:20px 0 0;
  color:#aeb8c5;
  line-height:1.82;
}

.source-origin-card{
  padding:22px;
  border:1px solid rgba(216,168,78,.24);
  border-radius:17px;
  background:rgba(3,10,18,.64);
}

.source-origin-card>span{
  color:var(--blue);
  font-size:.65rem;
}

.source-origin-card>strong{
  display:block;
  margin:8px 0 15px;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  font-size:1.3rem;
}

.source-origin-card dl{
  display:grid;
  gap:7px;
  margin:0;
}

.source-origin-card dl div{
  display:grid;
  grid-template-columns:90px 1fr;
  gap:10px;
  font-size:.8rem;
}

.source-origin-card dt{
  color:#697686;
}

.source-origin-card dd{
  margin:0;
  color:#b7c0ca;
}

.source-controls-section{
  padding:40px 0 0;
}

.source-privacy-note{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:20px;
  padding:18px 20px;
  border:1px solid rgba(118,207,255,.16);
  border-radius:14px;
  background:rgba(6,18,29,.48);
}

.source-privacy-note strong{
  color:var(--blue);
  font-weight:500;
}

.source-privacy-note p{
  margin:0;
  color:#8190a1;
  line-height:1.65;
  font-size:.83rem;
}

.source-toolbar{
  display:grid;
  grid-template-columns:1.5fr .8fr auto;
  gap:10px;
  align-items:end;
  margin-top:20px;
}

.source-toolbar label{
  display:grid;
  gap:7px;
}

.source-toolbar label>span{
  color:#788596;
  font-size:.65rem;
}

.source-toolbar input,
.source-toolbar select{
  width:100%;
  min-height:44px;
  border:1px solid rgba(216,168,78,.2);
  border-radius:9px;
  padding:0 12px;
  color:#dce0e5;
  background:#06101a;
  outline:none;
}

.source-statusline{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin:14px 2px 26px;
  color:#667383;
  font-size:.78rem;
}

.source-timeline{
  position:relative;
  display:grid;
  gap:20px;
}

.source-timeline::before{
  content:"";
  position:absolute;
  left:25px;
  top:10px;
  bottom:10px;
  width:1px;
  background:linear-gradient(180deg,rgba(216,168,78,.45),rgba(118,207,255,.15),transparent);
}

.source-event{
  position:relative;
  margin-left:56px;
  padding:22px;
  border:1px solid rgba(216,168,78,.2);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(6,16,27,.76),rgba(2,8,14,.93));
  box-shadow:0 18px 52px rgba(0,0,0,.28);
  transition:.28s ease;
}

.source-event::before{
  content:"";
  position:absolute;
  left:-38px;
  top:28px;
  width:11px;
  height:11px;
  border:1px solid var(--gold-light);
  border-radius:50%;
  background:#07111b;
  box-shadow:0 0 12px rgba(243,212,135,.35);
}

.source-event-highlight{
  border-color:rgba(118,207,255,.58);
  box-shadow:
    0 18px 52px rgba(0,0,0,.3),
    0 0 32px rgba(118,207,255,.09);
}

.source-event-header{
  display:flex;
  justify-content:space-between;
  align-items:start;
  gap:20px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.055);
}

.source-event-id{
  color:var(--blue);
  font-size:.62rem;
}

.source-event h2{
  margin:7px 0 0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:1.18rem;
}

.source-event time{
  color:#788596;
  font-size:.78rem;
}

.source-event-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  padding-top:20px;
}

.source-transcript{
  display:grid;
  gap:12px;
}

.source-message{
  padding:16px;
  border-radius:12px;
  background:rgba(255,255,255,.018);
}

.source-message>span{
  font-size:.62rem;
}

.source-user-message{
  border-left:2px solid rgba(118,207,255,.55);
}

.source-user-message>span{
  color:var(--blue);
}

.source-prompt-message{
  border-left:2px solid rgba(216,168,78,.55);
}

.source-prompt-message>span{
  color:var(--gold-light);
}

.source-message p{
  margin:8px 0 0;
  color:#9ea9b7;
  line-height:1.72;
  font-size:.82rem;
}

.source-message details{
  margin-top:11px;
}

.source-message summary,
.source-technical summary{
  cursor:pointer;
  color:#7fbfdf;
  font-size:.75rem;
}

.source-artifacts-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}

.source-artifact{
  position:relative;
  overflow:hidden;
  min-width:0;
  border:1px solid rgba(216,168,78,.2);
  border-radius:12px;
  text-decoration:none;
  background:#030a12;
}

.source-artifact img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}

.source-artifact>span{
  display:block;
  padding:9px 10px 0;
  color:var(--blue);
  font-size:.58rem;
}

.source-artifact>strong{
  display:block;
  padding:6px 10px 12px;
  color:#d5d2ca;
  font-weight:500;
  font-size:.75rem;
  line-height:1.4;
}

.source-technical{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.05);
}

.source-technical-body{
  display:grid;
  gap:7px;
  margin-top:10px;
}

.source-technical-row{
  display:grid;
  grid-template-columns:120px 1fr 1fr;
  gap:9px;
  align-items:start;
  font-size:.7rem;
}

.source-technical-row span{
  color:#687586;
}

.source-technical-row code{
  min-width:0;
  overflow-wrap:anywhere;
  color:#929eac;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
}

.source-launch{
  padding:16px 0 72px;
}

.source-launch-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  padding:24px;
  border:1px solid rgba(118,207,255,.22);
  border-radius:18px;
  background:
    radial-gradient(circle at 90% 50%,rgba(118,207,255,.075),transparent 18rem),
    rgba(3,10,18,.62);
}

.source-launch-box span{
  color:var(--blue);
  font-size:.68rem;
}

.source-launch-box h2{
  margin:8px 0 0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:1.42rem;
}

.source-launch-box p{
  margin:10px 0 0;
  color:#929dab;
  line-height:1.65;
}

.source-launch-box>a{
  min-width:200px;
  padding:13px 16px;
  border:1px solid rgba(216,168,78,.35);
  border-radius:9px;
  color:var(--gold-light);
  text-decoration:none;
  text-align:center;
  font-size:.69rem;
}

.metadata-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.metadata-source-link{
  border-color:rgba(118,207,255,.25);
  color:#92d9ff;
}

@media(max-width:930px){
  .source-hero-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .source-event-grid{
    grid-template-columns:1fr;
  }

  .source-toolbar{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:650px){
  .source-privacy-note{
    grid-template-columns:1fr;
    gap:7px;
  }

  .source-toolbar{
    grid-template-columns:1fr;
  }

  .source-statusline{
    flex-direction:column;
    gap:5px;
  }

  .source-timeline::before{
    left:7px;
  }

  .source-event{
    margin-left:28px;
    padding:16px;
  }

  .source-event::before{
    left:-27px;
  }

  .source-event-header{
    flex-direction:column;
  }

  .source-technical-row{
    grid-template-columns:1fr;
  }

  .source-launch-box{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   STAGE 09 / INTERACTIVE GENESIS MAP
   ========================================================= */

.sr-only{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}

.genesis-map-body{
  overflow:hidden;
}

.map-page-shell{
  min-height:100vh;
}

.map-header{
  position:relative;
  z-index:80;
}

.genesis-map-main{
  height:calc(100vh - 82px);
  min-height:660px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  background:
    radial-gradient(circle at 50% 45%,rgba(118,207,255,.045),transparent 32rem),
    radial-gradient(circle at 50% 50%,rgba(216,168,78,.035),transparent 52rem);
}

.map-commandbar{
  position:relative;
  z-index:60;
  display:grid;
  grid-template-columns:auto minmax(260px,580px) auto;
  gap:18px;
  align-items:center;
  min-height:68px;
  padding:10px clamp(18px,4vw,72px);
  border-top:1px solid rgba(255,255,255,.035);
  border-bottom:1px solid rgba(216,168,78,.12);
  background:rgba(1,6,11,.76);
  backdrop-filter:blur(12px);
}

.map-mode-switch{
  display:flex;
  border:1px solid rgba(216,168,78,.17);
  border-radius:10px;
  overflow:hidden;
  background:rgba(4,12,20,.72);
}

.map-mode-switch button{
  min-height:38px;
  padding:0 13px;
  border:0;
  border-right:1px solid rgba(216,168,78,.1);
  color:#8d98a5;
  background:transparent;
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}

.map-mode-switch button:last-child{border-right:0}
.map-mode-switch button:hover,
.map-mode-switch button.active{
  color:var(--gold-light);
  background:rgba(216,168,78,.055);
  box-shadow:inset 0 -1px 0 rgba(243,212,135,.55);
}

.map-search-wrap{
  position:relative;
  min-width:0;
}

.map-search-icon{
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  color:var(--blue);
  font-size:1.05rem;
  pointer-events:none;
}

#mapSearch{
  width:100%;
  height:40px;
  border:1px solid rgba(118,207,255,.16);
  border-radius:9px;
  padding:0 14px 0 37px;
  color:#dce2e7;
  background:rgba(4,13,22,.78);
  outline:none;
  font:inherit;
  font-size:.82rem;
}

#mapSearch:focus{
  border-color:rgba(118,207,255,.48);
  box-shadow:0 0 0 3px rgba(118,207,255,.045);
}

.map-search-results{
  position:absolute;
  left:0;right:0;top:48px;
  z-index:120;
  max-height:390px;
  overflow:auto;
  border:1px solid rgba(216,168,78,.22);
  border-radius:12px;
  background:rgba(2,8,14,.98);
  box-shadow:0 24px 60px rgba(0,0,0,.62);
}

.map-search-results button{
  width:100%;
  display:grid;
  grid-template-columns:90px 1fr;
  gap:5px 12px;
  padding:11px 13px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.045);
  text-align:left;
  color:#d3d7da;
  background:transparent;
  cursor:pointer;
}

.map-search-results button:hover{background:rgba(118,207,255,.045)}
.map-search-results button span{grid-row:1/3;color:var(--blue);font-size:.58rem}
.map-search-results button strong{font-weight:500;font-size:.78rem}
.map-search-results button small{color:#6f7c8d;font-size:.68rem}
.map-search-none{padding:18px;color:#7a8797;font-size:.78rem}

.map-status{
  display:flex;
  justify-content:flex-end;
  gap:16px;
  white-space:nowrap;
  color:#728092;
  font-size:.59rem;
}

.map-workspace{
  position:relative;
  min-height:0;
  overflow:hidden;
}

.map-canvas-frame{
  position:absolute;
  inset:0;
  cursor:grab;
  user-select:none;
  touch-action:none;
}

.map-canvas-frame.dragging{cursor:grabbing}

.genesis-graph{
  width:100%;
  height:100%;
  display:block;
}

.graph-edge{
  fill:none;
  stroke-width:1.35;
  vector-effect:non-scaling-stroke;
  opacity:.66;
}

.edge-contains{stroke:rgba(216,168,78,.28)}
.edge-derived_from{stroke:rgba(118,207,255,.42);stroke-dasharray:7 7}
.edge-related_to{stroke:rgba(154,129,221,.35);stroke-dasharray:3 8}
.edge-generated_from{stroke:rgba(118,207,255,.42)}
.edge-evolves_into{stroke:rgba(243,212,135,.5);stroke-width:1.7}
.edge-part_of{stroke:rgba(118,207,255,.2);stroke-dasharray:3 6}
.edge-continues_as{stroke:rgba(243,212,135,.62);stroke-width:1.8}

.graph-node{
  cursor:pointer;
  outline:none;
  transition:opacity .2s ease;
}

.graph-node .shape-main{
  fill:rgba(3,12,20,.92);
  stroke:rgba(216,168,78,.64);
  stroke-width:1.35;
  vector-effect:non-scaling-stroke;
}

.graph-node .shape-ring{
  fill:none;
  stroke:rgba(118,207,255,.43);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}

.graph-node .shape-core{
  fill:rgba(243,212,135,.9);
  stroke:rgba(243,212,135,.95);
}

.graph-node .shape-detail{
  fill:none;
  stroke:rgba(118,207,255,.45);
  stroke-width:1;
}

.graph-node-label{
  fill:#e4dfd2;
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-size:13px;
  letter-spacing:.06em;
  pointer-events:none;
}

.graph-node-subtitle{
  fill:#728093;
  font-size:10px;
  letter-spacing:.035em;
  pointer-events:none;
}

.node-core .shape-main{
  stroke:rgba(243,212,135,.86);
  fill:rgba(5,14,23,.94);
}

.node-core .shape-ring{stroke:rgba(118,207,255,.58)}
.node-layer .shape-main{fill:rgba(5,16,27,.9)}
.node-layer .shape-core{fill:rgba(118,207,255,.08);stroke:rgba(118,207,255,.55)}
.node-source .shape-main,.node-source_root .shape-main{stroke:rgba(118,207,255,.62);fill:rgba(4,14,24,.95)}
.node-transition .shape-main{fill:none;stroke:rgba(243,212,135,.68);stroke-width:2}
.node-document .shape-main{stroke:rgba(216,168,78,.7)}
.node-map .shape-main{stroke:rgba(118,207,255,.56)}
.node-seal .shape-main{stroke:rgba(216,168,78,.68)}

.node-thumb{
  opacity:.84;
  filter:saturate(.78) brightness(.88);
  pointer-events:none;
}

.thumb-ring{
  fill:none;
  stroke:rgba(243,212,135,.56);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
  pointer-events:none;
}

.graph-node:hover .shape-main,
.graph-node:focus .shape-main,
.graph-node.selected .shape-main{
  stroke:var(--gold-light);
  filter:url(#softGlow);
}

.graph-node:hover .graph-node-label,
.graph-node.selected .graph-node-label{
  fill:var(--gold-light);
}

.graph-node.selected .thumb-ring{
  stroke:rgba(118,207,255,.88);
  stroke-width:2;
}

.map-filter-panel{
  position:absolute;
  z-index:55;
  left:22px;
  top:22px;
  width:235px;
  border:1px solid rgba(216,168,78,.2);
  border-radius:14px;
  overflow:hidden;
  background:rgba(2,9,15,.88);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 50px rgba(0,0,0,.26);
  transition:width .25s ease;
}

.map-panel-head{
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 12px 0 14px;
  border-bottom:1px solid rgba(255,255,255,.05);
}

.map-panel-head>span{color:var(--gold-light);font-size:.63rem}
.map-panel-head button{
  width:28px;height:28px;
  border:1px solid rgba(216,168,78,.16);
  border-radius:7px;
  color:#9aa6b4;
  background:transparent;
  cursor:pointer;
}

.map-filter-body{padding:13px 14px 15px}
.map-filter-panel.collapsed{width:52px}
.map-filter-panel.collapsed .map-filter-body,
.map-filter-panel.collapsed .map-panel-head>span{display:none}
.map-filter-panel.collapsed .map-panel-head{justify-content:center;padding:0}

.map-filter-panel fieldset{
  margin:0 0 15px;
  padding:0;
  border:0;
}

.map-filter-panel legend{
  margin-bottom:9px;
  color:#6f7d8d;
  font-size:.58rem;
}

.map-filter-panel label{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:27px;
  color:#aab4bf;
  font-size:.74rem;
}

.map-filter-panel input{
  width:13px;height:13px;
  accent-color:#d8a84e;
}

.map-filter-hint{
  padding-top:11px;
  border-top:1px solid rgba(255,255,255,.05);
  color:#667485;
  line-height:1.55;
  font-size:.68rem;
}

.map-tooltip{
  position:absolute;
  z-index:95;
  width:235px;
  padding:10px 12px;
  border:1px solid rgba(216,168,78,.22);
  border-radius:10px;
  pointer-events:none;
  color:#d3d7dc;
  background:rgba(1,7,12,.96);
  box-shadow:0 16px 42px rgba(0,0,0,.46);
}

.map-tooltip span{display:block;color:var(--blue);font-size:.56rem}
.map-tooltip strong{display:block;margin-top:5px;font-weight:500;font-size:.78rem}
.map-tooltip small{display:block;margin-top:4px;color:#6d7989;font-size:.66rem}

.map-inspector{
  position:absolute;
  z-index:58;
  top:22px;
  right:22px;
  bottom:22px;
  width:min(380px,calc(100vw - 44px));
  transform:translateX(calc(100% + 35px));
  border:1px solid rgba(216,168,78,.22);
  border-radius:16px;
  background:rgba(2,9,15,.95);
  backdrop-filter:blur(14px);
  box-shadow:0 24px 70px rgba(0,0,0,.52);
  transition:transform .32s ease;
  overflow:auto;
}

.map-inspector.open{transform:translateX(0)}

.map-inspector-close{
  position:sticky;
  top:12px;
  z-index:2;
  float:right;
  margin:12px 12px 0 0;
  width:34px;height:34px;
  border:1px solid rgba(216,168,78,.22);
  border-radius:50%;
  color:var(--gold-light);
  background:rgba(4,13,22,.9);
  cursor:pointer;
}

.map-inspector-content{padding:26px 24px 28px}
.map-inspector-placeholder{padding-top:34px}
.map-inspector-placeholder>span,.inspector-kicker{color:var(--blue);font-size:.62rem}
.map-inspector h2,.map-inspector-placeholder strong{
  display:block;
  margin:10px 0 15px;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  font-size:1.45rem;
  line-height:1.28;
}

.map-inspector p{
  color:#8f9cac;
  line-height:1.7;
  font-size:.82rem;
}

.inspector-image{
  width:100%;
  display:block;
  margin:15px 0 18px;
  aspect-ratio:1/1;
  object-fit:cover;
  border:1px solid rgba(216,168,78,.22);
  border-radius:12px;
}

.inspector-dl{
  display:grid;
  gap:7px;
  margin:0 0 16px;
}

.inspector-dl div{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:10px;
  font-size:.76rem;
}

.inspector-dl dt{color:#657282}
.inspector-dl dd{margin:0;color:#abb5c1}
.inspector-stat{
  margin:10px 0 18px;
  color:var(--gold-light);
  font-size:2.3rem;
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
}
.inspector-stat span{display:block;color:#6b7888;font-size:.7rem;text-transform:uppercase;letter-spacing:.09em}
.inspector-section-title{display:block;margin-top:16px;color:#d4d0c7;font-size:.78rem;font-weight:500}
.inspector-relations{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.inspector-relations span{padding:5px 7px;border:1px solid rgba(255,255,255,.07);border-radius:999px;color:#778596;font-size:.65rem}
.inspector-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.inspector-actions a,.inspector-actions button{
  padding:9px 10px;
  border:1px solid rgba(216,168,78,.27);
  border-radius:8px;
  color:var(--gold-light);
  background:transparent;
  text-decoration:none;
  font:inherit;
  font-size:.69rem;
  cursor:pointer;
}

.map-minimap{
  position:absolute;
  z-index:45;
  left:22px;
  bottom:20px;
  width:220px;
  height:130px;
  border:1px solid rgba(216,168,78,.15);
  border-radius:10px;
  overflow:hidden;
  background:rgba(2,9,15,.76);
  backdrop-filter:blur(8px);
}

.map-minimap svg{width:100%;height:100%;display:block}
.mini-node{fill:rgba(216,168,78,.55)}
.mini-source,.mini-source_root{fill:rgba(118,207,255,.55)}
.mini-core{fill:var(--gold-light)}
.mini-node.selected{fill:#fff;filter:url(#softGlow)}
#minimapViewport{
  fill:rgba(118,207,255,.025);
  stroke:rgba(118,207,255,.46);
  stroke-width:1;
}

.map-zoom-controls{
  position:absolute;
  z-index:46;
  right:22px;
  bottom:20px;
  display:grid;
  gap:6px;
}

.map-zoom-controls button{
  width:40px;height:40px;
  border:1px solid rgba(216,168,78,.22);
  border-radius:9px;
  color:var(--gold-light);
  background:rgba(2,9,15,.84);
  backdrop-filter:blur(8px);
  cursor:pointer;
  font-size:1rem;
}

.map-empty-state{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  text-align:center;
  color:#8693a3;
}
.map-empty-state strong{display:block;color:var(--gold-light);font-weight:500}
.map-empty-state span{display:block;margin-top:7px;font-size:.78rem}

.map-footerbar{
  min-height:36px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:0 clamp(18px,4vw,72px);
  border-top:1px solid rgba(216,168,78,.1);
  color:#5f6d7d;
  background:rgba(1,6,11,.78);
  font-size:.67rem;
}

.map-footerbar a{color:#9f8a59;text-decoration:none}

.map-mobile-tree{display:none}

@media(max-width:1180px){
  .genesis-map-main{height:calc(100vh - 145px)}
  .map-commandbar{
    grid-template-columns:1fr 1fr;
  }
  .map-status{grid-column:1/-1;justify-content:space-between}
}

@media(max-width:820px){
  .genesis-map-body{overflow:auto}
  .genesis-map-main{height:auto;min-height:0;display:block}
  .map-commandbar{
    position:sticky;
    top:0;
    grid-template-columns:1fr;
    gap:8px;
    padding:10px 11px;
  }
  .map-mode-switch{overflow:auto}
  .map-mode-switch button{flex:1;min-width:max-content}
  .map-status{display:none}
  .map-workspace{overflow:visible}
  .map-canvas-frame,.map-filter-panel,.map-minimap,.map-zoom-controls{display:none}
  .map-mobile-tree{display:grid;gap:10px;padding:15px 11px 90px}
  .mobile-core-card,.mobile-present-card,.mobile-layer{
    border:1px solid rgba(216,168,78,.18);
    border-radius:14px;
    background:rgba(3,10,18,.72);
  }
  .mobile-core-card,.mobile-present-card{padding:19px}
  .mobile-core-card>span{display:block;color:var(--blue);font-size:.6rem}
  .mobile-core-card>strong{display:block;margin-top:7px;color:var(--gold-light);font-family:"Cinzel","Trajan Pro",Georgia,serif;font-weight:500;font-size:1.25rem}
  .mobile-core-card>small,.mobile-present-card small{display:block;margin-top:5px;color:#6f7c8d}
  .mobile-present-card span{color:var(--gold-light);font-family:"Cinzel","Trajan Pro",Georgia,serif}
  .mobile-layer{overflow:hidden}
  .mobile-layer summary{
    display:grid;
    grid-template-columns:18px 1fr;
    gap:10px;
    align-items:center;
    padding:15px;
    list-style:none;
    cursor:pointer;
  }
  .mobile-layer summary::-webkit-details-marker{display:none}
  .mobile-layer-mark{width:14px;height:14px;border:1px solid var(--gold);transform:rotate(45deg)}
  .mobile-layer summary strong{display:block;color:#d9d6ce;font-weight:500}
  .mobile-layer summary small{display:block;margin-top:3px;color:#687585;font-size:.68rem}
  .mobile-artifacts{display:grid;gap:1px;border-top:1px solid rgba(255,255,255,.05)}
  .mobile-artifacts button{
    display:grid;
    grid-template-columns:58px 1fr;
    gap:11px;
    align-items:center;
    padding:9px 12px;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.04);
    color:#c9cdd1;
    text-align:left;
    background:rgba(255,255,255,.012);
  }
  .mobile-artifacts img{width:58px;height:58px;object-fit:cover;border-radius:8px}
  .mobile-artifacts strong{display:block;color:var(--blue);font-size:.63rem;font-weight:500}
  .mobile-artifacts small{display:block;margin-top:4px;color:#8f9baa;line-height:1.35}
  .map-inspector{
    position:fixed;
    z-index:200;
    top:auto;left:10px;right:10px;bottom:10px;
    width:auto;max-height:78vh;
    transform:translateY(calc(100% + 24px));
  }
  .map-inspector.open{transform:translateY(0)}
  .map-footerbar{display:none}
}

@media(max-width:560px){
  .map-commandbar{padding:8px}
  #mapSearch{height:38px}
  .map-mode-switch button{padding:0 10px;font-size:.56rem}
}


/* =========================================================
   STAGE 10 / GENESIS → PRESENT BRIDGE
   ========================================================= */

.present-body{
  background:
    radial-gradient(circle at 76% 38%,rgba(118,207,255,.055),transparent 34rem),
    radial-gradient(circle at 28% 48%,rgba(216,168,78,.04),transparent 38rem),
    #01050a;
}

.present-main{padding-bottom:96px}

.present-hero{
  padding:68px 0 42px;
  border-bottom:1px solid rgba(255,255,255,.045);
}

.present-hero>.shell{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:50px;
  align-items:end;
}

.present-copy h1{
  margin:10px 0 0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:clamp(2.4rem,5vw,5.2rem);
}

.present-copy h1 span{color:var(--blue);font-weight:400}

.present-copy p{
  max-width:760px;
  margin:20px 0 0;
  color:#aeb8c5;
  line-height:1.82;
}

.present-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.present-summary div{
  padding:18px 12px;
  border:1px solid rgba(216,168,78,.19);
  border-radius:14px;
  text-align:center;
  background:rgba(3,10,18,.6);
}

.present-summary strong{
  display:block;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  font-size:1.45rem;
}

.present-summary span{
  display:block;
  margin-top:5px;
  color:#6e7b8b;
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.bridge-section{padding:38px 0 34px}
.bridge-shell{position:relative}

.bridge-stage{
  min-height:590px;
  position:relative;
  display:grid;
  grid-template-columns:120px 1fr 120px;
  gap:12px;
  align-items:center;
  border:1px solid rgba(216,168,78,.18);
  border-radius:22px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(216,168,78,.035),transparent 35%,transparent 65%,rgba(118,207,255,.035)),
    rgba(2,8,14,.72);
  box-shadow:0 24px 80px rgba(0,0,0,.32);
}

.bridge-stage::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 49.8%,rgba(216,168,78,.06) 50%,transparent 50.2%),
    radial-gradient(circle at 50% 50%,rgba(243,212,135,.025),transparent 21rem);
}

.bridge-side{
  position:relative;
  z-index:3;
  text-align:center;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}

.bridge-side-label{color:#728092;font-size:.58rem}
.bridge-side strong{
  display:block;
  margin:9px 0;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  letter-spacing:.08em;
  font-size:1.1rem;
}
.bridge-side small{color:#5d6978;font-size:.65rem}
.bridge-present-side{opacity:.34;transition:opacity .7s ease,filter .7s ease}
.bridge-stage.bridge-open .bridge-present-side{opacity:1;filter:drop-shadow(0 0 14px rgba(118,207,255,.16))}
.bridge-stage.bridge-open .bridge-present-side strong{color:#aee4ff}

.bridge-canvas{
  min-width:0;
  min-height:540px;
  position:relative;
  display:grid;
  place-items:center;
}

.bridge-svg{width:100%;height:520px;display:block;overflow:visible}

.bridge-feed-line{
  fill:none;
  stroke:rgba(216,168,78,.16);
  stroke-width:1.3;
  vector-effect:non-scaling-stroke;
  transition:stroke .35s ease,filter .35s ease,opacity .35s ease;
}
.bridge-feed-line.preview{stroke:rgba(118,207,255,.6)}
.bridge-feed-line.active{
  stroke:url(#bridgeLine);
  stroke-width:2;
  filter:url(#bridgeGlow);
}

.bridge-layer-node{cursor:pointer;outline:none}
.bridge-layer-ring{
  fill:rgba(3,12,20,.94);
  stroke:rgba(216,168,78,.52);
  stroke-width:1.2;
  transition:.35s ease;
}
.bridge-layer-core{fill:rgba(243,212,135,.72);transition:.35s ease}
.bridge-layer-code{
  fill:#7a8797;
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-size:10px;
  letter-spacing:.08em;
}
.bridge-layer-node.preview .bridge-layer-ring,
.bridge-layer-node:focus .bridge-layer-ring{stroke:var(--blue);filter:url(#bridgeGlow)}
.bridge-layer-node.active .bridge-layer-ring{stroke:var(--gold-light);filter:url(#bridgeGlow)}
.bridge-layer-node.active .bridge-layer-core{fill:#fff;filter:url(#bridgeGlow)}

.bridge-gate-outer,.bridge-gate-inner{
  fill:none;
  stroke:rgba(216,168,78,.3);
  transition:stroke .55s ease,filter .55s ease,transform .55s ease;
  transform-origin:center;
}
.bridge-gate-outer{stroke-width:1.5}
.bridge-gate-inner{stroke:rgba(118,207,255,.25);stroke-width:1}
.bridge-gate-core{fill:rgba(216,168,78,.45);transition:.6s ease}
.bridge-gate-axis{stroke:rgba(216,168,78,.22);stroke-width:1}
.bridge-svg-label{fill:#798698;font-family:"Cinzel","Trajan Pro",Georgia,serif;font-size:11px;letter-spacing:.15em}
.bridge-stage.bridge-crossing .bridge-gate-outer{animation:bridgeGateSpin 4s linear infinite}
.bridge-stage.bridge-crossing .bridge-gate-inner{animation:bridgeGateSpinReverse 5s linear infinite}
.bridge-stage.bridge-open .bridge-gate-outer{stroke:rgba(243,212,135,.9);filter:url(#bridgeGlow)}
.bridge-stage.bridge-open .bridge-gate-inner{stroke:rgba(118,207,255,.74);filter:url(#bridgeGlow)}
.bridge-stage.bridge-open .bridge-gate-core{fill:#fff;filter:url(#bridgeGlow)}

.bridge-path-base,.bridge-path-light{
  fill:none;
  vector-effect:non-scaling-stroke;
}
.bridge-path-base{stroke:rgba(118,207,255,.08);stroke-width:12}
.bridge-path-light{
  stroke:rgba(118,207,255,.14);
  stroke-width:2;
  stroke-dasharray:12 10;
  opacity:.25;
  transition:opacity .7s ease;
}
.bridge-path circle{fill:rgba(118,207,255,.2);transition:.4s ease}
.bridge-stage.bridge-open .bridge-path-light{
  stroke:url(#bridgeLine);
  opacity:1;
  animation:bridgeDash 1.8s linear infinite;
  filter:url(#bridgeGlow);
}
.bridge-stage.bridge-open .bridge-path circle{fill:#aee4ff;filter:url(#bridgeGlow)}

.bridge-start{
  position:absolute;
  left:50%;
  bottom:25px;
  transform:translateX(-50%);
  min-width:210px;
  padding:12px 16px;
  border:1px solid rgba(216,168,78,.45);
  border-radius:9px;
  color:var(--gold-light);
  background:rgba(3,11,19,.9);
  cursor:pointer;
}
.bridge-start:hover{border-color:var(--gold-light);box-shadow:0 0 24px rgba(216,168,78,.08)}
.bridge-start:disabled{opacity:.55;cursor:wait}

.bridge-reset{
  position:absolute;
  right:18px;
  bottom:20px;
  padding:8px 9px;
  border:1px solid rgba(118,207,255,.16);
  border-radius:7px;
  color:#7994a5;
  background:transparent;
  cursor:pointer;
  font-size:.58rem;
}

.bridge-message{
  position:absolute;
  left:22px;
  right:22px;
  top:18px;
  text-align:center;
  color:#697686;
  font-size:.76rem;
  letter-spacing:.02em;
}
.bridge-stage.bridge-open .bridge-message{color:#9bcce6}

.bridge-legend{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
  margin-top:10px;
}
.bridge-legend-item{
  min-width:0;
  display:grid;
  grid-template-columns:12px 1fr;
  gap:8px;
  align-items:center;
  padding:10px;
  border:1px solid rgba(216,168,78,.12);
  border-radius:9px;
  color:#9ba6b3;
  text-align:left;
  background:rgba(3,10,18,.45);
  cursor:pointer;
}
.bridge-legend-dot{width:9px;height:9px;border:1px solid var(--gold);border-radius:50%}
.bridge-legend-item strong{display:block;font-weight:500;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bridge-legend-item small{display:block;margin-top:3px;color:#667384;font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bridge-legend-item.preview,.bridge-legend-item.active{border-color:rgba(118,207,255,.36);color:#c9d5dd}
.bridge-legend-item.active .bridge-legend-dot{background:var(--gold-light);box-shadow:0 0 10px rgba(243,212,135,.45)}

.present-destinations{
  padding:52px 0 72px;
  opacity:.42;
  filter:saturate(.65);
  transition:opacity .75s ease,filter .75s ease;
}
.present-destinations.revealed{opacity:1;filter:none}
.present-section-heading{max-width:770px}

.present-destination-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:28px;
}

.present-destination{
  position:relative;
  min-height:280px;
  padding:24px;
  border:1px solid rgba(216,168,78,.22);
  border-radius:17px;
  color:inherit;
  text-decoration:none;
  background:linear-gradient(180deg,rgba(6,16,27,.74),rgba(2,8,14,.93));
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.present-destination.live:hover{
  transform:translateY(-4px);
  border-color:rgba(243,212,135,.5);
  box-shadow:0 22px 54px rgba(0,0,0,.3),0 0 30px rgba(118,207,255,.045);
}
.present-destination.reserved{opacity:.58;border-style:dashed}
.destination-status{color:var(--blue);font-size:.58rem}
.present-destination h3{
  margin:20px 0 10px;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  font-size:1.28rem;
}
.present-destination p{color:#8995a4;line-height:1.7;font-size:.83rem}
.destination-open{position:absolute;left:24px;bottom:22px;color:#9f8a59;font-size:.61rem}

.destination-mark{
  width:58px;height:58px;
  position:absolute;
  top:22px;right:22px;
  border:1px solid rgba(216,168,78,.45);
  border-radius:50%;
}
.destination-mark::before,.destination-mark::after,.destination-mark span{
  content:"";position:absolute;border-radius:50%;border:1px solid rgba(118,207,255,.35)
}
.destination-mark::before{inset:9px}
.destination-mark::after{inset:18px;border-color:rgba(243,212,135,.6)}
.destination-mark span{inset:25px;background:var(--gold-light);border:0;box-shadow:0 0 10px rgba(243,212,135,.45)}
.destination-core-mark{border-radius:14px;transform:rotate(45deg)}
.destination-future-mark{opacity:.4;filter:grayscale(1)}

.bridge-continuity{padding:20px 0 20px}
.bridge-continuity-grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:34px;
  align-items:center;
  padding:24px;
  border-top:1px solid rgba(255,255,255,.055);
  border-bottom:1px solid rgba(255,255,255,.055);
}
.bridge-continuity span{color:var(--blue);font-size:.62rem}
.bridge-continuity h2{
  margin:8px 0 9px;
  color:var(--gold-light);
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:1.3rem;
}
.bridge-continuity p{max-width:800px;margin:0;color:#8390a0;line-height:1.7}
.bridge-continuity code{color:#9ccce4}
.bridge-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.bridge-actions a{padding:10px 12px;border:1px solid rgba(216,168,78,.22);border-radius:8px;color:#cbc8c0;text-decoration:none;font-size:.73rem}

@keyframes bridgeGateSpin{to{transform:rotate(360deg)}}
@keyframes bridgeGateSpinReverse{to{transform:rotate(-360deg)}}
@keyframes bridgeDash{to{stroke-dashoffset:-44}}

@media(max-width:1050px){
  .present-hero>.shell{grid-template-columns:1fr;gap:28px}
  .bridge-stage{grid-template-columns:72px 1fr 72px}
  .bridge-legend{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:760px){
  .present-hero{padding-top:48px}
  .present-summary{grid-template-columns:repeat(3,1fr)}
  .bridge-stage{min-height:520px;display:block;padding:42px 0 22px}
  .bridge-side{display:none}
  .bridge-canvas{min-height:450px}
  .bridge-svg{height:430px}
  .bridge-message{top:10px}
  .bridge-legend{grid-template-columns:repeat(2,1fr)}
  .present-destination-grid{grid-template-columns:1fr}
  .present-destination{min-height:240px}
  .bridge-continuity-grid{grid-template-columns:1fr}
  .bridge-actions{justify-content:flex-start}
}

@media(max-width:520px){
  .present-summary{gap:6px}
  .present-summary div{padding:13px 7px}
  .bridge-section{padding-top:20px}
  .bridge-shell{width:100%}
  .bridge-stage{border-left:0;border-right:0;border-radius:0}
  .bridge-legend{padding-inline:11px}
}

.mobile-present-card{text-decoration:none;color:inherit}


/* =========================================================
   STAGE 11 / MUSEUM MODE
   ========================================================= */
.museum-body{overflow:hidden;background:#010409;color:#d8dde2}
.museum-body #starfield{opacity:.7}
.museum-app{position:relative;z-index:2;height:100vh;display:grid;grid-template-rows:72px 42px 1fr 70px;background:radial-gradient(circle at 50% 48%,rgba(118,207,255,.035),transparent 33rem)}
.museum-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:0 clamp(18px,4vw,68px);border-bottom:1px solid rgba(216,168,78,.12);background:rgba(1,6,11,.76);backdrop-filter:blur(12px)}
.museum-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.museum-brand>span:last-child{display:grid;gap:3px}.museum-brand strong{color:var(--gold-light);font-weight:500;font-size:.75rem;letter-spacing:.12em}.museum-brand small{color:#697687;font-size:.55rem;letter-spacing:.1em}
.museum-top-status{display:flex;gap:18px;color:#7d8997;font-size:.6rem}.museum-top-status span:first-child{color:var(--blue)}
.museum-top-actions{justify-self:end;display:flex;gap:8px}.museum-top-actions button,.museum-top-actions a{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(216,168,78,.18);border-radius:9px;color:#9eabb8;background:rgba(3,11,18,.7);cursor:pointer}.museum-top-actions svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.museum-progress{display:flex;align-items:center;justify-content:center;gap:0;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.045);background:rgba(2,7,13,.58)}.museum-progress button{position:relative;width:min(72px,8vw);height:42px;border:0;background:transparent;color:#546170;cursor:pointer}.museum-progress button::before{content:"";position:absolute;left:0;right:0;top:15px;height:1px;background:rgba(216,168,78,.12)}.museum-progress button span{position:absolute;z-index:1;left:50%;top:11px;width:9px;height:9px;transform:translateX(-50%) rotate(45deg);border:1px solid rgba(216,168,78,.42);background:#07101a}.museum-progress button small{position:absolute;left:50%;bottom:2px;transform:translateX(-50%);font-size:.52rem}.museum-progress button.active{color:var(--gold-light)}.museum-progress button.active span{background:var(--gold-light);border-color:var(--gold-light);box-shadow:0 0 14px rgba(243,212,135,.55)}
.museum-viewport{position:relative;min-height:0;overflow:hidden}.museum-ambient{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}.museum-ambient-a{width:460px;height:460px;left:18%;top:18%;background:rgba(216,168,78,.025)}.museum-ambient-b{width:560px;height:560px;right:12%;bottom:4%;background:rgba(118,207,255,.025)}
.museum-scene{position:relative;height:100%;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(380px,1.35fr) minmax(280px,.72fr);gap:clamp(24px,4vw,66px);align-items:center;padding:clamp(28px,5vh,70px) clamp(26px,5vw,90px)}.museum-scene.scene-enter{animation:museumSceneIn .52s ease both}@keyframes museumSceneIn{from{opacity:.28;transform:translateY(8px)}to{opacity:1;transform:none}}
.museum-scene-copy{align-self:center}.museum-scene-number{color:var(--blue);font-size:.68rem}.museum-scene-copy h1{margin:12px 0 8px;color:var(--gold-light);font-family:"Cinzel","Trajan Pro",Georgia,serif;font-weight:500;text-transform:uppercase;letter-spacing:.075em;font-size:clamp(2rem,4vw,4.2rem);line-height:1.05}.museum-subtitle{margin:0 0 22px;color:#8dcceb;font-size:.66rem;letter-spacing:.1em}.museum-description{max-width:520px;margin:0;color:#9ca7b4;line-height:1.82;font-size:.9rem}.museum-scene-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.museum-scene-actions a,.museum-scene-actions button{padding:10px 12px;border:1px solid rgba(216,168,78,.28);border-radius:8px;color:var(--gold-light);background:rgba(3,11,18,.42);text-decoration:none;font:inherit;font-size:.7rem;cursor:pointer}.museum-scene-actions .museum-primary-action{border-color:rgba(118,207,255,.35);color:#9ee0ff}
.museum-exhibit{min-width:0;display:grid;place-items:center;perspective:1200px}.museum-artifact-frame{width:min(540px,100%);margin:0;position:relative;border:1px solid rgba(216,168,78,.26);border-radius:18px;overflow:hidden;background:#02070d;box-shadow:0 32px 90px rgba(0,0,0,.46),0 0 54px rgba(118,207,255,.035)}.museum-artifact-frame::before{content:"";position:absolute;inset:12px;border:1px solid rgba(243,212,135,.13);border-radius:12px;z-index:1;pointer-events:none}.museum-artifact-frame img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;filter:saturate(.9) brightness(.92)}.museum-artifact-frame figcaption{position:absolute;left:0;right:0;bottom:0;padding:52px 20px 18px;background:linear-gradient(transparent,rgba(0,4,8,.92));display:grid;gap:5px}.museum-artifact-frame figcaption span{color:var(--blue);font-size:.58rem}.museum-artifact-frame figcaption strong{color:#e5dfd2;font-weight:500;font-size:.83rem}
.museum-plaque{align-self:center;padding:22px;border-left:1px solid rgba(216,168,78,.25);background:linear-gradient(90deg,rgba(216,168,78,.025),transparent)}.museum-plaque>span{color:var(--blue);font-size:.59rem}.museum-plaque h2{margin:9px 0 17px;color:var(--gold-light);font-family:"Cinzel","Trajan Pro",Georgia,serif;font-weight:500;font-size:1.25rem;line-height:1.35}.museum-plaque dl{display:grid;gap:7px;margin:0}.museum-plaque dl div{display:grid;grid-template-columns:85px 1fr;gap:10px;font-size:.74rem}.museum-plaque dt{color:#657282}.museum-plaque dd{margin:0;color:#aeb7c1}.museum-plaque p{margin:17px 0 0;color:#7f8b99;line-height:1.7;font-size:.78rem}.museum-plaque small{display:block;margin-top:11px;color:#637181;line-height:1.55}
.museum-origin-symbol{position:relative;width:min(430px,80%);aspect-ratio:1;border:1px solid rgba(216,168,78,.52);border-radius:50%;box-shadow:inset 0 0 60px rgba(216,168,78,.04),0 0 64px rgba(118,207,255,.035)}.museum-origin-symbol::before,.museum-origin-symbol::after,.museum-origin-symbol span,.museum-origin-symbol b{content:"";position:absolute;border-radius:50%}.museum-origin-symbol::before{inset:13%;border:1px solid rgba(118,207,255,.38)}.museum-origin-symbol::after{inset:28%;border:1px solid rgba(243,212,135,.62)}.museum-origin-symbol span{inset:42%;border:1px solid rgba(118,207,255,.65)}.museum-origin-symbol b{inset:47%;background:var(--gold-light);box-shadow:0 0 20px var(--gold-light),0 0 60px rgba(118,207,255,.28)}.museum-origin-symbol i,.museum-origin-symbol em{position:absolute;left:50%;top:-7%;width:1px;height:114%;background:linear-gradient(transparent,var(--gold-light),transparent)}.museum-origin-symbol em{top:50%;left:-7%;width:114%;height:1px}.museum-origin-symbol{animation:museumPulse 7s ease-in-out infinite}@keyframes museumPulse{50%{box-shadow:inset 0 0 70px rgba(216,168,78,.065),0 0 75px rgba(118,207,255,.06)}}
.museum-source-network{position:relative;width:min(520px,90%);aspect-ratio:1}.source-network-core{position:absolute;left:50%;top:50%;width:150px;height:150px;transform:translate(-50%,-50%);display:grid;place-items:center;align-content:center;border:1px solid rgba(118,207,255,.45);border-radius:50%;background:rgba(3,13,22,.8);box-shadow:0 0 40px rgba(118,207,255,.05)}.source-network-core span{color:var(--gold-light);font-family:"Cinzel",Georgia,serif;font-size:2.6rem}.source-network-core small{color:#6f7c8b;font-size:.66rem}.museum-source-network button{--a:calc(var(--i)*51.43deg);position:absolute;left:50%;top:50%;width:72px;height:72px;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-205px) rotate(calc(-1*var(--a)));border:1px solid rgba(216,168,78,.28);border-radius:50%;color:var(--blue);background:rgba(3,12,20,.9);cursor:pointer;font-size:.58rem}.museum-source-network button::before{content:"";position:absolute;left:50%;top:50%;width:1px;height:135px;transform:translate(-50%,0) rotate(180deg);transform-origin:top;background:linear-gradient(rgba(118,207,255,.25),transparent);z-index:-1}
.museum-graph{width:min(600px,100%);height:auto}.museum-graph path{fill:none;stroke:rgba(216,168,78,.26);stroke-width:1}.museum-graph-source-line{stroke:rgba(118,207,255,.42)!important;stroke-dasharray:5 7}.museum-graph-present-line{stroke:rgba(243,212,135,.48)!important}.museum-graph circle,.museum-graph rect{fill:rgba(3,12,20,.93);stroke:rgba(216,168,78,.62);stroke-width:1.3}.museum-graph text{fill:#dcd7ca;font-family:"Cinzel",Georgia,serif;font-size:11px;text-anchor:middle}.museum-graph-core circle:last-of-type{stroke:rgba(118,207,255,.46)}.museum-graph-terminal.source rect{stroke:rgba(118,207,255,.6)}.museum-graph-terminal.present path{stroke:rgba(243,212,135,.7);stroke-width:2}
.museum-bridge{width:min(650px,100%);display:grid;grid-template-columns:120px 1fr 120px 1fr 120px;align-items:center}.museum-bridge-origin,.museum-bridge-destination{display:grid;place-items:center;gap:5px;width:110px;height:110px;border:1px solid rgba(216,168,78,.35);border-radius:50%;background:rgba(3,12,20,.8)}.museum-bridge-origin span,.museum-bridge-destination span{color:#778493;font-size:.59rem}.museum-bridge-origin strong,.museum-bridge-destination strong{color:var(--gold-light);font-family:"Cinzel",Georgia,serif}.museum-bridge-line{height:1px;display:flex;justify-content:space-between;background:linear-gradient(90deg,rgba(216,168,78,.25),rgba(118,207,255,.6))}.museum-bridge-line i{width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 9px rgba(243,212,135,.45)}.museum-bridge-gate{position:relative;width:104px;height:104px;margin:auto;border:1px solid rgba(118,207,255,.5);border-radius:50%;box-shadow:0 0 36px rgba(118,207,255,.05)}.museum-bridge-gate span,.museum-bridge-gate b{position:absolute;border-radius:50%}.museum-bridge-gate span{inset:15px;border:1px solid rgba(216,168,78,.62)}.museum-bridge-gate b{inset:44px;background:var(--gold-light);box-shadow:0 0 18px var(--gold-light)}.museum-bridge.is-open .museum-bridge-gate{box-shadow:0 0 50px rgba(118,207,255,.16)}
.museum-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:0 clamp(18px,4vw,68px);border-top:1px solid rgba(216,168,78,.1);background:rgba(1,6,11,.78)}.museum-controls>button{display:flex;align-items:center;gap:9px;width:max-content;padding:9px 13px;border:1px solid rgba(216,168,78,.2);border-radius:9px;color:#c8c4ba;background:rgba(3,11,18,.68);cursor:pointer}.museum-controls>button:last-child{justify-self:end}.museum-controls>button:disabled{opacity:.25;cursor:default}.museum-controls svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}.museum-control-center{display:flex;align-items:center;gap:15px;color:#5f6c7c;font-size:.58rem}.museum-control-center button{padding:7px 10px;border:1px solid rgba(118,207,255,.18);border-radius:8px;color:#7ebbd9;background:transparent;cursor:pointer;font-size:.57rem}.museum-control-center button.active{color:var(--gold-light);border-color:rgba(216,168,78,.35)}
.museum-source-drawer{position:fixed;z-index:400;top:0;right:0;bottom:0;width:min(480px,94vw);padding:60px 30px 30px;transform:translateX(105%);overflow:auto;border-left:1px solid rgba(216,168,78,.24);background:rgba(2,8,14,.98);box-shadow:-30px 0 80px rgba(0,0,0,.55);transition:transform .3s ease}.museum-source-drawer.open{transform:none}.museum-source-drawer>button{position:absolute;right:18px;top:18px;width:36px;height:36px;border:1px solid rgba(216,168,78,.22);border-radius:50%;color:var(--gold-light);background:transparent;font-size:1.2rem}.museum-source-drawer span{color:var(--blue);font-size:.62rem}.museum-source-drawer h2{margin:10px 0;color:var(--gold-light);font-family:"Cinzel",Georgia,serif;font-weight:500}.museum-source-drawer time{color:#697686;font-size:.72rem}.museum-source-drawer section{margin-top:25px}.museum-source-drawer section strong{color:#d2cec5;font-weight:500;font-size:.8rem}.museum-source-drawer p{color:#8794a4;line-height:1.72;font-size:.8rem}.museum-source-drawer a{display:inline-flex;margin-top:20px;padding:9px 11px;border:1px solid rgba(216,168,78,.28);border-radius:8px;color:var(--gold-light);text-decoration:none;font-size:.7rem}
@media(max-width:1100px){.museum-scene{grid-template-columns:minmax(230px,.7fr) minmax(330px,1fr);gap:34px}.museum-plaque{grid-column:1/-1;display:grid;grid-template-columns:180px 1fr;gap:15px 30px;align-items:start;padding:16px 0;border-left:0;border-top:1px solid rgba(216,168,78,.18)}.museum-plaque>span,.museum-plaque h2{grid-column:1}.museum-plaque dl,.museum-plaque p,.museum-plaque small{grid-column:2}.museum-plaque h2{margin:5px 0}.museum-plaque p{margin:0}.museum-controls{grid-template-columns:1fr 1fr}.museum-control-center{display:none}}
@media(max-width:760px){.museum-body{overflow:auto}.museum-app{height:auto;min-height:100vh;grid-template-rows:64px 38px auto 64px}.museum-topbar{grid-template-columns:1fr auto;padding:0 12px}.museum-top-status{display:none}.museum-brand small{display:none}.museum-progress{overflow:auto;justify-content:flex-start;padding:0 10px}.museum-progress button{flex:0 0 48px}.museum-scene{min-height:calc(100vh - 166px);grid-template-columns:1fr;gap:24px;padding:28px 16px 34px}.museum-scene-copy{text-align:center}.museum-description{margin-inline:auto}.museum-scene-actions{justify-content:center}.museum-exhibit{order:2}.museum-plaque{order:3;display:block;padding:18px;border:1px solid rgba(216,168,78,.16);border-radius:13px;background:rgba(3,10,18,.62)}.museum-plaque dl,.museum-plaque p,.museum-plaque small{grid-column:auto}.museum-origin-symbol{width:min(320px,82vw)}.museum-source-network{width:min(340px,82vw)}.museum-source-network button{width:58px;height:58px;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-140px) rotate(calc(-1*var(--a)))}.museum-bridge{grid-template-columns:76px 1fr 78px 1fr 76px}.museum-bridge-origin,.museum-bridge-destination{width:72px;height:72px}.museum-bridge-gate{width:72px;height:72px}.museum-bridge-gate span{inset:10px}.museum-bridge-gate b{inset:30px}.museum-controls{position:sticky;bottom:0;z-index:90;padding:0 10px;background:rgba(1,6,11,.94)}.museum-controls>button{padding:8px 10px}.museum-controls>button span{font-size:.7rem}.museum-source-drawer{padding:58px 18px 24px}}
@media(prefers-reduced-motion:reduce){.museum-scene.scene-enter,.museum-origin-symbol{animation:none}.museum-source-drawer{transition:none}}


/* ETAP 11 / narracja kuratorska */
.museum-curator-note{
  max-width:620px;
  margin:18px 0 0;
  padding:13px 0 13px 17px;
  border-left:1px solid rgba(118,207,255,.32);
  background:linear-gradient(90deg,rgba(118,207,255,.028),transparent 78%);
}
.museum-curator-note>span{
  display:block;
  color:var(--blue);
  font-size:.56rem;
  letter-spacing:.11em;
}
.museum-curator-note p{
  margin:7px 0 0;
  color:#9ba6b3;
  line-height:1.72;
  font-size:.79rem;
  font-style:italic;
}
@media(max-width:760px){
  .museum-curator-note{
    margin:16px auto 0;
    padding:12px 14px;
    border-left:0;
    border-top:1px solid rgba(118,207,255,.24);
    text-align:left;
    background:linear-gradient(180deg,rgba(118,207,255,.026),transparent);
  }
}


/* =========================================================
   ETAP 11 / SOURCE CURATORIAL COMMENTARY
   ========================================================= */
.source-curator-message{
  position:relative;
  border-left:2px solid rgba(118,207,255,.36);
  background:
    linear-gradient(90deg,rgba(118,207,255,.035),transparent 74%),
    rgba(255,255,255,.012);
}
.source-curator-message::after{
  content:"";
  position:absolute;
  left:-2px;
  top:14px;
  width:2px;
  height:22px;
  background:rgba(243,212,135,.7);
  box-shadow:0 0 9px rgba(243,212,135,.18);
}
.source-curator-message>span{color:var(--blue)}
.source-curator-message p{color:#aab4c0}
.source-curator-message small{
  display:block;
  margin-top:10px;
  color:#687687;
  font-size:.68rem;
  line-height:1.5;
}
.museum-source-curator{
  border-left:1px solid rgba(118,207,255,.42)!important;
  background:linear-gradient(90deg,rgba(118,207,255,.035),transparent)!important;
}
.museum-source-curator strong{color:var(--blue)!important}
.museum-source-curator small{
  display:block;
  margin-top:8px;
  color:#697687;
  font-size:.68rem;
}


/* =========================================================
   ETAP 11 / SOURCE — filtr 6 warstw Genesis
   ========================================================= */

.source-layer-filter{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin-top:13px;
  padding:10px 12px;
  border:1px solid rgba(118,207,255,.12);
  border-radius:11px;
  background:rgba(4,13,22,.42);
}

.source-layer-filter-label{
  color:#6f8092;
  font-size:.61rem;
  white-space:nowrap;
}

.source-layer-filter-buttons{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:5px;
  min-width:0;
}

.source-layer-button{
  min-width:0;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:6px 7px;
  border:1px solid rgba(216,168,78,.13);
  border-radius:7px;
  color:#8996a5;
  background:rgba(2,9,15,.48);
  font:inherit;
  cursor:pointer;
  transition:
    border-color .2s ease,
    color .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}

.source-layer-button span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.66rem;
}

.source-layer-button small{
  flex:0 0 auto;
  color:#586777;
  font-size:.59rem;
}

.source-layer-button:hover{
  color:#c8d0d8;
  border-color:rgba(118,207,255,.27);
}

.source-layer-button.active{
  color:var(--gold-light);
  border-color:rgba(216,168,78,.42);
  background:rgba(216,168,78,.045);
  box-shadow:
    inset 0 -1px 0 rgba(243,212,135,.42),
    0 0 16px rgba(216,168,78,.035);
}

.source-layer-button.active small{
  color:var(--blue);
}

@media(max-width:1180px){
  .source-layer-filter{
    grid-template-columns:1fr;
    gap:8px;
  }

  .source-layer-filter-buttons{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .source-layer-filter{
    margin-top:10px;
    padding:9px;
  }

  .source-layer-filter-buttons{
    display:flex;
    overflow-x:auto;
    gap:6px;
    padding-bottom:2px;
    scrollbar-width:thin;
    scroll-snap-type:x proximity;
  }

  .source-layer-button{
    flex:0 0 auto;
    min-width:118px;
    scroll-snap-align:start;
  }
}


/* =========================================================
   ETAP 11 / SOURCE — filtr łączony: warstwa × typ wpisu
   ========================================================= */

.source-toolbar{
  grid-template-columns:minmax(260px,1.55fr) minmax(170px,.72fr) minmax(210px,.88fr) auto;
}

.source-event-type{
  display:inline-block;
  margin-top:6px;
  color:#718091;
  font-size:.66rem;
  letter-spacing:.025em;
}

@media(max-width:1080px){
  .source-toolbar{
    grid-template-columns:1fr 1fr;
  }

  .source-toolbar .metadata-export{
    justify-self:start;
  }
}

@media(max-width:650px){
  .source-toolbar{
    grid-template-columns:1fr;
  }

  .source-toolbar .metadata-export{
    width:100%;
    justify-self:stretch;
  }
}

/* =========================================================
   FINAL PUBLICATION / header fit on standard desktop widths
   ========================================================= */
@media (max-width:1750px) and (min-width:1501px){
  .header-inner{gap:18px}
  .main-nav{gap:clamp(10px,1.05vw,17px)}
  .main-nav a{font-size:.68rem;letter-spacing:.075em}
  .header-project{padding:9px 11px;font-size:.64rem}
}

@media (max-width:1500px) and (min-width:1181px){
  .header-inner{
    grid-template-columns:auto auto;
    gap:18px 26px;
    padding-top:8px;
  }
  .header-project{justify-self:end}
  .main-nav{
    order:3;
    grid-column:1/-1;
    justify-content:flex-start;
    gap:22px;
    padding-bottom:14px;
    overflow-x:auto;
    scrollbar-width:thin;
  }
  .main-nav a{font-size:.72rem}
  .main-nav a::after{bottom:-13px}
}
