/* AISPG.ai Public Flagship V4 — Signature Identity Refinement.
   Bounded additions: navigation logo, governing-core shield, favicon handled by HTML.
   All previous design layers and content remain unchanged. */

.header-v2 .bar{
  min-height:116px;
  gap:clamp(13px,1.35vw,24px);
}
.header-v2 .logo-link{
  flex-shrink:0;
  isolation:isolate;
}
.header-v2 .logo-link img{
  display:block;
  width:244px;
  height:auto;
  max-width:none;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 18px rgba(255,58,104,.26));
}
.header-v2 .nav{
  gap:clamp(9px,1.05vw,17px);
}
.header-v2 .nav a{
  font-size:.705rem;
}

/* The original official AISPG shield PNG remains the artwork. Its surrounding
   opaque matte is excluded with a shield-shaped CSS clip, rather than
   substituting or redrawing the approved logo. */
.authority-core{
  width:278px;
  height:308px;
  padding:17px 17px 16px;
  background:radial-gradient(ellipse at 43% 33%,rgba(79,16,43,.985),rgba(7,9,21,.985) 76%);
  border-color:rgba(255,125,160,.94);
  box-shadow:
    0 0 0 12px rgba(238,29,83,.067),
    0 0 0 34px rgba(245,25,79,.029),
    0 0 95px rgba(255,23,80,.42),
    0 0 145px rgba(235,19,73,.17),
    inset 0 0 65px rgba(242,20,74,.23);
}
.authority-core::before{inset:9px;border-color:rgba(255,162,184,.27)}
.core-outer{
  width:130px;
  height:158px;
  flex:0 0 auto;
  margin-bottom:3px;
  overflow:visible;
  position:relative;
  isolation:isolate;
  filter:none;
}
.core-outer::before{
  content:"";
  position:absolute;
  inset:17% 9% 4%;
  z-index:-1;
  border-radius:45%;
  background:radial-gradient(ellipse,rgba(255,36,89,.55),rgba(249,26,82,.22) 47%,transparent 75%);
  filter:blur(16px);
  transform:scale(1.22);
  pointer-events:none;
}
.core-outer img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:contain;
  mix-blend-mode:normal;
  clip-path:polygon(
    50% 1%,56% 4%,65% 9%,77% 14%,95% 19%,96.8% 24%,96.5% 57%,
    95.4% 63%,93.6% 67%,90% 72%,86.9% 76%,82% 81%,76% 85%,
    69% 89%,61% 93%,51% 99%,49% 99%,39% 93%,31% 89%,24% 85%,
    18% 81%,13% 76%,10% 72%,7% 67%,5% 63%,4% 57%,3.5% 24%,
    5% 19%,23% 14%,35% 9%,44% 4%
  );
  filter:contrast(1.06) saturate(1.08) drop-shadow(0 0 18px rgba(255,58,104,.48));
}
.core-name{font-size:2.15rem;line-height:1.03}
.core-caption{font-size:.51rem;letter-spacing:.13em;margin-top:7px}
.core-signal{font-size:.385rem;letter-spacing:.045em;margin-top:7px;max-width:100%}

@media(max-width:1450px){
  .header-v2 .logo-link img{width:246px}
  .header-v2 .bar{min-height:117px}
}
@media(max-width:1320px){
  .header-v2 .logo-link img{width:219px}
  .header-v2 .bar{min-height:110px}
  .header-v2 .nav{gap:10px}
  .header-v2 .nav a{font-size:.665rem}
}
@media(max-width:1140px){
  .header-v2 .logo-link img{width:231px}
  .header-v2 .bar{min-height:111px}
}
@media(max-width:700px){
  .header-v2 .bar{min-height:101px}
  .header-v2 .logo-link img{width:211px}
  .authority-core{
    width:278px;
    height:308px;
    transform:translate(-50%,-50%) scale(.74);
  }
}
@media(max-width:400px){
  .header-v2 .logo-link img{width:185px}
  .header-v2 .bar{min-height:92px}
  .authority-core{transform:translate(-50%,-50%) scale(.66)}
}
@media(prefers-reduced-motion:reduce){
  .core-outer::before{animation:none}
}


/* ===================================================================
   MOBILE FRAMING REPAIR + FOOTER CONTACT
   -------------------------------------------------------------------
   Measured before this block: every page reported a 400-401px layout
   viewport on 320/360/375/390px devices, so the whole site scrolled
   sideways and fixed furniture was cut off on the right.

   1. overflow-x:hidden is set on `body` (site.css) but not on `html`.
      Body clips its own children; it does NOT stop the browser widening
      the initial containing block, which is what position:fixed sizes
      against. The constraint must be on `html` too.
   2. .signalbar-left/-right are flex items holding one unbroken run of
      letter-spaced capitals. Flex items default to min-width:auto and
      refuse to shrink below min-content -- measured at 382px. That one
      span forced the 400px viewport.
   =================================================================== */
html{overflow-x:hidden;max-width:100%}
body{max-width:100%}
.signalbar-inner{min-width:0}
.signalbar-left,
.signalbar-right{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){ .signalbar-left{letter-spacing:.06em} }
@media(max-width:420px){ .btn{white-space:normal} }

.footer-bottom .footer-contact{margin:18px 0 14px;font-size:.78rem;line-height:1.72;color:#9aa4b2;max-width:760px}
.footer-bottom .footer-contact strong{color:#d6dce3;font-weight:650}
.footer-bottom .footer-contact a{color:#ff7e9f;text-decoration:none;border-bottom:1px solid rgba(255,126,159,.35)}
.footer-bottom .footer-contact a:hover,
.footer-bottom .footer-contact a:focus-visible{color:#ffd3da;border-bottom-color:currentColor}
@media(max-width:560px){ .footer-bottom .footer-contact{font-size:.74rem} }

/* Oct 27 performance: solid header instead of live blur; status beacon glows without looping */
.header, .header-v2 { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; background: rgba(4, 6, 13, .97) !important; }
.red-beacon, .authority-aura, .authority-paths, .authority-core::before { animation: none !important; }

/* Oct 27 (b): transparent logo that sits on the page; static decorative light without live blur filters */
.logo-link img, .header-v2 .logo-link img, .footer-v2 .footer-brand .logo-link img {
  mix-blend-mode: normal !important; height: auto;
  filter: drop-shadow(0 0 14px rgba(255, 45, 95, .16)) !important;
}
.core-outer img { mix-blend-mode: normal !important; }
.core-outer { filter: none !important; }
/* Soft radial glows are already soft: drop the extra blur filters (re-rasterised on every scroll) */
.hero-v2::before, .hero-v2::after, .v3-cinematic::after, .authority-aura, .core-outer::before, .page-hero::after, .hero-glow {
  filter: none !important; mix-blend-mode: normal !important;
}
.orbit-node { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }

/* Spacing utilities (replace inline style attributes so the CSP can forbid inline styles) */
.mt-17{margin-top:17px}.mt-18{margin-top:18px}.mt-22{margin-top:22px}.mt-23{margin-top:23px}.mt-25{margin-top:25px}.mt-27{margin-top:27px}.mt-28{margin-top:28px}.mt-30{margin-top:30px}
.u-center{justify-content:center}.u-fs-2{font-size:2rem}
