:root{
  --ink:#0f1115;
  --muted-ink:#3a3f4b;
  --hair:#e7ebf2;
  --bg:#ffffff;
  --muted:#f5f7fb;
  --blue:#1f4e79;
  --max:1100px;
  --pad:24px;
  --radius:14px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}

a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}

.container{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--pad);
}

.site-header{
  position:sticky;
  top:0;
  background:rgba(255,255,255,0.92);
  backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid var(--hair);
  z-index:10;
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 0;
  gap:18px;
}

.brand{display:flex;align-items:center;gap:12px}
.logo{height:40px;width:auto;display:block}

.nav{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.nav a{
  color:var(--muted-ink);
  font-weight:500;
  font-size:14px;
  padding:6px 8px;
  border-radius:10px;
}
.nav a:hover{
  background:rgba(31,78,121,0.08);
  text-decoration:none;
  color:var(--ink);
}

.hero{
  padding:92px 0 70px;
}

h1,h2,h3{
  font-family: "IBM Plex Serif", Georgia, "Times New Roman", Times, serif;
  letter-spacing:-0.02em;
}

h1{
  font-size:clamp(38px, 5vw, 56px);
  line-height:1.05;
  font-weight:600;
  max-width:18ch;
}

.lede{
  margin-top:18px;
  font-size:18px;
  color:var(--muted-ink);
  max-width:70ch;
}

.section{
  padding:76px 0;
}

h2{
  font-size:24px;
  font-weight:600;
  margin-bottom:26px;
}

.cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.card{
  border:1px solid var(--hair);
  border-radius:var(--radius);
  padding:22px;
  background:#fff;
}

.card h3{
  font-size:18px;
  font-weight:600;
  margin-bottom:10px;
}

.card p{color:var(--muted-ink); margin:0 0 14px}
.card ul{
  list-style:disc;
  padding-left:18px;
  display:grid;
  gap:8px;
  color:var(--ink);
}
.small{font-size:14px;color:var(--muted-ink);margin-top:14px}

.doctrine{
  background:linear-gradient(180deg, rgba(31,78,121,0.04), rgba(31,78,121,0.02));
  border-top:1px solid var(--hair);
  border-bottom:1px solid var(--hair);
}

.manifesto{
  display:grid;
  gap:22px;
  padding-top:4px;
}

.mline{
  font-family:"IBM Plex Serif", Georgia, "Times New Roman", Times, serif;
  font-size:clamp(20px, 2.2vw, 28px);
  line-height:1.25;
  font-weight:500;
  color:var(--ink);
}
.mline span{color:var(--blue); font-weight:500}

.lede2{color:var(--muted-ink); margin-bottom:18px}

.pill-list{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:0;
  margin:0;
}
.pill-list li{
  border:1px solid var(--hair);
  background:#fff;
  border-radius:999px;
  padding:10px 12px;
  font-size:14px;
  color:var(--ink);
}

.note{
  margin-top:18px;
  color:var(--muted-ink);
  max-width:70ch;
}

.muted{
  background:var(--muted);
  border-top:1px solid var(--hair);
}

.two-col{
  display:grid;
  grid-template-columns:1.3fr 0.7fr;
  gap:18px;
  align-items:start;
}

.two-col p{margin-bottom:12px;color:var(--ink)}
.contact-box{
  border:1px solid var(--hair);
  border-radius:var(--radius);
  padding:18px;
  background:#fff;
}
.label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--muted-ink);
  margin-bottom:10px;
  font-weight:600;
}
.mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
  font-size:14px;
}
.footer{
  border-top:1px solid var(--hair);
  padding:28px 0;
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  color:var(--muted-ink);
  font-size:14px;
}

/* Responsive */
@media (max-width: 860px){
  .cards{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .hero{padding:76px 0 56px}
}
@media (max-width: 560px){
  .nav{display:none}
  .logo{height:36px}
  .section{padding:64px 0}
}
