/* Shared chrome for public PROPAGANDA pages.
   Keeps header, menu utilities and footer aligned with the home page. */
.public-header{
  width:100%;
  height:auto !important;
  min-height:133px;
  display:block !important;
  padding:24px 0;
  border-bottom:1px solid #34312c;
  background:#1a1917;
  color:#f2eee4;
}
.public-shell-wrap{
  width:100%;
  padding-inline:5vw;
}
.public-header-inner{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.public-wordmark{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  text-decoration:none;
}
.public-wordmark img{
  display:block;
  width:auto;
  height:84px;
  max-width:480px;
  aspect-ratio:2170/725;
  object-fit:contain;
}
.public-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  margin-left:auto;
}
.public-header-social,
.public-footer-social{
  display:flex;
  align-items:center;
}
.public-header-social{gap:6px}
.public-header-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  color:#f2eee4;
  text-decoration:none;
  transition:color .15s ease,transform .15s ease;
}
.public-header-social a:hover,
.public-header-social a:focus-visible,
.public-footer-social a:hover,
.public-footer-social a:focus-visible{
  color:#c81e1e;
  transform:translateY(-2px);
}
.public-header-social svg{
  display:block;
  width:21px;
  height:21px;
  fill:currentColor;
}
.public-header-client{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:44px;
  padding:10px 18px;
  background:#c81e1e;
  color:#f2eee4;
  font:500 14px Oswald,Arial,sans-serif;
  letter-spacing:.04em;
  text-decoration:none;
  text-transform:uppercase;
}
.public-header-client:hover,
.public-header-client:focus-visible{background:#8f1515}
.public-header a:focus-visible,
.public-header button:focus-visible{
  outline:2px solid #f2eee4;
  outline-offset:4px;
}
.public-header .site-map-toggle{
  display:inline-flex;
  min-height:44px;
}
.public-header .site-map{
  max-height:calc(100dvh - 170px);
  overflow-y:auto;
}

.public-footer{
  width:100%;
  padding:58px 0 34px !important;
  border-top:1px solid #34312c !important;
  background:#1a1917 !important;
  color:#f2eee4 !important;
  font:400 16px/1.55 Oswald,Arial,sans-serif !important;
  letter-spacing:.012em !important;
  text-transform:none !important;
}
.public-footer-inner{
  display:grid;
  grid-template-columns:minmax(220px,1.15fr) minmax(180px,.8fr) minmax(240px,1fr);
  gap:56px;
  align-items:start;
}
.public-footer-brand{min-width:0}
.public-footer-logo{
  display:block;
  width:min(210px,100%);
  height:auto;
  margin-bottom:24px;
}
.public-footer-social{gap:20px}
.public-footer-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  color:#f2eee4;
  text-decoration:none;
  transition:color .15s ease,transform .15s ease;
}
.public-footer-social svg{
  display:block;
  width:26px;
  height:26px;
  fill:currentColor;
}
.public-footer-title{
  margin:0 0 16px;
  color:#f2eee4;
  font:400 21px/1 Anton,Impact,sans-serif;
  text-transform:uppercase;
}
.public-footer-nav{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.public-footer-nav a,
.public-footer-contact a{
  color:#c9c4b6;
  text-decoration:none;
  transition:color .15s ease;
}
.public-footer-nav a:hover,
.public-footer-nav a:focus-visible,
.public-footer-contact a:hover,
.public-footer-contact a:focus-visible{color:#f2eee4}
.public-footer-contact{
  display:flex;
  flex-direction:column;
  gap:5px;
  color:#c9c4b6;
  line-height:1.35;
}
.public-footer-contact strong{
  color:#f2eee4;
  font-weight:600;
}
.public-footer-bottom{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px 24px;
  margin-top:48px;
  padding-top:18px;
  border-top:1px solid #34312c;
  color:#c9c4b6;
  font-size:12px;
  text-align:center;
}

@media(max-width:768px){
  .public-header{
    min-height:67px;
    padding:12px 0;
  }
  .public-shell-wrap{
    padding-inline:14px;
  }
  .public-header-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px 12px;
  }
  .public-wordmark{
    grid-column:1;
    grid-row:1;
  }
  .public-wordmark img{
    height:42px;
    max-width:170px;
  }
  .public-header-actions{display:contents}
  .public-header .site-map-toggle{
    grid-column:2;
    grid-row:1;
    justify-self:end;
    min-height:40px;
  }
  .public-header-social{
    grid-column:1;
    grid-row:2;
    gap:4px;
  }
  .public-header-social a{
    width:28px;
    height:28px;
  }
  .public-header-social svg{
    width:17px;
    height:17px;
  }
  .public-header-client{
    grid-column:2;
    grid-row:2;
    padding-inline:12px;
    min-height:40px;
    font-size:12px;
  }
  .public-header .site-map{
    top:calc(100% + 12px);
    right:0;
    left:0;
    width:auto;
    max-height:calc(100dvh - 130px);
  }
  .public-footer{
    padding:46px 0 28px !important;
  }
  .public-footer-inner{
    grid-template-columns:1fr;
    gap:36px;
  }
  .public-footer-logo{
    width:min(190px,72%);
    margin-bottom:20px;
  }
  .public-footer-bottom{margin-top:38px}
}


/* Public, verifiable security proof — technical evidence, not a certification. */
.security-proof{
  width:100%;
  border-top:1px solid #34312c;
  border-bottom:1px solid #34312c;
  background:#11100f;
  color:#f2eee4;
}
.security-proof-inner{
  display:grid;
  grid-template-columns:minmax(190px,.8fr) minmax(0,2.2fr);
  gap:32px;
  align-items:center;
  padding-block:22px;
}
.security-proof-kicker{
  margin:0 0 5px;
  color:#e64b48;
  font:600 11px/1.2 Oswald,Arial,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.security-proof-title{
  margin:0;
  color:#f2eee4;
  font:400 25px/1 Anton,Impact,sans-serif;
  text-transform:uppercase;
}
.security-proof-items{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.security-proof-item{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 11px;
  border:1px solid #454039;
  color:#c9c4b6;
  font:500 12px/1.25 Oswald,Arial,sans-serif;
  letter-spacing:.035em;
  text-decoration:none;
}
.security-proof-item strong{
  margin-right:5px;
  color:#f2eee4;
  font-weight:600;
}
a.security-proof-item:hover,
a.security-proof-item:focus-visible{
  border-color:#c81e1e;
  color:#f2eee4;
  outline:none;
}
.security-proof-note{
  grid-column:1/-1;
  margin:-4px 0 0;
  color:#817a71;
  font:400 11px/1.35 Oswald,Arial,sans-serif;
  text-align:right;
}
@media(max-width:768px){
  .security-proof-inner{
    grid-template-columns:1fr;
    gap:14px;
    padding-block:18px;
  }
  .security-proof-items{
    justify-content:flex-start;
  }
  .security-proof-item{
    flex:1 1 calc(50% - 8px);
  }
  .security-proof-note{
    grid-column:auto;
    margin:0;
    text-align:left;
  }
}
@media(max-width:460px){
  .security-proof-item{flex-basis:100%}
}
