/* The Middle Quarterly — an academic literary review of Middle Egypt's museums and sites
   Palette: navy #1B2A4E · ochre #C8923A · paper #F4EFE3 · bordeaux #7A2C2C · ink #0E1626
   Type: Source Serif 4 (display) · Source Sans 3 (body) — restrained, academic
*/

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:#F4EFE3;color:#0E1626;
  font-family:'Source Sans 3',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:16.5px;line-height:1.7;font-weight:400;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:#7A2C2C;text-decoration:none}
a:hover{color:#1B2A4E;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
h1,h2,h3,h4{
  font-family:'Source Serif 4',Georgia,serif;
  font-weight:600;letter-spacing:-.005em;color:#1B2A4E;
  line-height:1.18;margin:0 0 .55em;
}
h1{font-size:clamp(2.2rem,4.6vw,3.7rem);font-weight:500}
h2{font-size:clamp(1.55rem,2.8vw,2.15rem);font-weight:600}
h3{font-size:1.3rem}
p{margin:0 0 1.05em}

.container{max-width:1180px;margin:0 auto;padding:0 28px}
.narrow{max-width:740px;margin:0 auto;padding:0 28px}

/* Masthead — the academic-quarterly look */
.masthead{
  background:#1B2A4E;color:#F4EFE3;border-bottom:4px double #C8923A;
}
.masthead-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:10px 0;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #2d3d6e;color:#C8923A}
.masthead-title{padding:36px 0 32px;text-align:center}
.masthead-title .latin{font-size:.78rem;letter-spacing:.4em;color:#C8923A;text-transform:uppercase;font-weight:600;margin-bottom:14px;display:block}
.masthead-title h1.title{
  font-family:'Source Serif 4',serif;font-size:clamp(2.6rem,5.5vw,4.4rem);font-weight:500;color:#F4EFE3;margin:0;
  line-height:1.05;letter-spacing:-.01em;
}
.masthead-title h1.title em{color:#C8923A;font-style:italic;font-weight:400}
.masthead-title .strap{font-family:'Source Serif 4',serif;font-style:italic;color:#cdb98c;font-size:1.15rem;margin-top:14px}

/* Nav */
.site-nav{background:#0E1626;color:#F4EFE3;border-bottom:1px solid #C8923A}
.site-nav .container{display:flex;align-items:center;justify-content:center;gap:38px;padding:14px 0}
.site-nav a{color:#F4EFE3;font-size:.82rem;text-transform:uppercase;letter-spacing:.22em;font-weight:600;padding:6px 0;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav a.active{color:#C8923A;border-bottom-color:#C8923A;text-decoration:none}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;position:absolute;right:18px;top:8px;color:#F4EFE3}
.nav-toggle span{display:block;width:24px;height:2px;background:#F4EFE3;margin:5px 0}

/* Issue contents block — like a TOC */
.issue-toc{
  background:#F4EFE3;border:1px solid #d6c8a4;padding:30px 36px;margin:50px 0 0;
  display:grid;grid-template-columns:auto 1fr;gap:14px 30px;align-items:baseline;
  font-size:.95rem;
}
.issue-toc dt{font-family:'Source Serif 4',serif;color:#C8923A;font-weight:600;letter-spacing:.04em}
.issue-toc dd{margin:0;color:#1B2A4E}
.issue-toc dd a{color:#1B2A4E;border-bottom:1px solid #C8923A}
.issue-toc dd a:hover{color:#7A2C2C;text-decoration:none}
.issue-toc-title{
  grid-column:1/-1;font-family:'Source Serif 4',serif;font-size:1.3rem;font-style:italic;
  color:#7A2C2C;border-bottom:1px solid #d6c8a4;padding-bottom:14px;margin-bottom:8px;
}

/* Lead article */
.lead-article{
  display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;
  padding:70px 0 50px;border-bottom:1px solid #d6c8a4;
}
.lead-article .meta{font-family:'Source Serif 4',serif;font-style:italic;font-size:.95rem;color:#7A2C2C;margin-bottom:14px;display:block}
.lead-article h2{font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:500;line-height:1.15;margin-bottom:18px}
.lead-article h2 a{color:inherit}
.lead-article h2 a:hover{color:#7A2C2C;text-decoration:none}
.lead-article p{font-size:1.05rem;color:#1f2a45;line-height:1.7}
.lead-article p.lede{
  font-family:'Source Serif 4',serif;font-style:italic;font-size:1.18rem;color:#1B2A4E;
  border-left:3px solid #C8923A;padding-left:18px;margin-bottom:18px;
}
.lead-article .byline{font-size:.84rem;color:#5a6680;margin-top:18px;letter-spacing:.04em}
.lead-article .byline strong{color:#1B2A4E;font-weight:700}
.lead-article img{aspect-ratio:4/5;object-fit:cover;filter:contrast(1.05) saturate(.95);border:1px solid #1B2A4E}

/* Articles grid (research papers style) */
.articles{padding:70px 0}
.articles h2.section-head{
  font-family:'Source Serif 4',serif;font-size:1.4rem;font-style:italic;color:#7A2C2C;
  text-align:center;margin-bottom:50px;font-weight:500;
  position:relative;
}
.articles h2.section-head::before,.articles h2.section-head::after{
  content:"§";color:#C8923A;font-style:normal;margin:0 18px;font-size:.9em;
}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:60px 56px}
.paper{
  border-top:2px solid #1B2A4E;padding-top:24px;
}
.paper .num{font-family:'Source Serif 4',serif;font-style:italic;font-size:1.1rem;color:#C8923A;letter-spacing:.04em}
.paper .keywords{font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;color:#7A2C2C;margin:14px 0 8px;font-weight:600}
.paper h3{font-size:1.55rem;line-height:1.22;margin-bottom:12px;font-weight:500}
.paper h3 a{color:#1B2A4E}
.paper h3 a:hover{color:#7A2C2C;text-decoration:none}
.paper .abstract{font-size:.98rem;color:#2a3550;margin-bottom:14px}
.paper .abstract strong{color:#7A2C2C;text-transform:uppercase;font-size:.78rem;letter-spacing:.12em;display:block;margin-bottom:4px}
.paper .read-on{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:#7A2C2C;font-weight:700;border-bottom:1px solid #C8923A;padding-bottom:1px}

/* Editor's note (pull) */
.editors-note{
  background:#1B2A4E;color:#F4EFE3;padding:60px 0;border-top:4px double #C8923A;border-bottom:4px double #C8923A;
}
.editors-note .container{max-width:780px}
.editors-note .label{font-family:'Source Serif 4',serif;font-style:italic;color:#C8923A;font-size:1rem;margin-bottom:16px;display:block;letter-spacing:.04em}
.editors-note p{font-family:'Source Serif 4',serif;font-size:1.45rem;font-style:italic;line-height:1.5;color:#F4EFE3;font-weight:400}
.editors-note .sig{font-size:.85rem;font-style:normal;color:#cdb98c;margin-top:16px;letter-spacing:.06em;font-family:'Source Sans 3',sans-serif;text-transform:uppercase;font-weight:600}

/* Page head (about, contact, privacy, terms) */
.page-head{padding:70px 0 30px;text-align:center;border-bottom:1px solid #d6c8a4;background:#1B2A4E;color:#F4EFE3}
.page-head .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.3em;color:#C8923A;font-weight:700}
.page-head h1{margin-top:18px;color:#F4EFE3}
.page-head h1 em{color:#C8923A;font-style:italic;font-weight:400}
.page-head p{font-family:'Source Serif 4',serif;font-style:italic;font-size:1.2rem;color:#cdb98c;max-width:680px;margin:14px auto 0}

/* Prose */
.prose{padding:50px 0 80px}
.prose p{font-size:1.04rem;color:#0E1626}
.prose h2{margin-top:46px;color:#1B2A4E;font-size:1.7rem}
.prose h2::before{content:"§ ";color:#C8923A;font-weight:500}
.prose h3{font-size:1.2rem;margin-top:28px;font-style:italic;color:#7A2C2C;font-weight:500}
.prose ul,.prose ol{padding-left:1.4em}
.prose li{margin-bottom:.5em}
.prose blockquote{
  border-left:3px solid #C8923A;padding:6px 0 6px 24px;margin:30px 0;
  font-family:'Source Serif 4',serif;font-style:italic;font-size:1.2rem;color:#1B2A4E;line-height:1.5;
}

/* Article page */
.post-hero{padding:70px 0 30px;background:#1B2A4E;color:#F4EFE3;border-bottom:4px double #C8923A}
.post-hero h1{color:#F4EFE3;font-size:clamp(2.1rem,4.4vw,3.5rem);max-width:880px;font-weight:500}
.post-hero .crumbs{font-size:.78rem;text-transform:uppercase;letter-spacing:.22em;color:#C8923A;margin-bottom:24px;font-weight:700}
.post-hero .deck{font-family:'Source Serif 4',serif;font-style:italic;font-size:1.32rem;color:#cdb98c;max-width:760px;margin-top:14px;line-height:1.5}
.post-hero .byline{margin-top:30px;display:flex;gap:18px;align-items:center;font-size:.85rem;color:#cdb98c}
.post-hero .byline img{width:54px;height:54px;border-radius:0;object-fit:cover;border:1px solid #C8923A}
.post-hero .byline strong{display:block;font-size:.95rem;color:#F4EFE3;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.post-figure{margin:40px 0}
.post-figure img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid #1B2A4E}
.post-figure figcaption{font-family:'Source Serif 4',serif;font-style:italic;font-size:.95rem;color:#5a6680;padding-top:10px;border-top:1px solid #d6c8a4;margin-top:10px}

.post-body{padding:30px 0 60px}
.post-body p:first-of-type::first-letter{
  font-family:'Source Serif 4',serif;font-size:4.2rem;float:left;line-height:.85;
  padding:8px 12px 0 0;color:#7A2C2C;font-weight:500;
}
.post-body p{font-size:1.05rem;color:#0E1626;margin-bottom:1.25em}
.post-body h2{font-size:1.7rem;margin:1.6em 0 .55em;color:#1B2A4E}
.post-body h2::before{content:"§ ";color:#C8923A}
.post-body h3{font-size:1.2rem;margin:1.3em 0 .4em;color:#7A2C2C;font-style:italic;font-weight:500}
.post-body blockquote{
  border-left:3px solid #C8923A;padding:10px 0 10px 26px;margin:34px 0;
  font-family:'Source Serif 4',serif;font-style:italic;font-size:1.32rem;color:#1B2A4E;line-height:1.45;
}
.post-body ul,.post-body ol{padding-left:1.4em;margin-bottom:1.2em}
.post-body li{margin-bottom:.45em}
.post-body hr{border:0;border-top:1px solid #C8923A;margin:48px auto;width:100px}

/* Footnote-like aside */
.aside{
  background:#F4EFE3;border:1px solid #d6c8a4;border-left:4px solid #7A2C2C;
  padding:18px 24px;margin:30px 0;font-size:.94rem;color:#2a3550;
}
.aside strong{color:#7A2C2C;text-transform:uppercase;font-size:.74rem;letter-spacing:.16em;display:block;margin-bottom:6px}

.post-end{padding:30px 0 70px;border-top:1px solid #d6c8a4;margin-top:50px}
.post-end .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.22em;color:#7A2C2C;margin-bottom:12px;display:block;font-weight:700}
.post-end h3{font-family:'Source Serif 4',serif;font-size:1.5rem;font-style:italic;font-weight:500;color:#1B2A4E}

/* Footer */
.site-footer{background:#0E1626;color:#9aa3b8;padding:70px 0 35px;border-top:4px double #C8923A}
.site-footer a{color:#9aa3b8}
.site-footer a:hover{color:#C8923A}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;margin-bottom:45px}
.foot-grid h4{color:#F4EFE3;font-family:'Source Serif 4',serif;font-size:1.2rem;margin-bottom:18px;font-weight:600}
.foot-grid ul{list-style:none;padding:0;margin:0;font-size:.94rem;line-height:2}
.foot-tag{font-family:'Source Serif 4',serif;font-style:italic;font-size:1.3rem;color:#C8923A;line-height:1.4}
.foot-bar{border-top:1px solid #243054;padding-top:28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:.82rem;color:#5a6680;letter-spacing:.04em}

/* Forms */
.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.form-row label{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:#5a6680;font-weight:700}
.form-row input,.form-row textarea{
  background:#fff;border:1px solid #d6c8a4;border-radius:0;padding:11px 14px;
  font:inherit;color:#0E1626;width:100%;
}
.form-row input:focus,.form-row textarea:focus{outline:none;border-color:#7A2C2C;box-shadow:0 0 0 3px rgba(122,44,44,.15)}
.form-row textarea{min-height:140px;resize:vertical}
.btn{
  display:inline-block;background:#1B2A4E;color:#F4EFE3;padding:14px 32px;
  font-size:.78rem;text-transform:uppercase;letter-spacing:.22em;border:0;cursor:pointer;
  font-family:'Source Sans 3',sans-serif;font-weight:700;
}
.btn:hover{background:#7A2C2C}

/* Reveal */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* Responsive */
@media (max-width:880px){
  .site-nav .container{flex-wrap:wrap;gap:18px;justify-content:center;padding:14px 18px}
  .site-nav.collapsed .container > a:not(:first-child){display:none}
  .site-nav.open .container > a{display:block}
  .nav-toggle{display:block}
  .lead-article{grid-template-columns:1fr;gap:36px;padding:50px 0 36px}
  .grid{grid-template-columns:1fr;gap:50px}
  .foot-grid{grid-template-columns:1fr;gap:32px}
  .issue-toc{grid-template-columns:1fr;gap:8px;padding:24px}
  .issue-toc dt{margin-top:12px;color:#7A2C2C}
}
