:root{
  --ink:#1b1a17;
  --teal:#123c3f;
  --teal-deep:#0b2729;
  --paper:#f6f3ec;
  --paper-2:#efe9dd;
  --line:#ddd5c3;
  --brass:#a9803f;
  --brass-light:#c9a869;
  --muted:#5c5a52;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Source Sans 3","Inter",system-ui,sans-serif;
  font-size:16px;
  line-height:1.6;
}

a{color:var(--teal);}
a:hover{color:var(--brass);}

.skip-link{
  position:absolute; left:-999px; top:0;
  background:var(--brass); color:#fff; padding:.5rem 1rem; z-index:100;
}
.skip-link:focus{left:1rem; top:1rem;}

/* ---------- Header / Hero ---------- */
.site-header{
  background:var(--teal-deep);
  border-bottom:3px solid var(--brass);
}
.banner-wrap{
  max-width:1080px;
  margin:0 auto;
}
.banner-wrap img{
  display:block;
  width:100%;
  height:auto;
}
.header-inner{
  max-width:1080px;
  margin:0 auto;
  padding:.9rem 1.5rem 1rem;
  display:flex;
  flex-direction:column;
  gap:.3rem;
}
.eyebrow{
  font-family:"IBM Plex Mono","Courier New",monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--brass-light);
}
.tagline{
  color:#d8cfb8;
  font-size:.95rem;
  max-width:52ch;
}

nav.main-nav{
  background:var(--teal-deep);
  border-top:1px solid rgba(255,255,255,0.08);
}
nav.main-nav ul{
  max-width:1080px;
  margin:0 auto;
  padding:0 1.5rem;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:.25rem;
}
nav.main-nav a{
  display:inline-block;
  padding:.85rem 1.1rem;
  color:#e9e3d3;
  text-decoration:none;
  font-size:.92rem;
  letter-spacing:.02em;
  border-bottom:2px solid transparent;
}
nav.main-nav a:hover,
nav.main-nav a[aria-current="page"]{
  color:#fff;
  border-bottom-color:var(--brass-light);
}

/* ---------- Layout ---------- */
.page{
  max-width:1080px;
  margin:0 auto;
  padding:2.8rem 1.5rem 4rem;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:2.6rem;
}
@media (max-width:720px){
  .page{grid-template-columns:1fr;}
}

.side-nav{
  display:flex;
  flex-direction:column;
  gap:.6rem;
}
.side-nav a{
  display:block;
  padding:.7rem .9rem;
  background:#fff;
  border:1px solid var(--line);
  border-left:3px solid var(--teal);
  text-decoration:none;
  color:var(--teal-deep);
  font-size:.92rem;
  font-weight:600;
}
.side-nav a:hover{border-left-color:var(--brass);}
.side-nav a[aria-current="page"]{
  background:var(--teal);
  color:#fff;
  border-left-color:var(--brass-light);
}

.trust-box{
  margin-top:1.4rem;
  border:1px solid var(--line);
  background:#fff;
  padding:1.1rem 1.1rem 1.2rem;
}
.trust-box h2{
  font-family:"IBM Plex Mono",monospace;
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 .7rem;
}
.trust-box dl{margin:0;}
.trust-box dt{font-size:.82rem;color:var(--muted);}
.trust-box dd{margin:.05rem 0 .7rem;font-weight:600;color:var(--teal-deep);}
.trust-box dd:last-child{margin-bottom:0;}

main h1{
  font-family:"Source Serif 4",Georgia,serif;
  font-size:1.9rem;
  color:var(--teal-deep);
  margin:0 0 .3rem;
  border-bottom:2px solid var(--brass-light);
  padding-bottom:.5rem;
}
main p{max-width:68ch;}
main ul, main ol{max-width:64ch;}

.lede{color:var(--muted); font-size:1.04rem; margin-top:.9rem;}

.card{
  background:#fff;
  border:1px solid var(--line);
  padding:1.4rem 1.5rem;
  margin-top:1.6rem;
}

.values{
  list-style:none;
  margin:1rem 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:.7rem;
}
.values li{
  border:1px solid var(--line);
  border-top:3px solid var(--brass);
  background:#fff;
  padding:.8rem .9rem;
  font-weight:600;
  color:var(--teal-deep);
  font-size:.92rem;
}

.contact-block{
  margin-top:1.8rem;
  padding-top:1.2rem;
  border-top:1px dashed var(--line);
  font-size:.95rem;
  color:var(--muted);
}
.contact-block strong{color:var(--ink);}

.file-list{list-style:none;padding:0;margin:1rem 0 0;}
.file-list li{
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.75rem .9rem;
  background:#fff;
  border:1px solid var(--line);
  margin-bottom:.5rem;
}
.file-list .ext{
  font-family:"IBM Plex Mono",monospace;
  font-size:.68rem;
  color:#fff;
  background:var(--teal);
  padding:.15rem .4rem;
  letter-spacing:.04em;
}

.placeholder-note{
  border:1px dashed var(--brass);
  background:#fbf4e6;
  padding:1rem 1.2rem;
  color:#6b5426;
  font-size:.92rem;
  margin-top:1.4rem;
}

footer{
  background:var(--teal-deep);
  color:#cdc4ac;
  border-top:3px solid var(--brass);
}
.legal-strip{
  max-width:1080px;
  margin:0 auto;
  padding:1.2rem 1.5rem 0;
  font-size:.8rem;
  line-height:1.7;
  color:#a9a08a;
  border-top:1px solid rgba(255,255,255,0.08);
}
.legal-strip strong{color:#cdc4ac;}
.footer-inner{
  max-width:1080px;
  margin:0 auto;
  padding:1.1rem 1.5rem 1.3rem;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:.5rem;
  font-size:.85rem;
}
footer a{color:#e9e3d3;}
