:root{
  /* ink */
  --ink:#1A2433;
  --ink-soft:#54616F;
  --ink-faint:#8B97A4;

  /* paper */
  --paper-deep:#E7EEF5;
  --surface:#FFFFFF;
  --line:#D8E2EB;

  /* brand — blue */
  --forest-deep:#11304E;
  --mint:#DEEAF6;

  /* stamp accent — brass/gold */
  --clay:#B3812E;

  --maxw:1160px;
}

::selection,
::-moz-selection {
  color: rgb(255, 255, 255);
  background: var(--clay);
}

body {
  background:#fff;
  color:#000;
  font-family:Helvetica Neue,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:28px;
  margin:0;
}
h1,
h2,
h3,
h4,
h5,
h6,
li,
p {
  margin:0 0 16px;
}
h1 {
  font-size:40px;
  line-height:60px;
}
h1,
h2 {
  font-weight:700;
}
h2 {
  font-size:32px;
  line-height:48px;
}
h3 {
  font-size:24px;
  line-height:36px;
}
h3,
h4 {
  font-weight:700;
}
h4 {
  font-size:20px;
  line-height:30px;
}
h5,
h6 {
  font-size:16px;
  line-height:24px;
  font-weight:700;
}
a {
  text-decoration:none;
  cursor:pointer;
  color:#000;
}
a:hover,
a[rel~=nofollow] {
  text-decoration:underline;
}
a[rel~=nofollow] {
  color:#553df4;
}
a[rel~=nofollow]:hover {
  text-decoration:none;
}
.container {
  position:relative;
  width:90%;
  max-width:1024px;
  margin:0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(246,243,234,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}

.header-inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 24px;
  min-height:64px;
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
}

.logo-plate{
  width:64px;
  height:64px;
  border-radius:12px;
  border:none;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex-shrink:0;
}

.logo-plate img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:0;
}

.header-nav{
  display:flex;
  justify-content:center;
  gap:4px;
  /* center nav regardless of left/right content width */
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:auto;
  max-width:70%;
  z-index:2;
}

.header-nav a{
  padding:8px 16px;
  text-decoration:none;
  font-weight:600;
  font-size:0.95rem;
  color:var(--ink-soft);
  border-radius:999px;
  transition:background .2s ease, color .2s ease;
}

.header-nav a:hover{
  background:var(--mint);
  color:var(--forest-deep);
}

.menuBtn{
  display:none;
  flex-direction:column;
  justify-content:space-between;
  width:26px;
  height:18px;
  background:none;
  border:none;
  padding:0;
  cursor:pointer;
}
.menuBtn .bar-top,.menuBtn .bar-middle,.menuBtn .bar-bottom{
  height:2.5px;
  width:100%;
  background:var(--forest-deep);
  border-radius:3px;
  transform-origin:center;
  transition:transform .35s ease, opacity .35s ease;
}
.menuBtn.active .bar-top{ transform:translateY(7.5px) rotate(45deg); }
.menuBtn.active .bar-middle{ opacity:0; }
.menuBtn.active .bar-bottom{ transform:translateY(-7.5px) rotate(-45deg); }

.dropdown{
  display:flex;
  max-height:0;
  overflow:hidden;
  flex-direction:column;
  background:var(--surface);
  border-top:1px solid var(--line);
  transition:max-height .35s ease;
}
.dropdown.show{ max-height:420px; }
.dropdown a{
  padding:16px 24px;
  text-decoration:none;
  font-weight:600;
  color:var(--ink);
  border-bottom:1px solid var(--paper-deep);
}
.dropdown a:active,.dropdown a:hover{ background:var(--mint); }

.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s ease, transform .6s ease;
}
.reveal.in{ opacity:1; transform:translateY(0); }

#scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 4px;
  background: var(--clay);
  width: 0%;
  z-index: 9999;
  transition: width 0.1s linear;
}

footer{
  border-top:1px solid var(--line);
  padding:32px 0 30px;
  text-align:center;
  font-size:0.85rem;
  color:var(--ink-faint);
}

@media (max-width:768px){
  .header-nav{ display:none; }
  .menuBtn{ display:flex; justify-self:flex-end; }
}