:root{
  --paper:#FFFFFF;
  --ink:#14161C;
  --ink-soft:#565B66;
  --navy:#141E55;
  --navy-deep:#0B1338;
  --iron:#8B909C;
  --hairline:#E3E5E8;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
}
.wrap{max-width:980px;margin:0 auto;padding:0 24px 80px;}
a{color:var(--navy);text-decoration:none;}
a:hover{color:var(--navy-deep);}

/* Masthead */
header.masthead{padding:56px 0 8px;}
.eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-soft);
  display:flex;
  justify-content:space-between;
  padding-bottom:26px;
}
h1.title{
  font-family:'Playfair Display', serif;
  font-weight:600;
  font-size:clamp(34px,5vw,50px);
  color:var(--navy);
  margin:0 0 28px;
  letter-spacing:.01em;
}
h1.title a{color:inherit;}
.tagline{
  display:none;
}

/* Nav */
nav.mainnav{
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  padding:0 0 34px;
  border-bottom:1px solid var(--hairline);
  margin-bottom:34px;
}
nav.mainnav a{
  font-size:13px;
  font-weight:500;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--ink);
}
nav.mainnav a.fr-link{
  margin-left:auto;
  color:var(--navy);
  font-weight:600;
}
nav.mainnav a:hover{color:var(--navy);}

/* Section headings */
h2.section-heading{
  font-family:'Inter', sans-serif;
  font-weight:600;
  font-size:12.5px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--navy);
  border-bottom:1px solid var(--iron);
  padding-bottom:12px;
  margin:0 0 32px;
}

/* Article grid */
.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 56px;
  margin:0 0 24px;
}
.grid.single{grid-template-columns:1fr;}
.grid > article{
  border-top:1px solid var(--hairline);
  padding:28px 0 32px;
}
@media (max-width:700px){ .grid{grid-template-columns:1fr;gap:0;} }

.post-eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--iron);
  margin-bottom:8px;
}
.post-title{
  font-family:'Playfair Display', serif;
  font-weight:600;
  font-size:22px;
  line-height:1.25;
  margin:0 0 10px;
}
.post-title a{color:var(--navy);}
.post-excerpt{
  font-size:14px;
  color:var(--ink-soft);
  line-height:1.55;
  margin:0 0 14px;
}
.read-more{
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:uppercase;
}

/* Article page */
main.article{padding-top:8px;}
.article-eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--iron);
  font-weight:600;
  margin-bottom:14px;
}
.article h1{
  font-family:'Playfair Display', serif;
  font-size:clamp(28px,4vw,40px);
  color:var(--navy);
  line-height:1.2;
  margin:0 0 28px;
}
.article-body{font-size:17px;}
.article-body p{margin:0 0 20px;}
.article-body h2{
  font-family:'Playfair Display', serif;
  font-size:23px;
  color:var(--navy);
  margin:36px 0 16px;
}
.article-body em{color:var(--ink-soft);}
.article-body table{
  width:100%;
  border-collapse:collapse;
  margin:24px 0;
  font-size:14px;
}
.article-body table th, .article-body table td{
  border:1px solid var(--hairline);
  padding:10px 14px;
  text-align:left;
}
.article-body table th{
  background:#F7F8F9;
  font-weight:600;
  color:var(--navy);
}
.article-body table tr:nth-child(even) td{background:#FBFBFC;}
.disclaimer{
  font-size:13px;
  color:var(--ink-soft);
  border-top:1px solid var(--hairline);
  margin-top:36px;
  padding-top:20px;
}
.back-link{
  display:inline-block;
  margin-top:36px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:uppercase;
}

/* Footer */
footer.sitefooter{
  border-top:1px solid var(--hairline);
  margin-top:48px;
  padding-top:24px;
  font-size:12.5px;
  color:var(--ink-soft);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
}

/* Hero banner */
.hero{
  position:relative;
  margin:0 0 40px;
  min-height:380px;
  border-radius:2px;
  overflow:hidden;
  background-image:linear-gradient(90deg, rgba(11,19,56,.92) 0%, rgba(11,19,56,.55) 45%, rgba(11,19,56,.15) 75%), url('https://images.unsplash.com/photo-1581668181500-08c6a6e006f7?fm=jpg&q=60&w=1600&auto=format&fit=crop');
  background-size:cover;
  background-position:center 20%;
  display:flex;
  align-items:flex-end;
  padding:40px;
}
.hero-text h2{
  font-family:'Playfair Display', serif;
  font-weight:600;
  color:#FFFFFF;
  font-size:clamp(28px,4.2vw,44px);
  line-height:1.2;
  margin:0 0 12px;
  max-width:560px;
}
.hero-text p{
  font-family:'Inter', sans-serif;
  font-weight:400;
  color:#E7E9EF;
  font-size:18px;
  margin:0;
}
@media (max-width:600px){ .hero{min-height:300px;padding:26px;} }
