/* Shared chrome (header, footer, pattern) used by EVERY page so nothing moves between pages. */
@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(assets/poppins-400.woff2) format('woff2')}
@font-face{font-family:Poppins;font-weight:500;font-display:swap;src:url(assets/poppins-500.woff2) format('woff2')}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(assets/poppins-600.woff2) format('woff2')}
:root{--blue:#0071c7;--red:#d23021;--yellow:#f4b200;--text:#3a3a3a;--s:calc(min(100vw,170.75vh)/1366);--off:calc((100vh - 800*var(--s))/2)}
*{box-sizing:border-box}
html,body{margin:0}
html{scrollbar-gutter:stable}
body{font-family:Poppins,Arial,sans-serif;color:var(--text);background:#fff;overflow-x:hidden}
a{color:inherit;text-decoration:none}
ul{list-style:none;margin:0;padding:0}
/* hover / active states (no layout shift: underline is a transform, "bold" is a text-shadow) */
.top-links a,.main-nav a,.footer-bar a{position:relative;display:inline-block}
.top-links a::after,.main-nav a::after{content:"";position:absolute;left:0;right:0;transform:scaleX(0);transform-origin:left center;transition:transform .28s ease}
.top-links a::after{bottom:-6px;height:3px}
.top-links .t-gov a::after{background:var(--red)}
.top-links .t-sup a::after{background:var(--yellow)}
.main-nav a::after{bottom:-.25em;height:2px;background:#fff}
.top-links a:hover::after,.top-links a:focus-visible::after,.top-links a.active::after,
.main-nav a:hover::after,.main-nav a:focus-visible::after,.main-nav .current a::after{transform:scaleX(1)}
.main-nav .current a{text-shadow:.04em 0 0 #fff}
.footer-bar a:hover,.footer-bar a:focus-visible{text-decoration:underline}
@media(min-width:1024px) and (orientation:landscape),(min-width:1280px){
  .stage{position:relative;width:calc(1366*var(--s));font-size:calc(16*var(--s))}
  .band{position:fixed;left:0;right:0;top:calc(50vh + (227 - 400)*var(--s));bottom:0;z-index:-1;
    background:url(assets/circle-tile.png) repeat center top;background-size:calc(93*var(--s)) auto;opacity:.75;pointer-events:none;
    -webkit-mask:linear-gradient(#0000,#000 calc(60*var(--s)));mask:linear-gradient(#0000,#000 calc(60*var(--s)))}
  .abs{position:absolute}
  .site-logo{left:calc(133*var(--s));top:calc(40*var(--s));width:calc(155*var(--s));height:calc(154*var(--s));line-height:0}
  .site-logo img{width:100%;height:100%;object-fit:fill}
  .top-links{right:calc(160*var(--s));top:calc(80*var(--s));display:flex;white-space:nowrap}
  .top-links li{font-weight:500;color:var(--blue);font-size:calc(17.6*var(--s))}
  .top-links li+li::before{content:"|";margin:0 1em;color:#7a8ea8}
  .main-nav{left:calc(293*var(--s));top:calc(133*var(--s));width:calc(937*var(--s));height:calc(39*var(--s));background:var(--blue)}
  .main-nav ul{display:flex;height:100%;align-items:center;justify-content:space-between;padding:0 calc(63*var(--s)) 0 calc(60*var(--s))}
  .main-nav a{color:#fff;font-size:calc(15*var(--s));white-space:nowrap}
  .site-footer{position:relative;width:calc(1366*var(--s));height:calc(69*var(--s));font-size:calc(16*var(--s))}
  .footer-bar{left:calc(133*var(--s));top:0;width:calc(1097*var(--s));height:calc(33*var(--s));background:var(--blue);display:flex;align-items:center;justify-content:flex-end;padding:0 calc(28*var(--s))}
  .footer-bar li{color:#fff;font-size:calc(12.2*var(--s));font-weight:500}
  .footer-bar li+li::before{content:"|";margin:0 1.1em}
  .liability{left:0;right:0;top:calc(43*var(--s));text-align:center;font-size:calc(12.8*var(--s));margin:0;color:#555}
}
@media(max-width:1023px),(max-width:1279px) and (orientation:portrait){
  .band{display:none}
  .stage{padding:16px;background:url(assets/circle-tile.png) repeat;background-size:70px auto}
  .site-logo img{width:110px;display:block}
  .top-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:12px 0}
  .top-links li{font-weight:500;color:var(--blue);font-size:14px}
  .main-nav{background:var(--blue)}
  .main-nav ul{display:flex;flex-wrap:wrap;justify-content:center;padding:4px}
  .main-nav a{display:block;color:#fff;font-size:13px;padding:.45em .7em}
  .main-nav a::after{left:.7em;right:.7em;bottom:.25em}
  .footer-bar{background:var(--blue);display:flex;justify-content:center;flex-wrap:wrap;padding:.5em}
  .footer-bar li{color:#fff;font-size:11.1px;line-height:19.5px}
  .footer-bar li+li::before{content:"|";margin:0 .9em}
  .liability{text-align:center;font-size:11px;color:#555}
}
/* mobile: the Suppliers menu has fewer items; reserve the same blue-bar height as the home menu so the header never changes size */
/* ===== Interaction states copied from the developer theme (valis-advisory/style.css) ===== */
.top-links a{transition:color .2s}
.top-links a:hover{color:#005ea5}
.top-links a:focus,.top-links a:active{outline:none}
.main-nav a::after{bottom:-6px}
.footer-bar a{transition:color .2s}
.footer-bar a:hover{color:#e5f0fa;text-decoration:underline}
/* section line on top of the blue bar (live: 4px red = Government, yellow = Suppliers, transparent on home).
   Drawn inside the bar so the bar never changes size or position. */
.main-nav{position:relative}
.main-nav::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:transparent;transition:background-color .3s ease;pointer-events:none}
.sec-gov .main-nav::before{background:#d23021}
.sec-sup .main-nav::before{background:#f4b200}
@media(max-width:1023px),(max-width:1279px) and (orientation:portrait){.main-nav{position:relative}}

/* header text sizes, all pages; logo, blue bar and top-links anchor (right/top) unchanged */
@media(min-width:1024px) and (orientation:landscape),(min-width:1280px){
  .top-links{top:calc(81.2*var(--s))}
  .top-links li{font-size:calc(15.2*var(--s))}
  .main-nav a{font-size:calc(13*var(--s))}
}
@media(max-width:1023px),(max-width:1279px) and (orientation:portrait){
  .top-links li{font-size:12.2px;line-height:21px}
  .main-nav a{font-size:11.3px}
}

/* ===== v1.0.2 responsive fixes. Desktop (>=1280px, and landscape 1024-1279) artboard rules above are untouched. ===== */
/* compact (phones + portrait tablets): readable text and ~40px+ tap targets */
@media(max-width:1023px),(max-width:1279px) and (orientation:portrait){
  .site-header,.site-footer{max-width:760px;margin-left:auto;margin-right:auto}
  .top-links{gap:0;margin:8px 0}
  .top-links li{font-size:13px;line-height:1.3}
  .top-links a{display:flex;align-items:center;min-height:40px}
  .top-links a::after{bottom:4px}
  .main-nav ul{padding:6px 4px;gap:2px 0;align-content:center}
  .main-nav a{font-size:13px;line-height:1.3;padding:0 .75em;min-height:40px;display:flex;align-items:center}
  .main-nav a::after{left:.75em;right:.75em;bottom:7px}
  .footer-bar{padding:2px .5em}
  .footer-bar li{font-size:12.5px;line-height:1.3}
  .footer-bar li+li::before{margin:0 .4em}
  .footer-bar a{display:inline-flex;align-items:center;min-height:40px;padding:0 .4em}
  .liability{font-size:12px;line-height:1.5;padding:6px 8px 0;margin:0}
  .site-logo img{max-width:100%;height:auto}
}
/* landscape small laptops / tablets 1024-1279: same artboard, but never below 12px text */
@media(min-width:1024px) and (max-width:1279px) and (orientation:landscape){
  .site-logo img{object-fit:contain}
  .top-links li{font-size:max(12px,calc(15.2*var(--s)))}
  .main-nav a{font-size:max(12px,calc(13*var(--s)))}
  .main-nav ul{padding:0 calc(40*var(--s))}
  .footer-bar li{font-size:max(12px,calc(12.2*var(--s)))}
  .liability{font-size:max(12px,calc(12.8*var(--s)))}
}
