:root{
  --bg:#f7f6f2;
  --text:#111111;
  --muted:#6e6a63;
  --line:#e3ded4;
  --accent:#1f6f66;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:inherit;text-decoration:none}

.df-container{
  width:min(1120px,calc(100% - 56px));
  margin:0 auto;
}

.df-header{
  padding:34px 0 0;
}

.df-header-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}

.df-brand{
  font-size:20px;
  font-weight:700;
  letter-spacing:-0.02em;
}

.df-nav{
  display:flex;
  gap:34px;
}

.df-nav a{
  font-size:14px;
  color:var(--muted);
}

.df-main{
  min-height:calc(100vh - 140px);
}

.df-hero{
  padding:72px 0 44px;
}

.df-eyebrow{
  margin:0 0 18px;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}

.df-hero h1{
  margin:0;
  max-width:1120px;
  font-size:56px;
  line-height:1;
  letter-spacing:-0.05em;
  font-weight:800;
}

.df-accent{color:var(--accent)}

.df-lead{
  margin:26px 0 0;
  max-width:1120px;
  font-size:17px;
  line-height:1.65;
  color:#2a2a2a;
}

.df-home-links{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
  padding:18px 0 40px;
}

.df-card{
  background:rgba(255,255,255,.42);
  border:1px solid var(--line);
  padding:26px 24px 22px;
  min-height:210px;
}

.df-card-kicker{
  display:block;
  margin-bottom:14px;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}

.df-card strong{
  display:block;
  margin-bottom:12px;
  font-size:28px;
  line-height:1.12;
  letter-spacing:-0.03em;
}

.df-card p{
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:var(--muted);
}

.df-latest{
  padding:0 0 96px;
}

.df-latest-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}

.df-latest-card{
  border-top:1px solid var(--line);
  padding-top:18px;
}

.df-latest-kicker{
  margin-bottom:14px;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}

.df-latest-card h3{
  margin:0 0 10px;
  font-size:30px;
  line-height:1.12;
  letter-spacing:-0.03em;
}

.df-latest-card p{
  margin:0 0 14px;
  font-size:15px;
  line-height:1.75;
  color:var(--muted);
}

.df-latest-meta{
  font-size:13px;
  color:var(--muted);
}

.df-section-hero{
  padding:64px 0 20px;
}

.df-section-hero h1{
  margin:0;
  font-size:56px;
  line-height:1.04;
  letter-spacing:-0.045em;
}

.df-section-lead{
  margin:18px 0 0;
  max-width:780px;
  font-size:18px;
  line-height:1.75;
  color:#2a2a2a;
}

.df-list{
  padding:8px 0 96px;
}

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

.df-list-item a{
  display:block;
  padding:26px 0 24px;
}

.df-list-meta{
  margin-bottom:8px;
  font-size:13px;
  color:var(--muted);
}

.df-list-item h2{
  margin:0 0 10px;
  font-size:34px;
  line-height:1.14;
  letter-spacing:-0.03em;
}

.df-list-item p{
  margin:0;
  max-width:780px;
  font-size:17px;
  line-height:1.8;
  color:var(--muted);
}

.df-article{
  max-width:780px;
  padding:64px 0 96px;
}

.df-article-header{
  margin-bottom:32px;
}

.df-article-meta{
  margin-bottom:10px;
  font-size:13px;
  color:var(--muted);
}

.df-article h1{
  margin:0;
  font-size:56px;
  line-height:1.04;
  letter-spacing:-0.045em;
}

.df-article-summary{
  margin:18px 0 0;
  font-size:20px;
  line-height:1.75;
  color:#2a2a2a;
}

.df-content{
  font-size:20px;
  line-height:1.95;
  color:#1f1f1f;
}

.df-content p{margin:0 0 1.15em}
.df-content h2{
  margin:2.2em 0 .6em;
  font-size:34px;
  line-height:1.18;
}
.df-content h3{
  margin:1.8em 0 .55em;
  font-size:26px;
  line-height:1.25;
}
.df-content blockquote{
  margin:1.6em 0;
  padding-left:18px;
  border-left:2px solid var(--line);
  color:var(--muted);
}
.df-content code{
  padding:.16em .38em;
  background:#efebe3;
  border-radius:4px;
  font-size:.88em;
}
.df-content pre{
  overflow:auto;
  padding:18px;
  background:#efebe3;
  border-radius:10px;
}

.df-comments{
  margin-top:48px;
  padding-top:28px;
  border-top:1px solid var(--line);
}

.df-footer{
  padding:0 0 28px;
}

.df-footer-inner{
  border-top:1px solid var(--line);
  padding-top:18px;
}

.df-footer-inner p{
  margin:0;
  font-size:13px;
  color:var(--muted);
}

@media (max-width:980px){
  .df-home-links,
  .df-latest-grid{grid-template-columns:1fr}
  .df-hero h1{font-size:58px}
  .df-section-hero h1,
  .df-article h1{font-size:44px}
}

@media (max-width:640px){
  .df-container{width:min(100% - 28px,1120px)}
  .df-header-inner{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }
  .df-nav{
    gap:16px;
    flex-wrap:wrap;
  }
  .df-hero{
    padding:44px 0 28px;
  }
  .df-hero h1{
    font-size:40px;
    line-height:1.04;
  }
  .df-lead{
    font-size:17px;
  }
  .df-section-hero h1,
  .df-article h1{
    font-size:36px;
  }
  .df-content{
    font-size:18px;
  }
  .df-list-item h2{
    font-size:24px;
  }
}
