#ge-editions{
  --ge-ink-950:#0b0d12;
  --ge-line: rgba(255,255,255,.08);
  --ge-red:#c6402e;
  --ge-gold:#c9a227;
  --ge-slate:#8b8f9c;
  --ge-white:#f6f4ef;
  --ge-serif:"Playfair Display", Georgia, serif;
  --ge-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --ge-mono:"Inter", sans-serif;

  background: radial-gradient(120% 140% at 15% 0%, #191c26 0%, var(--ge-ink-950) 55%);
  color: var(--ge-white);
  font-family: var(--ge-sans);
  padding: clamp(28px, 5vw, 64px) clamp(16px, 5vw, 56px) clamp(48px, 6vw, 80px);
  box-sizing: border-box;
}
#ge-editions *{ box-sizing:border-box; }

/* ---------- Tabs ---------- */
#ge-editions .ge-tabs{
  display:flex; gap:6px; overflow-x:auto; scrollbar-width:none;
  border-bottom: 1px solid var(--ge-line);
  margin-bottom: clamp(24px, 4vw, 44px);
}
#ge-editions .ge-tabs::-webkit-scrollbar{ display:none; }
#ge-editions .ge-tab{
  appearance:none; background:none; border:none;
  color: var(--ge-slate); font-family: var(--ge-sans); font-weight:600;
  font-size:14px; letter-spacing:.02em; padding:14px 20px; white-space:nowrap;
  cursor:pointer; position:relative; transition:color .25s ease; flex:0 0 auto;
}
#ge-editions .ge-tab .code{
  font-family: var(--ge-mono); font-size:10px; color: var(--ge-gold);
  display:block; margin-bottom:4px; letter-spacing:.12em; opacity:.8;
}
#ge-editions .ge-tab:hover{ color: var(--ge-white); }
#ge-editions .ge-tab::after{
  content:""; position:absolute; left:20px; right:20px; bottom:-1px; height:2px;
  background: var(--ge-red); transform:scaleX(0); transform-origin:left; transition:transform .3s ease;
}
#ge-editions .ge-tab[aria-selected="true"]{ color: var(--ge-white); }
#ge-editions .ge-tab[aria-selected="true"]::after{ transform:scaleX(1); }

/* ---------- Body: left text / right slider ---------- */
#ge-editions .ge-body{
  display:grid;
  grid-template-columns: minmax(240px, 360px) 1fr;
  gap: clamp(24px, 4vw, 56px);
  align-items:center;
}
#ge-editions .ge-intro .eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--ge-mono);
  font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ge-gold); margin-bottom:18px;
}
#ge-editions .ge-intro .eyebrow::before{ content:""; width:16px; height:1px; background:var(--ge-gold); display:inline-block; }
#ge-editions .ge-intro h2{
  font-family:var(--ge-serif); font-weight:600; font-size:clamp(28px,3.2vw,42px); line-height:1.05; margin:0 0 16px;
}
#ge-editions .ge-intro p{ color:#c7cad3; font-size:15.5px; line-height:1.65; margin:0; max-width:46ch; }
#ge-editions .ge-fade{ transition:opacity .3s ease; }

/* ---------- Coverflow stage ---------- */
#ge-editions .ge-stage-wrap{ position:relative; min-width:0; }
#ge-editions .ge-stage{ position:relative; height: clamp(260px, 30vw, 360px); width:100%; }

#ge-editions .ge-cover{
  position:absolute; top:50%; left:50%;
  width: clamp(100px, 15vw, 168px);
  aspect-ratio: 3/4;
  border-radius:8px; overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  box-shadow: 0 14px 30px rgba(0,0,0,.4);
  cursor:pointer;
  will-change: transform, opacity;
  transition: transform .55s cubic-bezier(.22,.9,.32,1), opacity .5s ease, filter .5s ease;
}
#ge-editions .ge-cover img{
  width:100%; height:100%; object-fit:cover; display:block; pointer-events:none;
}
#ge-editions .ge-cover.is-active{ box-shadow: 0 34px 60px rgba(0,0,0,.6), 0 0 0 1px var(--ge-gold); }

#ge-editions .ge-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:36px; height:36px; border-radius:50%; border:1px solid var(--ge-line);
  background: rgba(18,20,28,.75); color:var(--ge-white); font-size:17px; line-height:1;
  cursor:pointer; z-index:20; display:flex; align-items:center; justify-content:center;
  transition: background .2s ease, border-color .2s ease;
}
#ge-editions .ge-nav:hover{ background: rgba(255,255,255,.12); border-color:var(--ge-gold); }
#ge-editions .ge-nav.prev{ left:0; }
#ge-editions .ge-nav.next{ right:0; }

#ge-editions .ge-dots{ display:flex; justify-content:center; gap:6px; margin-top:14px; }
#ge-editions .ge-dots button{
  width:6px; height:6px; border-radius:50%; border:none; padding:0; cursor:pointer;
  background: var(--ge-slate); opacity:.5; transition: opacity .25s ease, background .25s ease, width .25s ease;
}
#ge-editions .ge-dots button.is-active{ background: var(--ge-gold); opacity:1; width:16px; border-radius:3px; }

/* ---------- Responsive ---------- */
@media (max-width: 900px){
  #ge-editions .ge-body{ grid-template-columns: 1fr; }
  #ge-editions .ge-intro{ text-align:center; margin-bottom: 8px; }
  #ge-editions .ge-intro p{ margin-left:auto; margin-right:auto; }
  #ge-editions .ge-intro .eyebrow{ justify-content:center; }
  #ge-editions .ge-stage{ height: clamp(240px, 65vw, 320px); }
}
@media (max-width: 560px){
  #ge-editions .ge-nav{ width:30px; height:30px; font-size:15px; }
}
