
:root{--ink:#171713;--paper:#eee7d8;--paper2:#fbf8f0;--nile:#234b50;--red:#7d4034;--line:rgba(23,23,19,.20);--max:1660px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper2);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}.wrap{width:min(var(--max),96vw);margin:auto}
.sitehead{position:sticky;top:0;z-index:40;background:rgba(248,242,230,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.sitehead .in{width:min(var(--max),96vw);margin:auto;height:66px;display:flex;align-items:center;gap:13px}.brand{font-weight:900;text-decoration:none}.slash{opacity:.35}.section-name{font:19px Georgia,serif}.nav{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap}.nav a{font-size:12px;font-weight:800;text-decoration:none}.nav a:hover{text-decoration:underline}
.hero{min-height:82vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#151512}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,7,.78),rgba(7,8,7,.38) 48%,rgba(7,8,7,.08) 82%),linear-gradient(0deg,rgba(7,8,7,.66),rgba(7,8,7,0) 48%),url("https://files.cheliadinov.com/dvoika/ancient-egypt/site-visuals/giza-panorama.webp") center 50%/cover no-repeat;transform:scale(1.01)}.hero .hero-in{position:relative;z-index:2;width:min(var(--max),96vw);margin:auto;padding:132px 0 66px;color:#fff}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;margin-bottom:16px}.hero h1{margin:0;max-width:920px;font:400 clamp(68px,10vw,148px)/.84 Georgia,serif;letter-spacing:-.055em}.hero p{max-width:760px;font:21px/1.5 Georgia,serif;margin:26px 0 0}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;border:1.5px solid currentColor;border-radius:999px;padding:10px 14px;text-decoration:none;font-weight:800;font-size:13px}.hero .btn{background:rgba(0,0,0,.24)}
.band{background:var(--nile2);color:white}.band .wrap{padding:22px 0;font:17px/1.5 Georgia,serif}.intro{padding:70px 0 42px}.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.intro h2,.page-title{font:400 clamp(44px,6vw,82px)/.95 Georgia,serif;letter-spacing:-.04em;margin:0}.intro p{font:20px/1.67 Georgia,serif;margin:0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.topic{min-height:270px;border:1px solid var(--line);background:var(--paper);padding:26px;display:flex;flex-direction:column;text-decoration:none;position:relative}.topic:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(60,40,20,.08)}.topic .n{font-size:11px;font-weight:900;letter-spacing:.13em;color:var(--red)}.topic h3{font:400 32px/1.04 Georgia,serif;margin:30px 0 12px}.topic p{font-size:14px;line-height:1.5;margin:0}.topic .go{margin-top:auto;padding-top:22px;font-size:12px;font-weight:900}.topic.dark{background:var(--ink);color:white}.topic.nile{background:var(--nile);color:white}.topic.white{background:#fffaf0}.status{position:absolute;right:14px;top:14px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;border:1px solid currentColor;border-radius:999px;padding:5px 7px;opacity:.65}
.page-hero{padding:70px 0 38px}.crumb{font-size:12px;font-weight:800;margin-bottom:18px}.crumb a{text-decoration:none}.lead{font:20px/1.6 Georgia,serif;max-width:820px}.section{padding:36px 0 70px}.card{background:#fff;border:1px solid var(--line);padding:25px}.card h2,.card h3{font-family:Georgia,serif;font-weight:400}.stack{display:grid;gap:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lesson{border-top:3px solid var(--nile);padding:24px;background:#fff}.lesson .meta{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}.lesson h2{font:400 33px/1.05 Georgia,serif;margin:10px 0}.lesson .q{font:18px/1.45 Georgia,serif}.lesson dl{display:grid;grid-template-columns:140px 1fr;gap:8px 14px;font-size:14px;line-height:1.5}.lesson dt{font-weight:900}.lesson dd{margin:0}
.scene-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.scene-card{background:#fff;border:1px solid var(--line);text-decoration:none;overflow:hidden}.scene-card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.scene-card .body{padding:13px}.scene-card b{font:400 20px/1.1 Georgia,serif}.scene-card span{display:block;font-size:11px;margin-top:6px;color:#5f5a51}
.scene-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:30px;align-items:start}.scene-main{width:100%;display:block;border:1px solid var(--line)}.guide{background:#fff;border:1px solid var(--line);padding:28px}.guide h3{font:400 31px/1.08 Georgia,serif;margin:28px 0 10px}.guide h4{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:24px 0 8px}.guide p{font-size:15px;line-height:1.6}.guide .bullet{padding-left:15px}.download-row{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.download-row .btn{background:#fff}
.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.image-pair figure,.gallery figure{margin:0;background:#fff;border:1px solid var(--line)}figure img{width:100%;display:block}figcaption{padding:11px 13px;font-size:12px;line-height:1.4;color:#5b574f}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.doc{white-space:pre-wrap;background:#fff;border:1px solid var(--line);padding:24px;font:14px/1.58 Arial,sans-serif;overflow-wrap:anywhere}.token-guide{width:min(100%,1050px);display:block;margin:auto;border:1px solid var(--line)}.pdfbox{width:100%;height:760px;border:1px solid var(--line);background:white}.details details{background:#fff;border:1px solid var(--line);margin:10px 0}.details summary{cursor:pointer;padding:16px 18px;font:400 22px Georgia,serif}.details .inside{padding:0 20px 20px}.details .inside p{font-size:14px;line-height:1.58}.warning{border-left:5px solid var(--red);background:#f5e4dc;padding:16px 18px;line-height:1.5}.good{border-left:5px solid var(--nile);background:#e2ece9;padding:16px 18px;line-height:1.5}.footer{background:#111;color:white;margin-top:70px}.footer .wrap{padding:28px 0;font-size:12px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
@media(max-width:1000px){.intro-grid,.scene-layout,.two{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.three{grid-template-columns:1fr 1fr}.scene-grid{grid-template-columns:repeat(3,1fr)}.gallery{grid-template-columns:1fr 1fr}.nav{display:none}}@media(max-width:620px){.hero h1{font-size:67px}.grid,.three,.scene-grid,.gallery,.image-pair{grid-template-columns:1fr}.pdfbox{height:520px}.lesson dl{grid-template-columns:1fr}.sitehead .section-name{display:none}}

.btn-disabled{opacity:.62;cursor:not-allowed;text-decoration:none;pointer-events:none}

/* v19: photographic identity and restrained Egypt landing page */
.photo-strip{width:min(var(--max),96vw);margin:28px auto 0;display:grid;grid-template-columns:1.25fr .8fr 1fr;gap:12px}
.photo-strip figure,.source-photo{margin:0;position:relative;overflow:hidden;background:#ddd;border:1px solid var(--line)}
.photo-strip img{width:100%;height:330px;object-fit:cover;display:block}.photo-strip figure:nth-child(2) img{object-position:center 42%}
.photo-strip figcaption,.source-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 11px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:11px;line-height:1.35}
.section-label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:900;color:var(--red);margin-bottom:12px}
.reality-block{padding:76px 0}.reality-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:stretch}.source-photo img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}.reality-copy{background:#fff;border:1px solid var(--line);padding:36px}.reality-copy h2{font:400 clamp(40px,5vw,70px)/.98 Georgia,serif;margin:0 0 20px}.reality-copy p{font:18px/1.65 Georgia,serif}.reality-copy .actions{margin-top:24px}
.topic{background:#fff}.topic.dark{background:#171713;color:#fff}.topic.nile{background:#fff;color:var(--ink);border-top:5px solid var(--nile)}.topic.white{background:#fff}.topic h3{color:inherit}
.credits{padding:28px 0 6px;font-size:11px;line-height:1.55;color:#625d54}.credits a{overflow-wrap:anywhere}
.hero-credit{position:absolute;right:2vw;bottom:12px;z-index:3;color:rgba(255,255,255,.78);font-size:10px;background:rgba(0,0,0,.34);padding:5px 7px}
@media(max-width:850px){.photo-strip{grid-template-columns:1fr}.photo-strip img{height:280px}.reality-grid{grid-template-columns:minmax(0,1fr)}.reality-grid>*{min-width:0}.reality-copy{overflow-wrap:anywhere}.source-photo img{min-height:340px}.hero-credit{display:none}}

/* межпроектная навигация */
.project-crosslinks{width:min(var(--max),96vw);margin:36px auto 0;padding:18px 0;border-top:1px solid var(--line);display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:13px;color:#625d54}.project-crosslinks a{font-weight:800;text-decoration:underline;text-underline-offset:3px}


.wide-wrap{width:min(1660px,96vw);margin:auto}
.gallery-sources{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.gallery-sources figure{display:flex;flex-direction:column}
.gallery-sources img{width:100%;height:420px;object-fit:contain;object-position:center;background:#f6f1e7}
.gallery-sources figcaption{font-size:13px;line-height:1.5;padding:14px 16px}
@media(min-width:1400px){.gallery-sources{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-sources img{height:360px}}
@media(max-width:900px){.wide-wrap{width:min(96vw,1660px)}.gallery-sources{grid-template-columns:1fr}.gallery-sources img{height:auto;max-height:none}}

/* v3 review fixes */
.skill-list{margin-top:18px;padding:16px 18px;background:#f7f1e5;border-left:4px solid var(--nile)}.skill-list h3{font:400 20px Georgia,serif;margin:0 0 9px}.skill-list ul{margin:0;padding-left:20px}.skill-list li{font-size:14px;line-height:1.5;margin:5px 0}.source-index{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.source-index a{border:1px solid var(--line);background:#fff;padding:8px 10px;text-decoration:none;font-weight:800;font-size:12px}.source-group{background:#fff;border:1px solid var(--line);padding:24px;margin:0 0 18px;scroll-margin-top:86px}.source-group h2{font:400 31px/1.08 Georgia,serif;margin:0 0 9px}.source-group .source-note{font:15px/1.55 Georgia,serif}.source-links{margin:14px 0 0;padding-left:20px}.source-links li{margin:9px 0;line-height:1.45}.source-links a{font-weight:800}.zoomable{cursor:zoom-in}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:9999;display:none;align-items:center;justify-content:center;padding:3vw}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:90vh;object-fit:contain;background:#111}.lightbox button{position:absolute;right:18px;top:14px;border:1px solid #fff;background:#000;color:#fff;font-size:28px;width:48px;height:48px;cursor:pointer}.gallery-sources figure.papyrus-horizontal{min-height:470px;justify-content:center;overflow:hidden}.gallery-sources figure.papyrus-horizontal img{height:320px;width:430px;max-width:none;object-fit:contain;transform:rotate(90deg);margin:55px auto;background:#f6f1e7}.token-lang-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.token-lang-switch a{display:inline-block;border:1.5px solid var(--ink);padding:9px 12px;text-decoration:none;font-weight:900}.token-lang-switch a.current{background:var(--ink);color:#fff}


/* v5: small contextual project strip on browse pages; not shown inside individual scenes/tasks */
.egypt-project-strip{width:min(var(--max),96vw);margin:42px auto 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.egypt-project-strip b{font:400 26px Georgia,serif}.egypt-project-strip p{margin:5px 0 0;font-size:13px;color:#625d54}.egypt-project-links{display:flex;gap:8px;flex-wrap:wrap}.egypt-project-links a{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;padding:9px 11px;text-decoration:none;font-weight:800;font-size:12px}.egypt-project-links a.support{background:var(--ink);color:#fff;border-color:var(--ink)}
@media(max-width:700px){.egypt-project-strip{align-items:flex-start;flex-direction:column}}

/* v10 section headings and lesson material links */
.page-hero .page-title{text-align:center}.page-hero .lead{margin-left:auto;margin-right:auto;text-align:center}.page-hero .token-lang-switch{justify-content:center}
.lesson-links{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0}.lesson-links a{display:inline-block;border:1px solid var(--line);background:#fff;padding:8px 10px;text-decoration:none;font-weight:800;font-size:12px}.curriculum-link{text-align:center;margin:22px 0 0}.curriculum-link a{display:inline-block;border:1px solid var(--line);background:#fff;padding:10px 13px;text-decoration:none;font-weight:800;font-size:12px}

/* v11: larger Egypt header */
.sitehead .in{height:92px;gap:17px}
.sitehead .brand{font-size:17px}
.sitehead .section-name{font-size:23px}
.sitehead .nav{gap:17px}
.sitehead .nav a{font-size:13px}
@media(max-width:1000px){.sitehead .in{height:82px}}

/* v13: wider Ancient Egypt layout */
.lead{max-width:1040px}
.lesson{padding:34px 38px}
.egypt-support-feature{width:min(var(--max),96vw);margin:48px auto 22px;background:#171713;color:#fff;padding:38px 42px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.egypt-support-feature h2{font:400 clamp(38px,4.4vw,60px)/1 Georgia,serif;margin:0 0 10px}.egypt-support-feature p{font:17px/1.55 Georgia,serif;max-width:780px;margin:0}.egypt-support-feature>a{background:#fff;color:#171713;text-decoration:none;padding:16px 22px;font-weight:900}.egypt-project-links a.support{display:none!important}
@media(max-width:800px){.egypt-support-feature{grid-template-columns:1fr;padding:30px 24px}.egypt-support-feature>a{justify-self:start}}


/* ===== v20 interaction pass ===== */
:root{--egypt-accent:#D9822B;}

.sitehead .nav a{
  border-radius:9px;
  padding:8px 10px;
  transition:background-color .16s ease,color .16s ease,transform .16s ease;
}
.sitehead .nav a:hover,
.sitehead .nav a:focus-visible{
  background:var(--egypt-accent);
  color:#fff;
  text-decoration:none;
  transform:translateY(-1px);
  outline:none;
}

.btn,
.curriculum-link a,
.lesson-links a,
.source-index a,
.token-lang-switch a,
.egypt-project-links a,
.egypt-support-feature>a{
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,
             transform .16s ease,box-shadow .16s ease;
}
.btn:hover,
.curriculum-link a:hover,
.lesson-links a:hover,
.source-index a:hover,
.token-lang-switch a:hover,
.egypt-project-links a:hover,
.egypt-support-feature>a:hover{
  background:var(--egypt-accent)!important;
  color:#fff!important;
  border-color:var(--egypt-accent)!important;
  text-decoration:none!important;
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(0,0,0,.10);
}
.btn:focus-visible,
.curriculum-link a:focus-visible,
.lesson-links a:focus-visible,
.source-index a:focus-visible,
.token-lang-switch a:focus-visible,
.egypt-project-links a:focus-visible,
.egypt-support-feature>a:focus-visible{
  outline:3px solid var(--egypt-accent);
  outline-offset:3px;
}

.topic,
.scene-card{
  border-radius:16px;
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.topic:hover,
.scene-card:hover{
  transform:translateY(-4px);
  border-color:var(--egypt-accent);
  box-shadow:0 0 0 3px var(--egypt-accent),0 12px 24px rgba(60,40,20,.12);
}
.topic:focus-visible,
.scene-card:focus-visible{
  outline:none;
  border-color:var(--egypt-accent);
  box-shadow:0 0 0 3px var(--egypt-accent);
}

.journey-stop{
  border-radius:14px;
  transition:background-color .16s ease,color .16s ease,transform .16s ease;
}
.journey-stop:hover,
.journey-stop:focus-visible{
  background:var(--egypt-accent);
  color:#fff;
  transform:translateY(-2px);
  outline:none;
}


/* ===== v21 Ancient Egypt interaction correction ===== */
.sitehead .nav a,
.sitehead .nav a:hover,
.sitehead .nav a:focus-visible{
  background:transparent!important;
  border-radius:0!important;
}
.sitehead .nav a:hover,
.sitehead .nav a:focus-visible{
  color:var(--egypt-accent)!important;
  text-decoration:underline!important;
  text-decoration-color:var(--egypt-accent)!important;
  text-decoration-thickness:2px!important;
  text-underline-offset:6px!important;
  transform:none!important;
  outline:none!important;
  box-shadow:none!important;
}

/* The route consists of circles. Hover therefore highlights the circle only. */
.journey-stop,
.journey-stop:hover,
.journey-stop:focus-visible{
  background:transparent!important;
  color:inherit!important;
  transform:none!important;
  outline:none!important;
  box-shadow:none!important;
}
.journey-num{
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,
             transform .16s ease,box-shadow .16s ease!important;
}
.journey-stop:hover .journey-num,
.journey-stop:focus-visible .journey-num{
  background:var(--egypt-accent)!important;
  color:#fff!important;
  border-color:var(--egypt-accent)!important;
  transform:translateY(-3px)!important;
  box-shadow:0 5px 12px rgba(0,0,0,.12)!important;
}
.journey-stop:hover .journey-label,
.journey-stop:focus-visible .journey-label{
  color:#555!important;
}

/* ===== v36 multilingual header ===== */
body[data-site-family="egypt"] .sitehead .in{
  gap:12px;
  flex-wrap:nowrap;
}
body[data-site-family="egypt"] .sitehead .nav{
  margin-left:auto;
  gap:11px;
  flex-wrap:nowrap;
  min-width:0;
}
body[data-site-family="egypt"] .sitehead .nav a{
  white-space:nowrap;
}
body[data-site-family="egypt"] .egypt-lang-switch{
  flex:0 0 auto;
  margin-left:7px;
  --gls-bg:#fbf6eb;
  --gls-fg:#171713;
  --gls-border:#8b8275;
  --gls-active-bg:#a84025;
  --gls-active-fg:#fff;
}
body[data-site-family="egypt"] .egypt-lang-switch .global-lang-buttons{
  gap:5px;
}
body[data-site-family="egypt"] .egypt-lang-switch .global-lang-btn{
  min-width:34px!important;
  height:28px!important;
  padding:0 7px!important;
  border:1px solid #8b8275!important;
  border-radius:999px!important;
  background:#fbf6eb!important;
  color:#171713!important;
  box-shadow:none!important;
  font:800 11px/26px Arial,sans-serif!important;
  text-decoration:none!important;
}
body[data-site-family="egypt"] .egypt-lang-switch .global-lang-btn:hover,
body[data-site-family="egypt"] .egypt-lang-switch .global-lang-btn:focus-visible{
  background:#d9822b!important;
  border-color:#d9822b!important;
  color:#fff!important;
  text-decoration:none!important;
  outline:none!important;
}
body[data-site-family="egypt"] .egypt-lang-switch .global-lang-btn[aria-current="true"]{
  background:#a84025!important;
  border-color:#a84025!important;
  color:#fff!important;
}
@media(max-width:1180px){
  body[data-site-family="egypt"] .sitehead .nav{gap:8px}
  body[data-site-family="egypt"] .sitehead .nav a{font-size:11px}
  body[data-site-family="egypt"] .sitehead .section-name{font-size:18px}
  body[data-site-family="egypt"] .egypt-lang-switch .global-lang-btn{min-width:31px!important;padding:0 5px!important}
}
@media(max-width:1000px){
  body[data-site-family="egypt"] .sitehead .in{height:72px}
  body[data-site-family="egypt"] .egypt-lang-switch{margin-left:auto}
}
.token-content-language-note{
  display:inline-block;
  margin:9px 0 0 12px;
  padding:5px 9px;
  border:1px solid #c8bda9;
  border-radius:999px;
  font:700 11px/1.2 Arial,sans-serif;
  color:#62584b;
  background:#fffaf0;
  vertical-align:middle;
}

/* ===== v38 language-state/header reliability ===== */
@media(min-width:1001px){
  body[data-site-family="egypt"] .sitehead .in{width:min(var(--max),98vw);gap:9px}
  body[data-site-family="egypt"] .sitehead .brand{flex:0 0 auto}
  body[data-site-family="egypt"] .sitehead .section-name{flex:0 0 auto;font-size:20px}
  body[data-site-family="egypt"] .sitehead .nav{gap:7px;flex:1 1 auto;justify-content:flex-end}
  body[data-site-family="egypt"] .sitehead .nav a{font-size:11px;padding:7px 6px}
  body[data-site-family="egypt"] .egypt-lang-switch{margin-left:4px;flex:0 0 auto}
  body[data-site-family="egypt"] .egypt-lang-switch .global-lang-buttons{gap:4px}
  body[data-site-family="egypt"] .egypt-lang-switch .global-lang-btn{min-width:30px!important;padding:0 5px!important}
}
