:root{
  --bg:#121212;
  --ink:#F2F0EB;
  --accent:#8FAE9C;
  --meta:#A8A49C;
  --rule:#2A2A28;
  --panel:#1A1A1A;
  --max:1040px;
  --read:680px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(143,174,156,0.35)}
a:hover{border-bottom-color:var(--accent)}
h1,h2,h3{font-family:"Newsreader",Georgia,"Times New Roman",serif;font-weight:500;line-height:1.2;margin:0}
h1{font-size:3rem;letter-spacing:-0.015em}
h2{font-size:1.6rem;margin:2.8rem 0 0.7rem}
h3{font-size:1.18rem;margin:2rem 0 0.5rem;font-weight:600}
p{margin:0 0 1.1rem}
ul,ol{margin:0 0 1.1rem;padding-left:1.2rem}
li{margin:0 0 0.4rem}
hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}
strong{font-weight:600}
blockquote{margin:1.5rem 0;padding-left:1.2rem;border-left:2px solid var(--rule);color:var(--meta)}
.label{
  font-size:0.72rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--accent);margin:0 0 1rem;
}
.meta{color:var(--meta);font-size:0.85rem}

/* header */
.site-header{border-bottom:1px solid var(--rule)}
.site-header .wrap{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:20px;flex-wrap:wrap;padding-top:26px;padding-bottom:26px;
}
.wordmark{
  font-family:"Newsreader",Georgia,serif;font-size:1.35rem;font-weight:600;
  color:var(--ink);border:0;letter-spacing:-0.01em;
}
.wordmark:hover{color:var(--accent)}
.wordmark{border-bottom:0}
nav ul{display:flex;flex-wrap:wrap;gap:10px 26px;list-style:none;margin:0;padding:0}
nav li{margin:0}
nav a{
  border:0;color:var(--ink);font-size:0.8rem;font-weight:600;
  letter-spacing:0.11em;text-transform:uppercase;
}
nav a:hover,nav a[aria-current="page"]{color:var(--accent)}

/* layout */
main{padding:80px 0 96px}
.read{max-width:var(--read)}
.read h1 + p:not(.lead){margin-top:1.4rem}
.read h1 + h2{margin-top:2.4rem}
.lead{font-size:1.18rem;color:var(--meta);margin-top:1.3rem}

/* hero */
.hero{max-width:var(--read);padding-bottom:72px;border-bottom:1px solid var(--rule)}
.hero h1{font-size:3.6rem}
.hero p{font-size:1.18rem;margin-top:1.5rem;color:var(--meta)}

/* report list */
.section{margin-top:72px}
.section > .label{margin-bottom:1.6rem}
.cards{display:grid;gap:16px}
.card{
  background:var(--panel);border:1px solid var(--rule);border-radius:2px;
  padding:26px 28px;
}
.card .card-meta{
  font-size:0.72rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--meta);margin:0 0 0.7rem;
}
.card .card-meta .num{color:var(--accent)}
.card h2,.card h3{font-family:"Newsreader",Georgia,serif;font-size:1.45rem;margin:0 0 0.6rem;font-weight:500}
.card h2 a,.card h3 a{color:var(--ink);border:0}
.card h2 a:hover,.card h3 a:hover{color:var(--accent)}
.card p{margin:0;color:var(--meta);font-size:0.97rem}

/* article */
article.report{max-width:var(--read)}
.report-meta{
  font-size:0.72rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--meta);margin:0 0 1.1rem;
}
.report-meta .num{color:var(--accent)}
.report-body{margin-top:2.4rem}
.report-body h2{padding-top:0.4rem}
.subject{
  margin:2.8rem 0 0;padding:22px 24px;background:var(--panel);
  border:1px solid var(--rule);border-radius:2px;
}
.subject .label{margin-bottom:0.5rem}
.subject p{margin:0}
.subject .subject-name{font-family:"Newsreader",Georgia,serif;font-size:1.15rem;font-weight:500}

/* video */
.videos{margin:2.4rem 0 0}
.video{position:relative;padding-bottom:56.25%;height:0;margin-bottom:16px;border:1px solid var(--rule);border-radius:2px;overflow:hidden}
.video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

/* team */
.team{margin-top:56px;border-top:1px solid var(--rule)}
.person{
  display:flex;gap:32px;align-items:flex-start;
  padding:38px 0;border-bottom:1px solid var(--rule);
}
.person img{
  width:210px;height:262px;object-fit:cover;display:block;flex:none;
  border:1px solid var(--rule);border-radius:2px;background:var(--panel);
  filter:grayscale(1);
}
.person-body{max-width:var(--read)}
.person h2{font-size:1.6rem;margin:0}
.person .role{
  font-size:0.72rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--accent);margin:0.5rem 0 1rem;
}
.person p:last-child{margin-bottom:0}

/* full-width plate */
.plate{
  margin:88px 0 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  background:var(--panel);
}
.plate img{
  display:block;width:100%;height:clamp(320px,46vw,600px);
  object-fit:cover;object-position:center 12%;filter:grayscale(1);
}

/* mission */
.mission{padding:96px 0 8px}
.mission .read{max-width:var(--read)}
.mission h2{
  font-size:1.9rem;margin:0 0 1.6rem;letter-spacing:-0.01em;
}
.mission p{font-family:"Newsreader",Georgia,"Times New Roman",serif;font-size:1.2rem;line-height:1.62}
.signoff{margin-top:2.8rem}
.signoff img{
  display:block;width:280px;max-width:100%;height:auto;margin:0 0 0.9rem -6px;
}
.signoff .signoff-name{
  margin:0;color:var(--meta);font-size:0.82rem;line-height:1.6;
  font-family:"Public Sans",-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;
  letter-spacing:0.02em;
}
.signoff .signoff-name span{display:block}

/* footer */
.site-footer{border-top:1px solid var(--rule);padding:28px 0 40px}
.site-footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.site-footer,.site-footer a{color:var(--meta);font-size:0.85rem}
.site-footer a{border:0}
.site-footer a:hover{color:var(--accent)}

.backlink{margin-top:3.5rem;font-size:0.85rem}

@media (max-width:640px){
  body{font-size:16px}
  h1{font-size:2rem}
  .hero h1{font-size:2.3rem}
  .hero p,.lead{font-size:1.05rem}
  main{padding:44px 0 56px}
  .site-header .wrap{padding-top:20px;padding-bottom:20px}
  nav ul{gap:8px 16px}
  nav a{font-size:0.74rem;letter-spacing:0.08em}
  .card{padding:22px}
  .person{flex-direction:column;gap:20px;padding:30px 0}
  .person img{width:100%;max-width:260px;height:auto;aspect-ratio:4/5}
  .mission{padding:64px 0 4px}
  .mission h2{font-size:1.55rem}
  .mission p{font-size:1.08rem}
  .signoff img{width:220px}
  .plate img{height:clamp(240px,72vw,360px)}
}
