:root{
  --paper:#f4f3ee;
  --surface:#fff;
  --ink:#101713;
  --muted:#66706b;
  --line:#d6dbd7;
  --brand:#0e6b4f;
  --brand-dark:#094b38;
  --wash:#eaf1ed;
  --site-width:1180px;
}

body{
  background:
    linear-gradient(to bottom,rgba(16,23,19,.025) 1px,transparent 1px) 0 0/100% 48px,
    var(--paper);
}

.site-header{
  position:relative;
  background:rgba(244,243,238,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(16,23,19,.18);
}
.site-header::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:var(--ink);
}
.header-top{min-height:78px}
.brand{
  position:relative;
  font-size:2.02rem;
  font-weight:900;
  letter-spacing:-.055em;
  line-height:1;
}
.brand::after{
  content:"";
  position:absolute;
  right:-11px;
  bottom:1px;
  width:7px;
  height:7px;
  background:var(--brand);
}
.tagline{font-size:.72rem;letter-spacing:.02em}
.header-utility nav a{transition:color .18s ease}
.header-utility nav a:hover{color:var(--ink)}
.site-nav{padding:11px 0 13px}
.site-nav a{
  padding:5px 14px;
  font-size:.82rem;
  letter-spacing:.01em;
  transition:color .18s ease,border-color .18s ease;
}

.main-inner{padding-block:38px 88px}
.eyebrow,.section-kicker,.story-label,.rail-label,.author-label{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--brand-dark);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.11em;
}
.eyebrow::before,.story-label::before{
  content:"";
  width:18px;
  height:2px;
  background:var(--brand);
}

.home-lead{
  grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);
  gap:clamp(52px,8vw,104px);
  padding:52px 0 54px;
}
.home-intro-copy{position:relative;padding-top:8px}
.home-intro-copy::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-28px;
  width:72px;
  height:5px;
  background:var(--brand);
}
.home-intro-copy h1{
  max-width:760px;
  font-size:clamp(2.55rem,5vw,3.4rem);
  font-weight:850;
  line-height:1.28;
  letter-spacing:-.048em;
  text-wrap:balance;
}
.home-lead-copy{
  max-width:640px;
  margin-top:24px;
  font-size:1rem;
  line-height:2;
}
.featured-story{
  position:relative;
  margin-top:6px;
  padding:26px 26px 28px;
  background:var(--surface);
  border:1px solid var(--line);
  border-top:5px solid var(--ink);
}
.featured-story::after{
  content:"→";
  position:absolute;
  right:24px;
  bottom:20px;
  color:var(--brand);
  font-size:1.3rem;
  font-weight:700;
}
.featured-story h2{font-size:clamp(1.35rem,2.3vw,1.68rem);line-height:1.48}
.featured-story .text-link{padding-right:26px}

.home-note{
  display:grid;
  grid-template-columns:240px 1fr auto;
  gap:28px;
  align-items:center;
  margin:10px 0 0;
  padding:18px 0;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
}
.home-note strong{font-size:.94rem;letter-spacing:.01em}
.home-note p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.7}
.home-note a{font-size:.8rem;font-weight:750;white-space:nowrap}

.section{margin-top:70px}
.section-heading{
  position:relative;
  margin-bottom:20px;
  padding-bottom:14px;
  border-bottom:1px solid var(--ink);
}
.section-heading::before{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:54px;
  height:3px;
  background:var(--brand);
}
.section-heading h2{font-size:1.62rem;letter-spacing:-.035em}

.article-list{border-top:0}
.article-row{
  position:relative;
  grid-template-columns:136px minmax(0,1fr) 26px;
  gap:28px;
  padding:24px 12px 24px 0;
  border-bottom:1px solid var(--line);
  transition:background .18s ease,padding-left .18s ease;
}
.article-row::after{
  content:"↗";
  align-self:center;
  color:#98a19c;
  font-size:.9rem;
  transition:color .18s ease,transform .18s ease;
}
.article-row:hover{
  padding-left:12px;
  background:rgba(255,255,255,.5);
}
.article-row:hover::after{color:var(--brand);transform:translate(2px,-2px)}
.article-row h3{font-size:1.08rem;letter-spacing:-.012em}
.article-row h3 a{display:inline;text-decoration:none;background-image:linear-gradient(var(--brand),var(--brand));background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .2s ease}
.article-row:hover h3 a{background-size:100% 1px}

.topic-list{border-top:1px solid var(--ink)}
.topic-item{
  position:relative;
  grid-template-columns:minmax(220px,.85fr) minmax(320px,1.15fr);
  gap:46px;
  padding:27px 4px 27px 18px;
  transition:background .18s ease;
}
.topic-item::before{
  content:"";
  position:absolute;
  left:0;
  top:31px;
  width:5px;
  height:5px;
  background:var(--brand);
}
.topic-item:hover{background:rgba(255,255,255,.42)}
.topic-copy h3{font-size:1.08rem;letter-spacing:-.015em}
.topic-latest{padding-left:26px}

.reading-grid{gap:18px}
.reading-card{
  position:relative;
  min-height:220px;
  padding:22px 22px 24px;
  background:var(--surface);
  border:1px solid var(--line);
  border-top:4px solid var(--ink);
  transition:transform .18s ease,border-color .18s ease;
}
.reading-card:hover{transform:translateY(-3px);border-color:#aeb7b1}
.reading-card h3{font-size:1.1rem;letter-spacing:-.015em}

.editor-letter{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:60px;
  margin-top:78px;
  padding:36px 40px;
  background:var(--ink);
  color:#f5f4ef;
}
.editor-letter h2{margin:6px 0 0;color:#fff;font-size:1.65rem;line-height:1.45;letter-spacing:-.03em}
.editor-letter-label{margin:0;color:#9fc9b8;font-size:.72rem;font-weight:800;letter-spacing:.08em}
.editor-letter p{margin:0 0 14px;color:#cbd2ce}
.editor-letter a{color:#fff}

.category-header{
  padding:26px 0 34px;
  border-top:4px solid var(--ink);
}
.category-header h1{font-size:clamp(2.2rem,4vw,2.8rem);letter-spacing:-.045em}
.category-feature{
  max-width:860px;
  margin-top:38px;
  padding:26px 30px;
  background:var(--surface);
  border:1px solid var(--line);
  border-left:5px solid var(--brand);
}

.article-layout{gap:72px}
.article-header{padding:14px 0 28px;border-top:4px solid var(--ink)}
.article-header h1{font-size:clamp(2.15rem,4vw,2.72rem);letter-spacing:-.045em}
.article-lead{font-size:1rem}
.article-byline{padding-top:4px}
.prose h2{
  position:relative;
  margin-top:2.7em;
  padding-top:.75em;
  border-top:2px solid var(--ink);
  font-size:1.55rem;
  letter-spacing:-.025em;
}
.prose h2::before{
  content:"";
  position:absolute;
  top:-2px;
  left:0;
  width:58px;
  height:4px;
  background:var(--brand);
}
.article-cta{border-top:4px solid var(--brand)}
.rail-block{border-top:3px solid var(--ink)}

.site-footer{
  background:var(--ink);
  color:#c7cfca;
  border-top:0;
}
.site-footer a{color:#eef2ef}
.footer-brand{color:#fff!important;font-weight:900;letter-spacing:-.045em}
.footer-groups h2{color:#96a59d}
.footer-note{border-top-color:#344039!important;color:#8f9c95!important}

@media(max-width:900px){
  body{background:var(--paper)}
  .home-lead{grid-template-columns:1fr;gap:48px;padding:34px 0 42px}
  .home-intro-copy h1{font-size:clamp(2.15rem,9vw,2.8rem)}
  .featured-story{margin-top:0}
  .home-note{grid-template-columns:1fr;gap:8px;padding:16px 0}
  .article-row{grid-template-columns:1fr;gap:7px;padding:20px 0}
  .article-row::after{display:none}
  .article-row:hover{padding-left:0}
  .topic-item{grid-template-columns:1fr;gap:14px;padding:22px 0 22px 16px}
  .topic-latest{padding-left:0;border-left:0}
  .reading-grid{grid-template-columns:1fr}
  .reading-card{min-height:0}
  .editor-letter{grid-template-columns:1fr;gap:22px;padding:28px 24px}
}

@media(max-width:600px){
  .header-top{min-height:68px}
  .brand{font-size:1.72rem}
  .main-inner{padding-block:24px 58px}
  .home-lead{padding-top:22px}
  .home-intro-copy::after{bottom:-20px;width:52px;height:4px}
  .home-lead-copy{font-size:.94rem;line-height:1.9}
  .featured-story{padding:22px 20px 24px}
  .section{margin-top:52px}
  .section-heading h2{font-size:1.42rem}
  .category-header h1,.article-header h1{font-size:2rem}
}
