/* ============================================================
   EGYPT HISTORY UNSCRIPTED — shared design system
   ============================================================ */
:root{
  --charcoal:#151514; --charcoal-2:#1b1a18; --panel:#1e1c19;
  --ivory:#F2EBDD; --ivory-dim:#cfc6b5;
  --sandstone:#C9A773; --nile:#173B34; --oxide:#853B30;
  --sepia:#A68158; --gold:#B6924A; --navy:#26384A; --filmblue:#667987;
  --parchment:#e7ddc7;
  --line:rgba(198,167,115,.20);
  --serif:"Fraunces",Georgia,serif;
  --sans:"Inter",system-ui,sans-serif;
  --ar-serif:"Amiri",serif; --ar-sans:"IBM Plex Sans Arabic",sans-serif;
  --edge:clamp(18px,4.5vw,72px);
  --maxw:1480px;
  --ease:cubic-bezier(.19,1,.22,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{background:var(--charcoal);color:var(--ivory);font-family:var(--sans);line-height:1.6;overflow-x:hidden;cursor:none}
@media (max-width:900px){body{cursor:auto}}
html[dir="rtl"] body{font-family:var(--ar-sans)}
html[dir="rtl"] .serif{font-family:var(--ar-serif)}
::selection{background:var(--oxide);color:var(--ivory)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:none;border:none;background:none;color:inherit}
@media (max-width:900px){button{cursor:pointer}}
.serif{font-family:var(--serif)}
.caps{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;font-weight:500}
.wrap{max-width:var(--maxw);margin:0 auto;padding:clamp(56px,8vh,110px) var(--edge)}

/* overlays */
.grain{position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 7s steps(5) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-4%)}75%{transform:translate(-2%,3%)}100%{transform:translate(0,0)}}
.vignette{position:fixed;inset:0;z-index:8999;pointer-events:none;box-shadow:inset 0 0 220px 40px rgba(0,0,0,.5)}
.cursor,.cursor-dot{position:fixed;top:0;left:0;z-index:9500;pointer-events:none;border-radius:50%;will-change:transform;mix-blend-mode:difference}
.cursor{width:36px;height:36px;border:1px solid var(--ivory);margin:-18px 0 0 -18px;transition:width .3s var(--ease),height .3s var(--ease),background .3s,opacity .3s;transform:translate3d(-100px,-100px,0)}
.cursor-dot{width:5px;height:5px;background:var(--ivory);margin:-2.5px 0 0 -2.5px;transform:translate3d(-100px,-100px,0)}
.cursor.grow{width:66px;height:66px;background:rgba(242,235,221,.12);border-color:transparent}
.cursor.hide{opacity:0}
@media (max-width:900px){.cursor,.cursor-dot{display:none}}
.proto{position:fixed;bottom:12px;left:12px;z-index:8800;font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sepia);border:1px solid var(--line);padding:5px 11px;border-radius:40px;background:rgba(15,14,13,.7);backdrop-filter:blur(8px)}

/* loader */
.loader{position:fixed;inset:0;z-index:10000;background:var(--charcoal);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.6rem}
.loader__mark{font-family:var(--serif);font-weight:300;font-size:clamp(1.1rem,3vw,1.8rem);letter-spacing:.04em;text-align:center;line-height:1.2;opacity:0}
.loader__mark b{font-weight:600;font-style:italic;color:var(--sandstone)}
.loader__bar{width:min(60vw,300px);height:1px;background:rgba(242,235,221,.14);position:relative;overflow:hidden}
.loader__bar i{position:absolute;inset:0;left:-100%;background:linear-gradient(90deg,transparent,var(--sandstone),var(--gold))}
.loader__pct{font-size:.66rem;letter-spacing:.3em;color:var(--sepia)}

/* header */
header.site{position:fixed;top:0;left:0;width:100%;z-index:800;padding:15px var(--edge);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;transition:background .5s var(--ease),padding .4s var(--ease),border-color .5s;border-bottom:1px solid transparent}
header.site.scrolled{padding:9px var(--edge);background:rgba(16,15,14,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;flex-direction:column;line-height:.92;letter-spacing:.16em}
.brand b{font-family:var(--serif);font-weight:600;font-size:.96rem;color:var(--ivory)}
.brand b span{color:var(--sandstone)}
.brand em{font-style:normal;font-size:.48rem;letter-spacing:.42em;color:var(--sepia);margin-top:4px}
nav.primary{display:flex;gap:20px;align-items:center;flex:1;justify-content:center}
nav.primary a{font-size:.76rem;color:var(--ivory-dim);position:relative;padding:4px 0;white-space:nowrap;transition:color .3s}
nav.primary a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--gold);transition:width .4s var(--ease)}
nav.primary a:hover{color:var(--ivory)} nav.primary a:hover::after{width:100%}
nav.primary a.active{color:var(--ivory)} nav.primary a.active::after{width:100%;background:var(--sandstone)}
.header-tools{display:flex;align-items:center;gap:14px}
.icon-btn{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.35s var(--ease)}
.icon-btn:hover{border-color:var(--sandstone);background:var(--sandstone);color:var(--charcoal)}
.icon-btn svg{width:14px;height:14px}
.lang{display:flex;align-items:center;gap:6px;font-size:.72rem;letter-spacing:.06em}
.lang button{color:var(--ivory-dim);transition:.3s;padding:2px 3px}
.lang button.on{color:var(--gold)} .lang .sep{opacity:.3}
.burger{display:none;flex-direction:column;gap:5px;width:24px;z-index:810}
.burger span{height:1.5px;background:var(--ivory);width:100%;transition:.3s}
@media (max-width:1180px){nav.primary{display:none} .burger{display:flex}}
/* mobile menu */
.mmenu{position:fixed;inset:0;z-index:805;background:rgba(13,12,11,.97);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.mmenu.open{opacity:1;pointer-events:auto}
.mmenu a{font-family:var(--serif);font-size:clamp(1.3rem,4vw,2rem);color:var(--ivory-dim);padding:6px 0;transition:.3s}
.mmenu a:hover{color:var(--sandstone)}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 26px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;border-radius:2px;overflow:hidden;transition:color .4s var(--ease)}
.btn svg{width:13px;height:13px;transition:transform .4s var(--ease)}
.btn-primary{background:var(--sandstone);color:var(--charcoal)}
.btn-primary::before{content:"";position:absolute;inset:0;background:var(--ivory);transform:translateY(101%);transition:transform .5s var(--ease);z-index:-1}
.btn-primary:hover::before{transform:translateY(0)} .btn-primary:hover svg{transform:translateX(4px)}
.btn-ghost{border:1px solid rgba(242,235,221,.4);color:var(--ivory)}
.btn-ghost::before{content:"";position:absolute;inset:0;background:rgba(242,235,221,.09);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);z-index:-1}
.btn-ghost:hover::before{transform:scaleX(1)}
html[dir=rtl] .btn-ghost::before{transform-origin:right}
.link-more{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.08em;color:var(--sandstone);white-space:nowrap}
.link-more:hover{color:var(--ivory)}

/* reveals */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.sec-title{text-align:center;font-family:var(--serif);font-weight:400;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(1.1rem,2.1vw,1.5rem);color:var(--ivory)}
.recon-tag{position:absolute;z-index:5;display:inline-flex;align-items:center;gap:6px;font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory-dim);background:rgba(15,14,13,.5);backdrop-filter:blur(5px);border:1px solid var(--line);padding:5px 9px;border-radius:2px;pointer-events:none}
.recon-tag i{width:5px;height:5px;border-radius:50%;background:var(--sandstone)}

/* ---------- inner page hero ---------- */
.page-hero{position:relative;min-height:52vh;display:flex;align-items:flex-end;overflow:hidden;padding:140px var(--edge) clamp(40px,6vh,72px);border-bottom:1px solid var(--line)}
.page-hero__bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;transform:scale(1.05);animation:phdrift 26s ease-in-out infinite alternate}
@keyframes phdrift{to{transform:scale(1.12)}}
.page-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(13,12,11,.55),rgba(13,12,11,.35) 40%,rgba(13,12,11,.92))}
.page-hero__in{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;width:100%}
.page-hero .eyebrow{display:flex;align-items:center;gap:12px;color:var(--sandstone);margin-bottom:18px}
.page-hero .eyebrow .rule{width:38px;height:1px;background:var(--sandstone)}
.page-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,5.5vw,4.4rem);line-height:1;letter-spacing:-.015em;max-width:18ch}
.page-hero h1 em{font-style:italic;color:var(--sandstone)}
.page-hero p{max-width:56ch;margin-top:20px;color:var(--ivory-dim);font-weight:300;font-size:1.02rem}

/* ---------- footer ---------- */
footer.site{background:#0b0a09;border-top:1px solid var(--line);padding:clamp(52px,7vh,88px) var(--edge) 32px}
.foot-top{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:34px}
@media (max-width:900px){.foot-top{grid-template-columns:1fr 1fr}}
.foot-brand b{font-family:var(--serif);font-weight:500;font-size:1.3rem;display:block;margin-bottom:12px;letter-spacing:.06em}
.foot-brand p{color:var(--sepia);font-style:italic;font-family:var(--serif);font-weight:300;max-width:34ch;line-height:1.5}
.foot-col h5{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sandstone);margin-bottom:15px}
.foot-col a{display:block;color:var(--ivory-dim);font-size:.83rem;padding:5px 0;font-weight:300;transition:.3s}
.foot-col a:hover{color:var(--ivory);padding-left:5px}
html[dir=rtl] .foot-col a:hover{padding-left:0;padding-right:5px}
.foot-social{display:flex;gap:10px;margin-top:14px}
.foot-social a{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.35s}
.foot-social a:hover{background:var(--sandstone);color:var(--charcoal)}
.foot-social svg{width:13px;height:13px}
.foot-bottom{max-width:var(--maxw);margin:42px auto 0;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;font-size:.72rem;color:var(--sepia)}

/* ===================== HOME ===================== */
/* hero filmstrip */
.hero{position:relative;height:100svh;min-height:620px;overflow:hidden;background:#0d0c0b}
.strip{position:absolute;inset:0;display:flex;z-index:0}
.panel{position:relative;flex:1 1 0;overflow:hidden;border-right:1px solid rgba(0,0,0,.45);transition:flex-grow .7s var(--ease)}
.panel__img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);will-change:transform;transition:transform 1s var(--ease),filter .6s var(--ease);filter:saturate(.85) brightness(.82)}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,12,11,.22),rgba(13,12,11,.5));transition:opacity .6s var(--ease)}
/* hover-expand accordion */
.strip:hover .panel{flex-grow:.72}
.strip .panel:hover{flex-grow:2.4}
.panel:hover .panel__img{transform:scale(1.14);filter:saturate(1.05) brightness(1)}
.panel:hover::after{opacity:.4}
.panel__cap{position:absolute;left:0;bottom:0;width:100%;padding:16px 14px;z-index:2;opacity:0;transform:translateY(10px);transition:.5s var(--ease);pointer-events:none}
.panel:hover .panel__cap{opacity:1;transform:none}
.panel__cap b{display:block;font-family:var(--serif);font-size:.98rem;color:var(--ivory)}
.panel__cap span{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sandstone)}
@media (max-width:820px){.panel:nth-child(4),.panel:nth-child(7){display:none}}
@media (max-width:560px){.panel:nth-child(2),.panel:nth-child(6){display:none}}
.hero__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(13,12,11,.94) 0%,rgba(13,12,11,.7) 32%,rgba(13,12,11,.18) 56%,rgba(13,12,11,.12) 100%),linear-gradient(0deg,rgba(13,12,11,.82) 0%,transparent 40%)}
html[dir=rtl] .hero__scrim{background:linear-gradient(270deg,rgba(13,12,11,.94) 0%,rgba(13,12,11,.7) 32%,rgba(13,12,11,.18) 56%,rgba(13,12,11,.12) 100%),linear-gradient(0deg,rgba(13,12,11,.82) 0%,transparent 40%)}
.hero__inner{position:relative;z-index:3;height:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--edge);display:flex;flex-direction:column;justify-content:center;pointer-events:none}
.hero__wrap{max-width:680px}
.hero__wrap>*{pointer-events:auto}
.hero .eyebrow{display:flex;align-items:center;gap:14px;color:var(--sandstone);margin-bottom:22px;opacity:0}
.hero .eyebrow .rule{width:42px;height:1px;background:var(--sandstone)}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.3rem,6vw,5.4rem);line-height:1;letter-spacing:-.015em}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln>span{display:inline-block;transform:translateY(112%)}
.hero h1 em{font-style:italic;font-weight:400;color:var(--sandstone)}
.hero__sub{max-width:480px;margin:24px 0 30px;color:var(--ivory-dim);font-weight:300;font-size:1.02rem;opacity:0}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;opacity:0}
.scroll-ind{position:absolute;left:50%;bottom:22px;z-index:4;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--sepia);opacity:0}
.scroll-ind .mouse{width:19px;height:30px;border:1px solid var(--sepia);border-radius:11px;position:relative}
.scroll-ind .mouse i{position:absolute;top:5px;left:50%;width:2px;height:6px;background:var(--sandstone);border-radius:2px;transform:translateX(-50%);animation:wheel 1.8s var(--ease) infinite}
@keyframes wheel{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}60%{opacity:1;transform:translate(-50%,9px)}100%{opacity:0;transform:translate(-50%,11px)}}
.scroll-ind span{font-size:.58rem;letter-spacing:.3em}

/* featured */
.featured{background:linear-gradient(180deg,#100f0e,#0c0b0a);border-top:1px solid var(--line)}
.feat-grid{display:grid;grid-template-columns:1.05fr 1.25fr 1.1fr;border:1px solid var(--line);border-radius:4px;overflow:hidden}
@media (max-width:1000px){.feat-grid{grid-template-columns:1fr}}
.feat-copy{padding:clamp(28px,3vw,48px);background:radial-gradient(130% 130% at 0 0,rgba(133,59,48,.16),transparent 60%);display:flex;flex-direction:column;justify-content:center}
.feat-eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--sandstone);margin-bottom:18px}
.feat-eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--oxide);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(133,59,48,.5)}50%{box-shadow:0 0 0 7px rgba(133,59,48,0)}}
.feat-copy h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,2.8vw,2.5rem);line-height:1.02;margin-bottom:16px}
.feat-copy h3 em{font-style:italic;color:var(--sandstone)}
.feat-copy p{color:var(--ivory-dim);font-weight:300;font-size:.95rem;margin-bottom:22px}
.feat-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:26px;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sepia)}
.feat-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--sepia)}
.feat-meta .tag{border:1px solid var(--line);padding:5px 10px;border-radius:2px;color:var(--sandstone)}
.feat-photo{position:relative;min-height:360px;background:#000}
.feat-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.92)}
.feat-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,15,14,.5),transparent 20%,transparent 80%,rgba(11,10,9,.6))}
.feat-map{position:relative;background:#0b1418;min-height:360px;overflow:hidden}
.feat-map svg{position:absolute;inset:0;width:100%;height:100%}
.map-label{position:absolute;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--filmblue);pointer-events:none}
.map-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:60px;height:60px;border-radius:50%;background:rgba(242,235,221,.1);backdrop-filter:blur(6px);border:1px solid rgba(242,235,221,.3);display:grid;place-items:center;transition:.4s var(--ease)}
.map-play:hover{background:var(--ivory);color:var(--charcoal);transform:translate(-50%,-50%) scale(1.06)}
.map-play svg{position:static;width:18px;height:18px}
.map-caption{position:absolute;left:0;bottom:0;width:100%;padding:12px 16px;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent);z-index:3;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--filmblue);display:flex;align-items:center;gap:8px;justify-content:center}

/* period carousel (home) + grid (timeline) */
.periods{background:#0c0b0a;border-top:1px solid var(--line)}
.per-head{display:flex;justify-content:space-between;align-items:center;max-width:var(--maxw);margin:0 auto;padding:clamp(56px,8vh,110px) var(--edge) 30px;gap:1.5rem;flex-wrap:wrap}
.per-nav{display:flex;gap:10px}
.per-nav button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.35s var(--ease);color:var(--ivory-dim)}
.per-nav button:hover{background:var(--sandstone);color:var(--charcoal);border-color:var(--sandstone)}
.per-nav svg{width:15px;height:15px}
.per-viewport{overflow:hidden;padding-bottom:clamp(44px,7vh,80px)}
.per-track{display:flex;gap:18px;padding:0 var(--edge);will-change:transform}
.pcard{flex:0 0 clamp(230px,24vw,300px);border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--panel);transition:transform .5s var(--ease),border-color .5s var(--ease);opacity:0}
.pcard.in{opacity:1}
.pcard:hover{transform:translateY(-6px);border-color:var(--sandstone)}
.pcard__img{position:relative;aspect-ratio:4/3;overflow:hidden}
.pcard__img img{width:100%;height:100%;object-fit:cover;filter:sepia(.22) contrast(1.02);transition:transform 1s var(--ease)}
.pcard:hover .pcard__img img{transform:scale(1.07)}
.pcard__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(20,18,16,.62))}
.pcard__n{position:absolute;top:12px;left:14px;z-index:2;font-family:var(--serif);font-size:.8rem;color:var(--sandstone)}
.pcard__b{padding:18px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.pcard__name{font-family:var(--serif);font-weight:400;font-size:1.18rem;line-height:1.05;margin-bottom:6px}
.pcard__range{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sandstone)}
.pcard__go{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--sandstone);color:var(--charcoal);display:grid;place-items:center;transition:.4s var(--ease)}
.pcard:hover .pcard__go{transform:rotate(-45deg)}
.pcard__go svg{width:14px;height:14px}

/* themes */
.themes{background:var(--charcoal);border-top:1px solid var(--line)}
.theme-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:44px}
@media (max-width:900px){.theme-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.theme-grid{grid-template-columns:repeat(2,1fr)}}
.theme{position:relative;border:1px solid var(--line);border-radius:3px;padding:22px 16px;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;background:var(--charcoal-2);overflow:hidden;transition:transform .45s var(--ease),border-color .45s var(--ease);opacity:0}
.theme.in{opacity:1}
.theme::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(198,167,115,.14),transparent 70%);opacity:0;transition:.45s}
.theme:hover{transform:translateY(-4px);border-color:var(--sandstone)}
.theme:hover::before{opacity:1}
.theme .ico{width:30px;height:30px;color:var(--sandstone)}
.theme .ico svg{width:100%;height:100%;stroke-width:1;fill:none;stroke:currentColor}
.theme span{font-size:.78rem;color:var(--ivory);position:relative;line-height:1.2}

/* feature row (place/then-now/voices/watch) */
.frow{background:#100f0e;border-top:1px solid var(--line)}
.frow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1000px){.frow-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.frow-grid{grid-template-columns:1fr}}
.fcard{display:flex;flex-direction:column;gap:14px}
.fcard>.caps{color:var(--sandstone)}
.fcard__media{position:relative;aspect-ratio:4/3;border-radius:4px;overflow:hidden;border:1px solid var(--line)}
.fcard__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.fcard:hover .fcard__media img{transform:scale(1.06)}
.fcard__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(16,15,14,.5))}
.fcard p{color:var(--ivory-dim);font-weight:300;font-size:.85rem;min-height:2.6em}
.fcard .fbtn{align-self:flex-start;border:1px solid var(--line);padding:11px 20px;border-radius:2px;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);transition:.4s var(--ease)}
.fcard .fbtn:hover{background:var(--sandstone);color:var(--charcoal);border-color:var(--sandstone)}
.pin{position:absolute;width:11px;height:11px;z-index:2}
.pin i{position:absolute;inset:0;border-radius:50% 50% 50% 0;background:var(--oxide);transform:rotate(-45deg);box-shadow:0 0 0 0 rgba(133,59,48,.5);animation:ping 2.4s infinite}
.pin:nth-child(2) i{animation-delay:.6s}.pin:nth-child(3) i{animation-delay:1.2s}.pin:nth-child(4) i{animation-delay:1.8s}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(133,59,48,.5)}70%{box-shadow:0 0 0 9px rgba(133,59,48,0)}100%{box-shadow:0 0 0 0 rgba(133,59,48,0)}}
.tn-stage{position:relative;width:100%;height:100%;overflow:hidden;user-select:none;touch-action:none}
.tn-layer{position:absolute;inset:0}.tn-layer img{width:100%;height:100%;object-fit:cover}
.tn-after{clip-path:inset(0 0 0 50%)}
.tn-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--ivory);z-index:4;transform:translateX(-1px)}
.tn-handle .grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:var(--ivory);color:var(--charcoal);display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.5)}
.tn-handle .grip svg{width:16px;height:16px}
.tn-tag{position:absolute;top:10px;padding:5px 9px;font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;background:rgba(15,14,13,.6);border:1px solid var(--line);border-radius:2px;z-index:3}
.tn-tag.then{left:10px}.tn-tag.now{right:10px}
.play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:50px;height:50px;border-radius:50%;background:rgba(242,235,221,.14);backdrop-filter:blur(5px);border:1px solid rgba(242,235,221,.35);display:grid;place-items:center;transition:.4s var(--ease)}
.fcard__media:hover .play-badge{background:var(--ivory);color:var(--charcoal)}
.play-badge svg{width:16px;height:16px}

/* newsletter */
.news{background:linear-gradient(180deg,var(--parchment),#d8ccb0);color:#2a2318;position:relative;overflow:hidden}
.news .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
@media (max-width:820px){.news .wrap{grid-template-columns:1fr;gap:26px}}
.news h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.05;color:#241d13}
.news p{margin-top:12px;color:#5c4f39;font-weight:300;max-width:42ch}
.news-form{display:flex;gap:10px;background:rgba(255,255,255,.5);border:1px solid rgba(42,35,24,.25);border-radius:3px;padding:6px 6px 6px 16px}
html[dir=rtl] .news-form{padding:6px 16px 6px 6px}
.news-form input{flex:1;background:none;border:none;color:#2a2318;font-family:var(--sans);font-size:.95rem;outline:none}
.news-form input::placeholder{color:#8a7c62}
.news-form button{background:#241d13;color:var(--parchment);padding:12px 22px;border-radius:2px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;transition:.4s var(--ease)}
.news-form button:hover{background:var(--oxide)}
.stamp{position:absolute;right:2vw;top:50%;transform:translateY(-50%) rotate(-11deg);width:120px;height:120px;border:2px dashed rgba(133,59,48,.4);border-radius:50%;display:grid;place-items:center;color:rgba(133,59,48,.5);opacity:.8;pointer-events:none}
@media (max-width:900px){.stamp{display:none}}
.stamp svg{width:64px;height:64px}

/* ===================== TIMELINE PAGE ===================== */
.tl{position:relative;max-width:1040px;margin:0 auto;padding:clamp(40px,6vh,80px) var(--edge)}
.tl::before{content:"";position:absolute;left:calc(var(--edge) + 22px);top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--line) 6%,var(--line) 94%,transparent)}
html[dir=rtl] .tl::before{left:auto;right:calc(var(--edge) + 22px)}
.tl-item{position:relative;padding-left:70px;margin-bottom:34px}
html[dir=rtl] .tl-item{padding-left:0;padding-right:70px}
.tl-dot{position:absolute;left:14px;top:6px;width:17px;height:17px;border-radius:50%;background:var(--charcoal);border:2px solid var(--sandstone);z-index:2;transition:.4s var(--ease)}
html[dir=rtl] .tl-dot{left:auto;right:14px}
.tl-item:hover .tl-dot{background:var(--sandstone);box-shadow:0 0 0 6px rgba(201,167,115,.15)}
.tl-card{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--panel);display:grid;grid-template-columns:200px 1fr;transition:.5s var(--ease)}
@media (max-width:640px){.tl-card{grid-template-columns:1fr}}
.tl-item:hover .tl-card{border-color:var(--sandstone);transform:translateX(4px)}
html[dir=rtl] .tl-item:hover .tl-card{transform:translateX(-4px)}
.tl-card__img{position:relative;overflow:hidden;min-height:150px}
.tl-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.2)}
.tl-card__b{padding:22px 24px}
.tl-range{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sandstone);margin-bottom:8px}
.tl-name{font-family:var(--serif);font-weight:400;font-size:1.4rem;margin-bottom:8px}
.tl-desc{color:var(--ivory-dim);font-weight:300;font-size:.9rem}
.tl-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.tl-tags span{font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sepia);border:1px solid var(--line);padding:4px 9px;border-radius:20px}
.tl-tags .tl-open{color:var(--sandstone);border-color:var(--sandstone);opacity:0;transition:.4s var(--ease)}
.tl-item:hover .tl-open{opacity:1}

/* ===================== ERA DETAIL PAGE ===================== */
.era-wrap{max-width:1080px;margin:0 auto;padding:clamp(40px,6vh,80px) var(--edge)}
.era-lead{font-family:var(--serif);font-weight:300;font-size:clamp(1.15rem,2.1vw,1.5rem);line-height:1.5;color:var(--ivory);max-width:60ch;margin-bottom:8px}
.era-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;margin-top:36px}
@media (max-width:820px){.era-grid{grid-template-columns:1fr;gap:26px}}
.era-block h2{font-family:var(--serif);font-weight:400;font-size:1.4rem;margin:0 0 16px;color:var(--ivory);display:flex;align-items:center;gap:12px}
.era-block h2::before{content:"";width:24px;height:1px;background:var(--sandstone)}
.era-devs{list-style:none;display:flex;flex-direction:column;gap:12px}
.era-devs li{position:relative;padding-left:22px;color:var(--ivory-dim);font-weight:300}
.era-devs li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;border-radius:50%;background:var(--sandstone)}
html[dir=rtl] .era-devs li{padding-left:0;padding-right:22px}html[dir=rtl] .era-devs li::before{left:auto;right:0}
.era-side{border:1px solid var(--line);border-radius:4px;background:var(--panel);padding:24px;height:fit-content}
.era-side .k{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sandstone);margin-bottom:8px}
.era-side p{color:var(--ivory-dim);font-weight:300;font-size:.9rem;margin-bottom:20px}
.era-side p:last-child{margin-bottom:0}
.era-cta{display:inline-flex;align-items:center;gap:9px;margin-top:6px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sandstone)}
.era-sec{margin-top:44px}
.era-sec .sec-intro{padding:0;margin-bottom:24px}
.era-nav{display:flex;justify-content:space-between;gap:14px;margin-top:48px;border-top:1px solid var(--line);padding-top:26px}
.era-nav a{display:flex;flex-direction:column;gap:4px;max-width:46%;transition:.3s}
.era-nav a.next{text-align:right;align-items:flex-end}
.era-nav .dir{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sepia)}
.era-nav .nm{font-family:var(--serif);font-size:1.05rem;color:var(--ivory-dim);transition:.3s}
.era-nav a:hover .nm{color:var(--sandstone)}
.era-progress{display:flex;gap:5px;flex-wrap:wrap;margin-top:20px}
.era-progress i{width:14px;height:3px;border-radius:2px;background:var(--line)}
.era-progress i.on{background:var(--sandstone)}

/* ===================== CULTURE PAGE ===================== */
.cul-row{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;max-width:var(--maxw);margin:0 auto;padding:clamp(44px,6vh,80px) var(--edge)}
@media (max-width:820px){.cul-row{grid-template-columns:1fr;gap:24px;padding:34px var(--edge)}}
.cul-row.rev .cul-media{order:2}
@media (max-width:820px){.cul-row.rev .cul-media{order:0}}
.cul-row+.cul-row{border-top:1px solid var(--line)}
.cul-media{position:relative;border:1px solid var(--line);border-radius:4px;overflow:hidden;aspect-ratio:4/3}
.cul-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.cul-media:hover img{transform:scale(1.05)}
.cul-txt .kicker{color:var(--sandstone);display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase}
.cul-txt .kicker .rule{width:28px;height:1px;background:var(--sandstone)}
.cul-txt h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.05;margin-bottom:16px}
.cul-txt h2 em{font-style:italic;color:var(--sandstone)}
.cul-txt p{color:var(--ivory-dim);font-weight:300;margin-bottom:12px}
.cul-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cul-chips span{font-size:.72rem;border:1px solid var(--line);border-radius:20px;padding:7px 14px;color:var(--ivory-dim);transition:.3s}
.cul-chips span b{color:var(--sandstone);font-weight:500}
.cul-band{background:#100f0e;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ===================== INTERACTIVE TIMELINE ===================== */
.xt-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;max-width:var(--maxw);margin:0 auto;padding:0 var(--edge) 18px;flex-wrap:wrap}
.xt-zoom{display:flex;gap:8px;align-items:center;color:var(--sepia);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}
.xt-zoom button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--ivory-dim);display:grid;place-items:center;transition:.3s var(--ease)}
.xt-zoom button:hover{background:var(--sandstone);color:var(--charcoal);border-color:var(--sandstone)}
.xt-zoom svg{width:16px;height:16px}
.xt-key{display:flex;gap:16px;flex-wrap:wrap;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ivory-dim)}
.xt-key span{display:inline-flex;align-items:center;gap:7px}
.xt-key i{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px rgba(0,0,0,.3)}
.xt-viewport{position:relative;overflow-x:auto;overflow-y:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d0c0b;cursor:grab;display:flex;scrollbar-width:thin}
.xt-viewport.drag{cursor:grabbing}
.xt-legend{position:sticky;left:0;z-index:6;flex:0 0 132px;background:#100f0e;border-right:1px solid var(--line)}
.xt-legend .xt-head-sp{height:66px;border-bottom:1px solid var(--line)}
.xt-lane-lbl{height:78px;display:flex;align-items:center;gap:8px;padding:0 12px;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sepia);border-bottom:1px solid rgba(198,167,115,.08);line-height:1.2}
.xt-lane-lbl i{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.xt-track{display:flex}
.xt-era{flex:0 0 var(--ew,300px);width:var(--ew,300px);border-right:1px solid rgba(198,167,115,.14);position:relative;transition:flex-basis .25s var(--ease),width .25s var(--ease)}
.xt-era__head{height:66px;padding:12px;border-bottom:1px solid var(--line);background:#141210;overflow:hidden}
.xt-era__head b{display:block;font-family:var(--serif);font-size:.98rem;color:var(--ivory);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xt-era__head span{font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sandstone)}
.xt-lane{height:78px;position:relative;border-bottom:1px solid rgba(198,167,115,.08)}
.xt-item{position:absolute;display:flex;align-items:center;gap:6px;max-width:calc(var(--ew,300px) - 16px);cursor:pointer;z-index:1}
.xt-item:hover{z-index:3}
.xt-item .dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 3px rgba(13,12,11,.7);transition:transform .2s}
.xt-item .lbl{font-size:.66rem;color:var(--ivory-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .2s;background:rgba(15,14,13,.82);padding:2px 7px;border-radius:3px;pointer-events:none}
.xt-track.show-labels .xt-item .lbl{opacity:.92}
.xt-item:hover .lbl{opacity:1;color:var(--ivory)}
.xt-item:hover .dot{transform:scale(1.4)}
.xt-item.sel .dot{box-shadow:0 0 0 3px var(--ivory)}
.t-dyn .dot,.t-ruler .dot{background:var(--gold)}
.t-person .dot{background:var(--filmblue)}
.t-event .dot{background:#5f9e86}
.t-war .dot{background:var(--oxide)}
.xt-detail{max-width:var(--maxw);margin:22px auto 0;padding:0 var(--edge)}
.xt-detail__card{border:1px solid var(--line);border-left:3px solid var(--sandstone);border-radius:0 4px 4px 0;background:var(--panel);padding:22px 24px}
.xt-detail__k{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;color:var(--sandstone)}
.xt-detail__t{font-family:var(--serif);font-size:1.4rem;margin-bottom:8px}
.xt-detail__d{color:var(--ivory-dim);font-weight:300;max-width:70ch}
.xt-hint{text-align:center;color:var(--sepia);font-size:.72rem;letter-spacing:.04em;margin-top:16px}

/* Timeline page: "explore events" band */
.tl-cta{border-top:1px solid var(--line);background:linear-gradient(180deg,#100f0e,#0c0b0a)}
.tl-cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.tl-cta h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.05;max-width:20ch}
.tl-cta h2 em{font-style:italic;color:var(--sandstone)}
.tl-cta p{color:var(--ivory-dim);font-weight:300;max-width:46ch;margin-top:10px}

/* ===================== WARS & BATTLES ===================== */
.war-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.war{position:relative;border:1px solid var(--line);border-radius:4px;background:var(--panel);padding:22px 24px 22px 27px;overflow:hidden;transition:transform .45s var(--ease),border-color .45s var(--ease);opacity:0;transform:translateY(20px)}
.war.in{opacity:1;transform:none}
.war:hover{border-color:var(--sandstone);transform:translateY(-4px)}
.war::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold)}
.war.win::before{background:#5f9e86}.war.loss::before{background:var(--oxide)}
.war__top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.war__date{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sandstone);white-space:nowrap}
.war__name{font-family:var(--serif);font-weight:400;font-size:1.2rem;line-height:1.12;margin-bottom:8px}
.war__bel{font-size:.8rem;color:var(--sepia);margin-bottom:12px}
.war__out{display:inline-block;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 11px;border-radius:20px;border:1px solid var(--line);color:var(--ivory-dim);margin-bottom:12px}
.war.win .war__out{color:#7fae9c;border-color:rgba(95,158,134,.45)}
.war.loss .war__out{color:#d98a7c;border-color:rgba(133,59,48,.45)}
.war__note{color:var(--ivory-dim);font-weight:300;font-size:.88rem;line-height:1.55}

/* ===================== PEOPLE PAGE ===================== */
.filters{display:flex;flex-direction:column;gap:16px;margin-bottom:40px}
.filter-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.filter-row .lbl{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sepia);min-width:56px}
.chip{font-size:.72rem;letter-spacing:.03em;padding:8px 16px;border:1px solid var(--line);border-radius:30px;color:var(--ivory-dim);transition:.3s var(--ease);white-space:nowrap}
.chip:hover{border-color:var(--sandstone);color:var(--ivory)}
.chip.on{background:var(--sandstone);color:var(--charcoal);border-color:var(--sandstone);font-weight:500}
.search-input{flex:1;min-width:220px;background:var(--panel);border:1px solid var(--line);border-radius:30px;color:var(--ivory);font-family:var(--sans);font-size:.86rem;padding:11px 18px;outline:none;transition:.3s var(--ease)}
.search-input::placeholder{color:var(--sepia)}
.search-input:focus{border-color:var(--sandstone)}
.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.person{border:1px solid var(--line);border-radius:4px;background:var(--panel);padding:22px;display:flex;flex-direction:column;gap:14px;transition:transform .45s var(--ease),border-color .45s var(--ease);opacity:0;transform:translateY(20px)}
.person.in{opacity:1;transform:none}
.person:hover{transform:translateY(-5px);border-color:var(--sandstone)}
.person__top{display:flex;align-items:center;gap:14px}
.medallion{flex:0 0 auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--ivory);border:1px solid rgba(242,235,221,.25);background:radial-gradient(120% 120% at 30% 20%,var(--m2,#3a2f22),var(--m1,#20201c))}
.person__hd{min-width:0}
.person__name{font-family:var(--serif);font-weight:500;font-size:1.1rem;line-height:1.1}
.person__role{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sandstone);margin-top:4px}
.person__note{color:var(--ivory-dim);font-weight:300;font-size:.85rem;flex:1}
.person__foot{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:12px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sepia)}
.person__era{color:var(--sandstone)}
.count-note{text-align:center;color:var(--sepia);font-size:.8rem;margin-top:30px;letter-spacing:.04em}

/* ===================== GENERIC CARD GRIDS (places/stories/archives/watch) ===================== */
.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.gcard{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--panel);transition:transform .5s var(--ease),border-color .5s var(--ease);opacity:0;transform:translateY(24px)}
.gcard.in{opacity:1;transform:none}
.gcard:hover{transform:translateY(-6px);border-color:var(--sandstone)}
.gcard__media{position:relative;aspect-ratio:16/10;overflow:hidden}
.gcard__media img{width:100%;height:100%;object-fit:cover;filter:sepia(.15);transition:transform 1s var(--ease)}
.gcard:hover .gcard__media img{transform:scale(1.06)}
.gcard__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(16,15,14,.72))}
.gcard__tag{position:absolute;top:12px;left:12px;z-index:2;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;background:rgba(15,14,13,.6);border:1px solid var(--line);padding:5px 9px;border-radius:2px;color:var(--sandstone)}
.gcard__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:52px;height:52px;border-radius:50%;background:rgba(242,235,221,.14);backdrop-filter:blur(5px);border:1px solid rgba(242,235,221,.35);display:grid;place-items:center;transition:.4s var(--ease)}
.gcard:hover .gcard__play{background:var(--ivory);color:var(--charcoal)}
.gcard__play svg{width:16px;height:16px}
.gcard__b{padding:20px 22px}
.gcard__k{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sandstone);margin-bottom:8px}
.gcard__t{font-family:var(--serif);font-weight:400;font-size:1.25rem;line-height:1.1;margin-bottom:8px}
.gcard__d{color:var(--ivory-dim);font-weight:300;font-size:.86rem}
.gcard__meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sepia)}

/* section intro block */
.sec-intro{max-width:var(--maxw);margin:0 auto;padding:0 var(--edge)}
.sec-intro .kicker{color:var(--sandstone);display:flex;align-items:center;gap:12px;margin-bottom:16px}
.sec-intro .kicker .rule{width:30px;height:1px;background:var(--sandstone)}
.sec-intro h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,3.6vw,2.8rem);line-height:1.04;max-width:20ch}
.sec-intro h2 em{font-style:italic;color:var(--sandstone)}
.sec-intro p{max-width:52ch;margin-top:16px;color:var(--ivory-dim);font-weight:300}

/* ===================== OCTOBER 1973 FEATURE ===================== */
.chapters{max-width:900px;margin:0 auto;padding:clamp(40px,6vh,80px) var(--edge)}
.chapter{margin-bottom:56px;position:relative}
.chapter__no{font-family:var(--serif);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sandstone);margin-bottom:12px}
.chapter h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1.05;margin-bottom:18px}
.chapter p{color:var(--ivory-dim);font-weight:300;font-size:1rem;margin-bottom:16px;max-width:66ch}
.chapter ul{list-style:none;margin:16px 0;display:flex;flex-direction:column;gap:8px}
.chapter li{position:relative;padding-left:20px;color:var(--ivory-dim);font-weight:300}
.chapter li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:50%;background:var(--sandstone)}
html[dir=rtl] .chapter li{padding-left:0;padding-right:20px}html[dir=rtl] .chapter li::before{left:auto;right:0}
.callout{border-left:2px solid var(--sandstone);background:rgba(198,167,115,.06);padding:18px 22px;margin:22px 0;border-radius:0 4px 4px 0}
html[dir=rtl] .callout{border-left:none;border-right:2px solid var(--sandstone);border-radius:4px 0 0 4px}
.callout .k{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sandstone);margin-bottom:8px}
.callout.fact{border-color:var(--nile)}.callout.fact .k{color:#7fae9c}
.callout.debate{border-color:var(--oxide)}.callout.debate .k{color:#d98a7c}
.callout p{margin:0;color:var(--ivory-dim)}
.chapnav{position:sticky;top:0;z-index:50;background:rgba(16,15,14,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:12px var(--edge);display:flex;gap:8px;overflow-x:auto}
.chapnav a{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ivory-dim);white-space:nowrap;padding:6px 12px;border:1px solid var(--line);border-radius:20px;transition:.3s}
.chapnav a:hover,.chapnav a.active{background:var(--sandstone);color:var(--charcoal);border-color:var(--sandstone)}
.who-said{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}
@media (max-width:640px){.who-said{grid-template-columns:1fr}}
.who-said>div{border:1px solid var(--line);border-radius:4px;padding:18px}
.who-said h4{font-family:var(--serif);font-size:1rem;margin-bottom:8px;color:var(--sandstone)}
.who-said p{font-size:.86rem;margin:0}

/* editorial standards / about */
.prose{max-width:720px;margin:0 auto;padding:clamp(40px,6vh,80px) var(--edge)}
.prose h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,3vw,2.2rem);margin:36px 0 14px}
.prose h3{font-family:var(--serif);font-weight:500;font-size:1.2rem;margin:26px 0 10px;color:var(--sandstone)}
.prose p{color:var(--ivory-dim);font-weight:300;margin-bottom:14px}
.prose ul{margin:14px 0 14px 20px;color:var(--ivory-dim);font-weight:300;display:flex;flex-direction:column;gap:8px}
.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0}
@media (max-width:640px){.principles{grid-template-columns:1fr}}
.principle{border:1px solid var(--line);border-radius:4px;padding:20px;background:var(--panel)}
.principle h4{font-family:var(--serif);font-size:1.05rem;margin-bottom:8px}
.principle p{font-size:.85rem;margin:0}

/* edu levels */
.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
@media (max-width:820px){.levels{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.levels{grid-template-columns:1fr}}
.level{border:1px solid var(--line);border-radius:4px;padding:22px;background:var(--panel);transition:.4s var(--ease)}
.level:hover{border-color:var(--sandstone);transform:translateY(-4px)}
.level .num{font-family:var(--serif);font-size:1.6rem;color:var(--sandstone);margin-bottom:10px}
.level h4{font-size:1rem;margin-bottom:6px}
.level p{font-size:.82rem;color:var(--ivory-dim);font-weight:300}

.divider{height:1px;background:var(--line);max-width:var(--maxw);margin:0 auto}

/* ===================== REALISTIC SUEZ MAP (featured) ===================== */
.feat-map__img{position:absolute;inset:0;background-size:cover;background-position:48% 30%;filter:saturate(.95) brightness(.92) contrast(1.04);transform:scale(1.03);animation:mapdrift 34s ease-in-out infinite alternate}
@keyframes mapdrift{to{transform:scale(1.12)}}
.feat-map__grad{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(9,14,20,.5),rgba(9,14,20,.12) 38%,rgba(9,14,20,.8)),radial-gradient(120% 80% at 50% 40%,transparent 40%,rgba(9,14,20,.5))}
.feat-map__ov{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.feat-map__ov .flow{stroke:#E7C583;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-dasharray:15 11;filter:drop-shadow(0 0 3px rgba(201,167,115,.7));animation:mapflow 1.5s linear infinite}
.feat-map__ov .flow.f2{animation-delay:.35s}.feat-map__ov .flow.f3{animation-delay:.7s}
@keyframes mapflow{to{stroke-dashoffset:-26}}
.feat-map__ov .canal{stroke:#aec6d0;stroke-width:1.6;fill:none;stroke-dasharray:4 7;opacity:.6;animation:mapflow 5s linear infinite}
.feat-map__ov .counter{stroke:#d0604c;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-dasharray:11 13;filter:drop-shadow(0 0 3px rgba(133,59,48,.6));animation:mapflowR 2.2s linear infinite}
@keyframes mapflowR{to{stroke-dashoffset:24}}
.feat-map__ov .node{fill:#E7C583;filter:drop-shadow(0 0 4px rgba(201,167,115,.8));animation:nodepulse 2.4s ease-in-out infinite}
.feat-map__ov .node.n2{animation-delay:.4s}.feat-map__ov .node.n3{animation-delay:.8s}
@keyframes nodepulse{0%,100%{opacity:.45}50%{opacity:1}}
