/* history.css */
.hist-hero { position:relative;z-index:1;min-height:100svh;display:flex;align-items:center;padding:calc(var(--hh)+3rem) 0 5rem;overflow:hidden; }
.hist-hero-bg { position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding-right:2rem;opacity:.38;pointer-events:none; }
@media(min-width:1024px){.hist-hero-bg{opacity:.52}}
.cel-map { width:min(700px,100vw);height:auto;animation:cel-spin 120s linear infinite; }
@keyframes cel-spin{to{transform:rotate(360deg)}}
.hist-hero-content { position:relative;z-index:2;max-width:680px; }
.hist-hero h1 { font-family:var(--f-display);font-size:clamp(2rem,6vw,4.5rem);font-weight:900;line-height:1.08;color:#fff;margin:1.25rem 0; }
.hist-hero-sub { font-family:var(--f-serif);font-style:italic;font-size:clamp(.9rem,2vw,1.05rem);color:var(--c-sub);line-height:1.9;max-width:560px;margin-bottom:1.5rem; }
.hist-meta { display:flex;flex-wrap:wrap;gap:1rem;font-size:.78rem;color:var(--c-muted); }

.chapters-nav { position:relative;z-index:1;background:rgba(20,0,36,.6);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);padding:.75rem 0; }
.chapters-scroll { display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0;scrollbar-width:none; }
.chapters-scroll::-webkit-scrollbar { display:none; }
.ch-pill { flex-shrink:0;background:rgba(40,0,80,.4);border:1px solid rgba(192,0,255,.2);color:var(--c-sub);padding:.3rem .85rem;border-radius:var(--r-full);font-size:.75rem;font-weight:600;transition:all var(--t); }
.ch-pill:hover { background:rgba(192,0,255,.18);border-color:var(--c-neon);color:#fff;box-shadow:var(--glow-sm); }

.hist-main { position:relative;z-index:1;padding:4rem 0; }

.hist-chapter { padding:3.5rem 0; }
.hist-chapter-inner { display:grid;grid-template-columns:1fr;gap:3rem;align-items:center; }
@media(min-width:900px){.hist-chapter-inner{grid-template-columns:1fr 1fr;}.hist-chapter-inner.reverse .hist-text{order:2}.hist-chapter-inner.reverse .hist-art{order:1}}

.ch-badge { display:inline-block;background:rgba(192,0,255,.12);border:1px solid rgba(192,0,255,.3);color:rgba(192,0,255,.85);padding:.25rem .85rem;border-radius:var(--r-full);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.85rem; }
.hist-text h2 { font-family:var(--f-display);font-size:clamp(1.3rem,3vw,1.9rem);font-weight:700;background:linear-gradient(135deg,#fff,var(--c-pur-200));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:.75rem 0 1.1rem;line-height:1.2; }
.hist-text h2 small { display:block;font-size:.55em;font-weight:400;font-style:italic;-webkit-text-fill-color:var(--c-muted);background:none;margin-top:.3rem;letter-spacing:.02em; }
.hist-text p { font-family:var(--f-serif);font-size:.93rem;color:var(--c-sub);line-height:1.9;margin-bottom:1rem; }
.hist-text p strong { color:var(--c-text);font-weight:600; }
.hist-text p em { color:var(--c-pur-200);font-style:italic; }

.hist-quote { border-left:3px solid var(--c-neon);padding:1rem 1.5rem;margin:1.5rem 0;background:rgba(192,0,255,.05);border-radius:0 var(--r-sm) var(--r-sm) 0;position:relative; }
.hist-quote::before { content:'"';position:absolute;top:-10px;left:12px;font-size:3rem;color:rgba(192,0,255,.28);font-family:var(--f-serif);line-height:1; }
.hist-quote p { font-family:var(--f-serif);font-style:italic;font-size:.95rem;color:var(--c-pur-100);margin:0;line-height:1.8; }

.fact-box { background:rgba(40,0,80,.28);border:1px solid rgba(192,0,255,.22);border-radius:var(--r-md);padding:1.2rem 1.4rem;margin:1.4rem 0; }
.fb-title { font-weight:700;font-size:.82rem;color:var(--c-neon);margin-bottom:.9rem;letter-spacing:.05em; }
.fb-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:.45rem; }
.fb-grid span { font-size:.76rem;color:var(--c-sub);background:rgba(192,0,255,.07);padding:.28rem .6rem;border-radius:var(--r-sm);border:1px solid rgba(192,0,255,.1); }

.hist-art { display:flex;flex-direction:column;gap:.75rem; }
.hist-svg { width:100%;height:auto;border-radius:var(--r-md);border:1px solid rgba(192,0,255,.18);box-shadow:0 0 40px rgba(192,0,255,.07),0 8px 32px rgba(0,0,0,.4); }
.hist-caption { font-size:.76rem;color:var(--c-muted);font-style:italic;line-height:1.6;text-align:center;font-family:var(--f-serif);padding:0 .5rem; }

.ch-divider { padding:.75rem 0;display:flex;align-items:center;gap:1rem; }
.ch-divider::before,.ch-divider::after { content:'';flex:1;height:1px;background:rgba(192,0,255,.2); }
.ch-divider span { color:rgba(192,0,255,.5);font-size:1.1rem; }

/* Timeline */
.hist-timeline-section { padding:4rem 0; }
.timeline { position:relative;padding:1rem 0; }
.timeline::before { content:'';position:absolute;left:115px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,rgba(192,0,255,.4),rgba(192,0,255,.4),transparent); }
@media(max-width:580px){.timeline::before{left:16px}}
.tl-item { display:grid;grid-template-columns:115px 18px 1fr;gap:0 1.2rem;margin-bottom:1.6rem;align-items:start;opacity:0;transform:translateX(-18px);transition:opacity .5s ease,transform .5s ease; }
.tl-item.in { opacity:1;transform:none; }
@media(max-width:580px){.tl-item{grid-template-columns:18px 1fr}.tl-date{display:none}}
.tl-date { text-align:right;font-size:.68rem;font-weight:700;color:var(--c-neon);padding-top:.9rem;letter-spacing:.03em;font-family:var(--f-display);white-space:nowrap; }
.tl-dot { width:12px;height:12px;border-radius:50%;background:var(--c-neon);border:2px solid var(--c-bg);box-shadow:var(--glow-sm);margin-top:.95rem;flex-shrink:0; }
.tl-card { background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);padding:.95rem 1.2rem;transition:all var(--t); }
.tl-card:hover { border-color:rgba(192,0,255,.35);box-shadow:0 4px 20px rgba(192,0,255,.08); }
.tl-icon { font-size:1.25rem;margin-bottom:.35rem; }
.tl-card h3 { font-family:var(--f-display);font-size:.82rem;color:var(--c-text);margin-bottom:.35rem; }
.tl-card p { font-size:.78rem;color:var(--c-muted);line-height:1.7;margin:0; }

/* 12 Signs origins */
.signs-origin-section { padding:4rem 0; }
.signs-orig-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:1.2rem; }
.so-card { background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);padding:1.4rem;transition:all var(--t);position:relative;overflow:hidden; }
.so-card::before { content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--c-neon),transparent);opacity:0;transition:opacity var(--t); }
.so-card:hover { border-color:rgba(192,0,255,.4);transform:translateY(-3px);box-shadow:0 8px 28px rgba(192,0,255,.1); }
.so-card:hover::before { opacity:1; }
.so-sym { font-size:2.2rem;margin-bottom:.45rem;filter:drop-shadow(0 0 8px rgba(192,0,255,.5)); }
.so-name { font-family:var(--f-display);font-size:.84rem;color:var(--c-text);margin-bottom:.28rem; }
.so-src { font-size:.7rem;color:rgba(192,0,255,.68);margin-bottom:.7rem;font-style:italic; }
.so-card p { font-size:.8rem;color:var(--c-muted);line-height:1.75;margin:0;font-family:var(--f-serif); }

/* Conclusion */
.hist-conclusion { padding:4rem 0; }
.conclusion-card { background:linear-gradient(135deg,rgba(40,0,80,.28),rgba(20,0,32,.45));border:1px solid rgba(192,0,255,.22);border-radius:var(--r-xl);padding:3rem 2.5rem;max-width:840px;margin:0 auto;box-shadow:0 0 60px rgba(192,0,255,.06);position:relative;overflow:hidden; }
.conclusion-card::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(192,0,255,.05),transparent 60%);pointer-events:none; }
.conclusion-card h2 { font-family:var(--f-display);font-size:clamp(1.4rem,3.5vw,2.2rem);background:linear-gradient(135deg,#fff,var(--c-pur-200));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:1rem 0 2rem;line-height:1.2; }
.conclusion-card p { font-family:var(--f-serif);font-size:.93rem;color:var(--c-sub);line-height:1.9;margin-bottom:1.2rem;position:relative;z-index:1; }

.related-nav { padding:3rem 0 2rem; }
.related-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem; }

@media(max-width:480px){.hist-chapter{padding:2rem 0}.conclusion-card{padding:2rem 1.2rem}.signs-orig-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cel-map{animation:none}.tl-item{opacity:1;transform:none;transition:none}}
