
:root{
  --ink:#17212b;
  --muted:#5f6b76;
  --navy:#0d3557;
  --blue:#184e7c;
  --gold:#c88a17;
  --paper:#f7f4ec;
  --white:#fff;
  --line:#d9e0ea;
  --danger:#8b1e1e;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.58;
}
a{color:#0e4f86}
a:hover{color:#07345d}
.topbar{
  background:#0b2b49;
  color:white;
  padding:8px 4vw;
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  font-size:14px;
}
.header{
  background:white;
  border-bottom:1px solid var(--line);
  padding:20px 4vw 14px;
}
.header h1{
  margin:0;
  color:#082b49;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(30px,4vw,44px);
  line-height:1.08;
}
.header p{margin:7px 0 14px;color:#526171;font-size:17px}
.nav{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.nav a{
  display:inline-block;
  text-decoration:none;
  padding:8px 12px;
  border:1px solid #d3dbe6;
  border-radius:999px;
  background:#f4f7fb;
  color:#0d3558;
  font-size:15px;
}
.nav a:hover,.nav a.active{background:#0d3558;color:white;border-color:#0d3558}
.actionbar{
  max-width:1220px;
  margin:14px auto 0;
  padding:0 4vw;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.actionbar a,.btn{
  display:inline-block;
  text-decoration:none;
  border-radius:999px;
  padding:8px 13px;
  font-weight:bold;
  background:#0d3558;
  color:#fff!important;
  border:1px solid #0d3558;
}
.actionbar a.secondary,.btn.secondary{
  background:#fff;
  color:#0d3558!important;
  border-color:#d3dbe6;
}
main{
  max-width:1220px;
  margin:0 auto;
  padding:24px 4vw 72px;
}
.hero{
  background:linear-gradient(120deg,#0d3558,#1f5b88);
  color:white;
  border-radius:14px;
  padding:24px 28px;
  margin-bottom:20px;
}
.eyebrow{
  color:#e1a23b;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:bold;
  font-size:13px;
}
.hero h2{
  margin:10px 0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(28px,3.6vw,42px);
  line-height:1.1;
}
.hero p{margin:0 0 16px;max-width:950px;color:#edf6ff;font-size:17px}
.section-title{
  margin:30px 0 14px;
  color:#092f50;
  font-family:Georgia,'Times New Roman',serif;
  font-size:31px;
}
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:16px;
  margin:18px 0;
}
.card{
  background:white;
  border:1px solid var(--line);
  border-radius:13px;
  padding:18px;
}
.card h3{
  margin:0 0 8px;
  color:#0d3558;
  font-family:Georgia,'Times New Roman',serif;
}
.meta{color:var(--muted);font-size:14px;margin-bottom:8px}
.notice{
  background:#fff8e8;
  border-left:5px solid var(--gold);
  border-radius:10px;
  padding:14px 16px;
  margin:18px 0;
}
.warning{
  background:#fff0f0;
  border-left:5px solid var(--danger);
  border-radius:10px;
  padding:14px 16px;
  margin:18px 0;
}
.table-wrap{
  overflow-x:auto;
  background:white;
  border:1px solid var(--line);
  border-radius:12px;
  margin:18px 0;
}
table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  background:white;
}
th,td{
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}
th{background:#edf2f7;color:#082b49}
tr:last-child td{border-bottom:0}
.file-type{
  display:inline-block;
  border-radius:999px;
  padding:3px 8px;
  background:#edf2f7;
  font-size:12px;
  font-weight:bold;
  color:#0d3558;
}
.searchbox{
  width:100%;
  padding:12px 14px;
  border:1px solid #c7d1dd;
  border-radius:10px;
  font-size:16px;
  margin:10px 0 16px;
}
.viewer{
  background:white;
  border:1px solid var(--line);
  border-radius:13px;
  padding:14px;
  margin:18px 0;
}
.viewer iframe{
  width:100%;
  height:820px;
  border:1px solid #bfc8d4;
  border-radius:10px;
  background:#f5f5f5;
}
.viewer img{
  max-width:100%;
  height:auto;
  border:1px solid #cbd3df;
  border-radius:8px;
  display:block;
  margin:auto;
}
.floating-home{
  position:fixed;
  right:18px;
  bottom:18px;
  background:#0d3558;
  color:#fff!important;
  text-decoration:none;
  border-radius:999px;
  padding:11px 15px;
  font-weight:bold;
  box-shadow:0 4px 16px rgba(0,0,0,.22);
  z-index:9999;
}
footer{
  background:#0b2b49;
  color:#dce8f3;
  text-align:center;
  padding:24px 4vw;
  font-size:14px;
}
footer a{color:white}
@media(max-width:700px){
  .topbar{display:block}
  .hero{padding:21px}
  .viewer iframe{height:580px}
}
