/* Cassius Archive — a quiet editorial surface built on the main site tokens. */

body.archive-page{
  min-height:100vh;
  background:var(--surface);
}

.archive-shell{
  width:min(100%, 1180px);
  margin:0 auto;
  padding-inline:clamp(24px, 5vw, 72px);
}

.archive-header{
  height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.archive-logo{
  color:var(--text);
  font-family:"Open Sans", Arial, sans-serif;
  font-size:18px;
  font-weight:700;
  letter-spacing:-.045em;
}

.archive-nav{
  display:flex;
  align-items:center;
  gap:24px;
  color:var(--text-muted);
  font-size:13px;
  font-weight:500;
}

.archive-nav a{ transition:color var(--t); }
.archive-nav a:hover,
.archive-nav a[aria-current="page"]{ color:var(--text); }

.archive-main{
  min-height:calc(100vh - 164px);
  padding-block:clamp(86px, 13vw, 168px) clamp(110px, 16vw, 190px);
}

.archive-intro{
  max-width:760px;
  margin-bottom:clamp(76px, 10vw, 118px);
}

.archive-kicker,
.article-kicker{
  margin-bottom:18px;
  color:var(--text-muted);
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
}

.archive-title{
  max-width:720px;
  color:var(--text);
  font-size:clamp(54px, 9vw, 110px);
  font-weight:600;
  letter-spacing:-.072em;
  line-height:.91;
}

.archive-deck{
  max-width:600px;
  margin-top:30px;
  color:var(--text-body);
  font-size:clamp(17px, 2vw, 21px);
  letter-spacing:-.018em;
  line-height:1.5;
}

.post-list{ border-top:1px solid var(--line); }

.post-item{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:40px;
  padding-block:34px 38px;
  border-bottom:1px solid var(--line);
  transition:opacity var(--t);
}

.post-item:hover{ opacity:.64; }

.post-item__eyebrow{
  margin-bottom:12px;
  color:var(--text-muted);
  font-size:12px;
  font-weight:600;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.post-item__title{
  max-width:780px;
  color:var(--text);
  font-size:clamp(27px, 4vw, 46px);
  font-weight:550;
  letter-spacing:-.045em;
  line-height:1.06;
}

.post-item__summary{
  max-width:660px;
  margin-top:16px;
  color:var(--text-body);
  font-size:16px;
  line-height:1.6;
}

.post-item__arrow{
  align-self:center;
  color:var(--text);
  font-size:25px;
  font-weight:300;
  transition:transform var(--t);
}

.post-item:hover .post-item__arrow{ transform:translateX(6px); }

.archive-footer{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid var(--line);
  color:var(--text-muted);
  font-size:12px;
}

.archive-footer a{ transition:color var(--t); }
.archive-footer a:hover{ color:var(--text); }

/* Article */
.article-wrap{
  width:min(100%, 960px);
  margin:0 auto;
  padding-inline:clamp(24px, 5vw, 56px);
}

.article-hero{
  padding-block:clamp(92px, 13vw, 156px) clamp(68px, 10vw, 112px);
}

.article-title{
  color:var(--text);
  font-size:clamp(44px, 7.4vw, 78px);
  font-weight:600;
  letter-spacing:-.062em;
  line-height:.98;
  text-wrap:balance;
}

.article-deck{
  margin-top:30px;
  max-width:650px;
  color:var(--text-body);
  font-size:clamp(19px, 2.5vw, 24px);
  letter-spacing:-.025em;
  line-height:1.48;
}

.article-meta{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:38px;
  color:var(--text-muted);
  font-size:13px;
}

.article-meta span + span::before{
  content:"";
  display:inline-block;
  width:3px;
  height:3px;
  margin:0 10px 3px 0;
  border-radius:50%;
  background:var(--text-faint);
}

.article-body{
  padding-bottom:clamp(110px, 15vw, 176px);
  color:var(--ink-strong);
  font-size:clamp(18px, 2vw, 20px);
  letter-spacing:-.012em;
  line-height:1.72;
}

.article-body > p{ margin:0 0 1.35em; }

.article-body h2{
  margin:2.25em 0 .72em;
  color:var(--text);
  font-size:clamp(29px, 4.5vw, 42px);
  font-weight:600;
  letter-spacing:-.045em;
  line-height:1.08;
  text-wrap:balance;
}

.article-body strong{ color:var(--text); font-weight:650; }
.article-body em{ color:var(--text); }

.article-body blockquote{
  margin:2.15em 0;
  padding:0 0 0 clamp(22px, 4vw, 34px);
  border-left:2px solid var(--text);
  color:var(--text);
  font-size:clamp(23px, 3.4vw, 32px);
  font-weight:500;
  letter-spacing:-.035em;
  line-height:1.28;
}

.article-body blockquote p{ margin:0; }

.article-rule{
  width:44px;
  height:1px;
  margin:70px 0;
  border:0;
  background:var(--line-strong);
}

.article-end{
  margin-top:76px;
  padding-top:28px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  color:var(--text-muted);
  font-size:13px;
}

.article-end a{ color:var(--text); font-weight:550; }

@media (max-width:680px){
  .archive-header{ height:70px; }
  .archive-nav{ gap:17px; font-size:12px; }
  .archive-main{ padding-top:74px; }
  .archive-title{ letter-spacing:-.06em; }
  .post-item{ grid-template-columns:1fr auto; gap:18px; padding-block:28px 31px; }
  .post-item__summary{ font-size:15px; }
  .archive-footer{ min-height:76px; }
  .article-hero{ padding-top:72px; }
  .article-title{ letter-spacing:-.052em; }
  .article-meta{ flex-wrap:wrap; }
  .article-body{ line-height:1.68; }
  .article-end{ align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion:reduce){
  .post-item,
  .post-item__arrow,
  .archive-nav a{ transition:none; }
}
