:root{
  --ink:#1b1912;
  --paper:#f4f0e6;
  --paper-dim:#e9e2d2;
  --line:#d8cfb8;
  --oxblood:#7d1f1f;
  --oxblood-dim:#f0dcd9;
  --muted:#7a7563;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Lora', Georgia, serif;
  font-size:18px;
  line-height:1.65;
}

a{color:inherit;}

.wrap{max-width:1120px; margin:0 auto; padding:0 28px;}

/* ===== Header ===== */
header.site{
  border-bottom:1px solid var(--line);
  background:var(--paper);
  position:sticky; top:0; z-index:50;
}
header.site .masthead{
  background:var(--ink);
  text-align:center;
  padding:20px 28px 16px;
}
header.site .masthead .logo{
  display:inline-block;
}
header.site .navbar{
  border-top:1px solid var(--line);
  background:var(--paper);
}
header.site .bar{
  display:flex; align-items:center; justify-content:center;
  padding:12px 28px;
  max-width:1120px; margin:0 auto;
  gap:32px;
}
.logo{
  display:flex; align-items:baseline; gap:2px;
  font-family:'Montserrat', sans-serif;
  font-weight:800;
  font-size:22px;
  letter-spacing:0.5px;
  text-decoration:none;
  color:var(--ink);
}
.logo .s-inv{
  display:inline-block; transform:rotate(180deg);
  color:var(--oxblood);
}
nav.main{display:flex; gap:28px; font-family:'Montserrat',sans-serif; font-size:13px; letter-spacing:1.5px; text-transform:uppercase;}
nav.main a{text-decoration:none; color:var(--ink); opacity:0.75; padding-bottom:3px; border-bottom:2px solid transparent;}
nav.main a:hover{opacity:1; border-bottom-color:var(--oxblood);}

/* ===== Hero ===== */
.hero{
  padding:64px 0 48px;
  border-bottom:1px solid var(--line);
}
.hero .kicker{
  font-family:'Montserrat',sans-serif; font-size:12px; letter-spacing:3px; text-transform:uppercase;
  color:var(--oxblood); margin-bottom:14px; display:block;
}
.hero h1{
  font-family:'Fraunces', 'Lora', serif;
  font-weight:600;
  font-size:clamp(34px, 5vw, 56px);
  line-height:1.08;
  margin:0 0 18px;
  max-width:16ch;
}
.hero .dek{
  font-size:19px; color:#4a4636; max-width:56ch; margin:0 0 28px;
}
.hero .dek em{color:var(--oxblood); font-style:normal;}

/* ===== Section labels ===== */
.section-head{
  display:flex; align-items:baseline; justify-content:space-between;
  margin:56px 0 22px;
  border-bottom:1px solid var(--line);
  padding-bottom:10px;
}
.section-head h2{
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:14px;
  letter-spacing:2.5px; text-transform:uppercase; margin:0;
}
.section-head a.viewall{font-family:'Montserrat',sans-serif; font-size:12px; letter-spacing:1px; text-decoration:none; color:var(--muted);}

/* ===== Essay grid ===== */
.essay-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:32px;
}
.essay-card{text-decoration:none; color:var(--ink); display:block;}
.essay-card .tag{
  font-family:'Montserrat',sans-serif; font-size:11px; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--oxblood); display:block; margin-bottom:10px;
}
.essay-card h3{
  font-family:'Fraunces','Lora',serif; font-weight:600; font-size:23px; line-height:1.25; margin:0 0 10px;
}
.essay-card p{font-size:15px; color:#5a5645; margin:0 0 12px;}
.essay-card .byline{font-family:'Montserrat',sans-serif; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:1px;}

/* ===== Debates (signature section) ===== */
.debates{
  background:var(--paper-dim);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:56px 0;
  margin:64px 0;
}
.debate-card{
  display:grid; grid-template-columns:1fr 90px 1fr;
  align-items:stretch; margin-bottom:36px;
  background:var(--paper);
  border:1px solid var(--line);
}
.debate-side{padding:30px;}
.debate-side.for{border-right:0;}
.debate-side.against{background:#fbf5f4;}
.debate-side .stance{
  font-family:'Montserrat',sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase;
  margin-bottom:10px; display:block;
}
.debate-side.for .stance{color:var(--ink);}
.debate-side.against .stance{color:var(--oxblood);}
.debate-side h4{font-family:'Fraunces','Lora',serif; font-size:20px; margin:0 0 8px; font-weight:600;}
.debate-side p{font-size:14.5px; color:#5a5645; margin:0;}
.debate-topic{
  text-align:center; font-family:'Montserrat',sans-serif; font-size:13px; letter-spacing:1px;
  color:var(--muted); margin:0 0 14px;
}

/* Janus divider mark */
.janus-divider{
  display:flex; align-items:center; justify-content:center;
  border-left:1px solid var(--line); border-right:1px solid var(--line);
  position:relative;
  overflow:visible;
}
.thought-boxes-svg{width:276px; height:276px; display:block; position:relative; z-index:2;}

/* ===== Footer ===== */
footer.site{
  border-top:1px solid var(--line);
  padding:40px 0; margin-top:64px;
  font-family:'Montserrat',sans-serif; font-size:12px; color:var(--muted);
}
footer.site .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;}

/* ===== Essay page ===== */
.essay-header{padding:56px 0 24px; border-bottom:1px solid var(--line);}
.essay-header .tag{font-family:'Montserrat',sans-serif; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--oxblood);}
.essay-header h1{font-family:'Fraunces','Lora',serif; font-weight:600; font-size:clamp(30px,4.5vw,46px); line-height:1.12; margin:14px 0 18px;}
.byline-row{display:flex; align-items:center; gap:14px; margin-top:18px;}
.avatar{width:44px; height:44px; border-radius:50%; background:var(--paper-dim); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-weight:700; font-size:15px; overflow:hidden;}
.byline-meta a.author-link{font-weight:700; text-decoration:none; border-bottom:1px solid var(--oxblood);}
.byline-meta .meta-sub{font-family:'Montserrat',sans-serif; font-size:12px; color:var(--muted); letter-spacing:0.5px;}

.essay-body{padding:36px 0 20px; max-width:72ch;}
.essay-body p{margin:0 0 22px;}
.essay-body .pullquote{
  font-family:'Fraunces','Lora',serif; font-size:26px; line-height:1.4; color:var(--oxblood);
  border-left:3px solid var(--oxblood); padding-left:22px; margin:36px 0;
}

.counterpart-note{
  background:var(--paper-dim); border:1px solid var(--line); padding:18px 22px;
  font-family:'Montserrat',sans-serif; font-size:13px; margin:36px 0; max-width:72ch;
}
.counterpart-note a{color:var(--oxblood); font-weight:700; text-decoration:none;}

/* ===== Comments ===== */
.comments-section{max-width:72ch; padding:40px 0 64px; border-top:1px solid var(--line); margin-top:36px;}
.comments-section h3{font-family:'Montserrat',sans-serif; font-size:13px; letter-spacing:2px; text-transform:uppercase; margin-bottom:20px;}
#giscus-comments{min-height:60px;}

/* ===== Responsive ===== */
@media (max-width: 860px){
  nav.main{display:none;}
  .essay-grid{grid-template-columns:1fr;}
  .debate-card{grid-template-columns:1fr; }
  .janus-divider{border:none; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:10px 0;}
  .debate-side.against{border-left:0;}
}

:focus-visible{outline:2px solid var(--oxblood); outline-offset:2px;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }

/* Inline SVG logo sizing */
.site-logo-svg{
  width:min(340px, 70vw);
  height:auto;
  display:block;
}

/* Studio credit footer row */
.studio-credit{
  justify-content:center !important;
  align-items:center;
  gap:20px;
  padding:36px 0 44px;
  margin-top:14px;
  border-top:1px solid var(--line);
}
.studio-credit-label{
  font-family:'Alex Brush', cursive;
  font-size:32px;
  font-weight:400;
  letter-spacing:0.5px;
  color:var(--ink);
}
.studio-mark-svg{
  height:72px;
  width:auto;
  display:block;
}
