/* Shared post-rebrand shell. Loaded after each page's local styles. */
html,body{margin:0;padding:0}
body{padding-top:0!important}
body>nav,body>nav.nav3{position:fixed;top:0!important;left:0;right:0;z-index:1000;margin-top:0!important}
#progress{display:none!important}
:root{
  --brand-bg:#070936;
  --brand-bg-deep:#05062d;
  --brand-panel:#11145a;
  --brand-line:rgba(116,133,255,.34);
  --brand-blue:#8fb0ff;
  --brand-pink:#f12674;
  --brand-ink:#f8f9ff;
  --brand-muted:#c7cbe1;
  --brand-mono:'Space Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --brand-sans:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

body{font-family:var(--brand-sans);background:var(--brand-bg);color:var(--brand-muted)}

/* One navigation treatment across the site. */
nav{
  position:fixed;
  top:0;left:0;right:0;
  z-index:1000;
  overflow:visible!important;
  min-height:72px;
  padding:14px clamp(22px,3vw,42px);
  background:rgba(5,6,45,.94);
  border-bottom:1px solid var(--brand-line);
  box-shadow:0 14px 36px rgba(0,0,0,.16);
}
nav .brand,nav .brand span,nav .brand strong{color:var(--brand-ink)}
nav .brand{font-family:var(--brand-sans);font-size:18px;letter-spacing:-.02em}
nav .brand .tag,nav a.brand .tag{color:var(--brand-blue)}
nav .navlinks{gap:clamp(16px,2vw,28px)}
nav .navlinks a.txt,nav .ddbtn{color:#d7dbef;font-family:var(--brand-sans);font-size:15px;font-weight:700}
nav .navlinks a.txt:hover,nav .ddbtn:hover,nav .ddbtn[aria-expanded="true"]{color:#fff}
nav a.cta,nav .nav-cta{background:#2e37bd;border:1px solid rgba(143,176,255,.62);border-radius:8px;padding:11px 18px;color:#fff}
nav a.cta:hover,nav .nav-cta:hover{background:#3d49d4}

/* Research opens as a flat branded menu instead of the legacy rounded card. */
nav .ddmenu{left:-18px;top:calc(100% - 1px);padding-top:0;min-width:0;width:max-content;z-index:1100}
nav .ndd{position:relative;z-index:1101}
nav .ddpanel{
  padding:8px 0;
  background:#090b3c;
  border:1px solid var(--brand-line);
  border-radius:10px;
  box-shadow:0 18px 42px rgba(0,0,0,.38);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
nav .ddpanel a{
  padding:10px 16px;
  border-radius:0;
  border-bottom:1px solid rgba(143,176,255,.12);
  color:#d9def4;
  font-size:15px;
}
nav .ddpanel a:last-child{border-bottom:0}
nav .ddpanel a:hover,nav .ddpanel a:focus-visible{background:#171b70;color:#fff}
nav .ddpanel a.on{color:var(--brand-blue)}

/* The homepage uses the numbered nav variant. Keep its bar compact and its menu connected. */
nav.nav3{
  min-height:0;
  padding:24px clamp(24px,7.5vw,120px) 16px clamp(24px,7.5vw,120px);
  padding-right:clamp(24px,3vw,48px);
}
nav.nav3 .ddmenu{
  top:100%;
  padding-top:10px;
  min-width:0;
  width:160px;
  background:transparent;
  border:0;
  box-shadow:none;
}
nav.nav3 .ddpanel{
  min-width:0;
  width:160px;
  overflow:hidden;
  border-radius:16px;
}
nav.nav3 .navlinks{gap:clamp(24px,3vw,50px)}
nav.nav3 .navlinks>a.txt,nav.nav3 .navlinks .ndd>.ddbtn{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  font-family:var(--brand-sans);
  font-weight:700;
  font-size:13px;
  line-height:1;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:#fff;
  padding:0;
  background:none;
  border:0;
  cursor:pointer;
  text-align:left;
}
nav.nav3 .nrow,nav.nav3 .ddrow{display:inline-flex;align-items:center;gap:10px}
nav.nav3 .nmark{width:13px;height:13px;flex:none}
nav.nav3 .navlinks>a.txt::after,nav.nav3 .navlinks .ndd>.ddbtn::after{
  content:attr(data-n);
  font-family:var(--brand-mono);
  font-weight:500;
  font-size:11px;
  line-height:1;
  color:#6e8dff;
  letter-spacing:-.03em;
  padding-top:5px;
  border-top:1.5px solid rgba(36,53,175,.7);
  min-width:100%;
}
nav.nav3 .navlinks .ndd>.ddbtn .caret{font-size:9px;margin-left:4px}
nav.nav3 a.cta{display:inline-flex;align-items:center;gap:12px;border-radius:0;padding:15px 20px;background:linear-gradient(285deg,rgba(234,37,93,.4),rgba(234,37,93,0) 60%),#1e2094;border:1px solid rgba(116,133,255,.35);color:#fff;text-transform:uppercase}
nav.nav3 .cta-arrow{width:13px;height:13px}
nav.nav3 .mnavbtn{border-radius:0}

/* Shared heading scale and spacing. */
.hero h1,.legal-hero h1,.page-hero h1,.article-hero h1{
  font-family:var(--brand-sans);
  font-weight:800;
  letter-spacing:-.055em;
  line-height:.98;
  color:var(--brand-ink);
  font-size:clamp(42px,6vw,78px);
}
.hero .eyebrow,.legal-hero .eyebrow,.page-hero .eyebrow,.article-hero .eyebrow{
  font-family:var(--brand-mono);
  color:var(--brand-blue);
  letter-spacing:.2em;
  text-transform:uppercase;
}
.hero .sub,.hero p.sub,.page-hero .sub,.article-hero .sub{
  color:var(--brand-muted);
  max-width:1000px;
}

/* One footer treatment across the site. */
footer{
  background:var(--brand-bg-deep);
  color:#9da4c4;
  border-top:1px solid var(--brand-line);
  padding:34px 0 20px;
}
footer .wrap{max-width:1240px;margin:0 auto;padding:0 clamp(22px,3vw,42px)}
footer .fgrid{grid-template-columns:minmax(280px,1fr) repeat(4,max-content);column-gap:clamp(40px,5vw,90px);margin-bottom:20px}
footer h5,footer .fcol h5{font-family:var(--brand-mono);color:var(--brand-blue);letter-spacing:.14em;text-transform:uppercase}
footer a{color:#d5daf0;text-decoration:none}
footer a:hover{color:#fff}
footer .fbrand p,footer .fbot,footer .fbot span{color:#9299b8}

@media(max-width:860px){
  nav{min-height:62px;padding:11px 18px}
  nav .navlinks{gap:10px}
  nav .navlinks a.txt{display:none}
  footer .fgrid{grid-template-columns:1fr 1fr;gap:28px 36px}
  .hero h1,.legal-hero h1,.page-hero h1,.article-hero h1{font-size:clamp(38px,11vw,58px)}
}

/* Homepage Mission: keep the copy together and let the affiliation strip loop. */
.mission2{min-height:0}
.mission2-inner{justify-content:flex-start;gap:0;padding-top:clamp(72px,8vw,120px);padding-bottom:clamp(56px,7vw,96px)}
.m2-body{margin-top:clamp(18px,2vw,30px)}
.m2-logos{gap:clamp(18px,2vw,28px);margin-top:clamp(64px,7vw,104px);position:relative;z-index:2}
.m2-logos:before{content:none}
.m2-original-mark{position:absolute;left:50%;top:-44px;width:26px;height:18px;transform:translateX(-50%);display:block;overflow:visible}
.m2-logos-cap{position:relative;z-index:2}
.m2-cards{display:block;overflow:hidden;width:100%;position:relative}
.m2-marquee{display:flex;width:max-content;gap:10px;animation:m2-marquee-scroll 34s linear infinite}
.m2-cards:hover .m2-marquee{animation-play-state:paused}
.m2-card{width:clamp(180px,20vw,300px);flex:0 0 auto}
.m2-card{position:relative;padding:0 28px 0 0}
.m2-card:after{content:"";position:absolute;right:14px;top:14px;bottom:14px;width:1px;background:rgba(255,255,255,.2)}
.m2-card .m2-tile,.m2-card-first .m2-tile{height:clamp(84px,8vw,120px);background:transparent!important}
.m2-card .m2-dot{display:none}
.m2-card .m2-num{display:none}
@keyframes m2-marquee-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 5px))}}
@media(prefers-reduced-motion:reduce){.m2-marquee{animation:none;transform:none}.m2-marquee .m2-card:nth-child(n+6){display:none}}

/* Homepage Fisher cards: tighter proof tiles with less vertical weight. */
.p2-cards{gap:8px}
.p2-card{gap:10px}
.p2-card-head{gap:8px}
.p2-card-body{padding:18px;gap:16px}
.p2-card-top{gap:18px}
.p2-card-txt{gap:12px}

/* Homepage research: branded band with vertical card turns. */
#research.research-combined{background:#070936;color:#f8f9ff;border-top:1px solid rgba(116,133,255,.3);padding-top:clamp(42px,5vw,76px)!important;padding-bottom:clamp(42px,5vw,76px)!important}
#research .research-head{gap:clamp(28px,5vw,72px)}
#research .research-label-row{color:#8fb0ff;border-color:rgba(116,133,255,.34)}
#research .research-card{background:linear-gradient(135deg,rgba(143,176,255,.18),rgba(17,20,90,.9));border-color:rgba(143,176,255,.48);perspective:1000px}
#research .research-card:hover{background:linear-gradient(135deg,rgba(143,176,255,.26),rgba(17,20,90,.96));border-color:#8fb0ff}
#research .research-card-inner{transform-style:preserve-3d}
#research .research-card:hover .research-card-inner,#research .research-card:focus-visible .research-card-inner{transform:rotateX(180deg)}
#research .research-face{background:transparent;backface-visibility:hidden}
#research .research-face.back{transform:rotateX(180deg);background:rgba(143,176,255,.12)}
#research .research-face.front:before{background:linear-gradient(135deg,rgba(255,255,255,0) 0 49%,rgba(143,176,255,.3) 50%,rgba(143,176,255,.4) 100%)}
#research .research-face.front:before{top:auto;right:0;bottom:0;width:48px;height:48px;border-top-left-radius:10px;border-bottom-left-radius:0;background:linear-gradient(135deg,rgba(143,176,255,.08) 0 49%,#5668b7 50%,#7186dc 100%)}
#research .research-face.front:after{content:"";right:7px;top:auto;bottom:7px;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='761.2 -1.2 13.8 15' fill='none'%3E%3Cpath d='M773.605 0.994587C774.785 2.17393 773.231 5.63964 770.135 8.73543C767.04 11.8312 763.574 13.3848 762.395 12.2054C761.215 11.0261 762.769 7.56038 765.865 4.46461C768.96 1.36882 772.426 -0.184761 773.605 0.994587Z' stroke='%23e7edff' stroke-width='1.2'/%3E%3Cpath d='M773.605 12.2054C772.426 13.3848 768.96 11.8312 765.865 8.73543C762.769 5.63964 761.215 2.17393 762.395 0.994587C763.574 -0.184761 767.04 1.36882 770.135 4.46461C773.231 5.66038 774.785 11.0261 773.605 12.2054Z' stroke='%23e7edff' stroke-width='1.2'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.95;transform:none}
#research .research-face.front:after{content:none}
#research .research-card .k{color:#8fb0ff}
#research .research-card .t{font-family:var(--brand-sans);font-weight:700;color:#fff}
#research .research-card .d{color:#d1d6ed}
#research .research-card .go,#research .research-card .m{color:#fff}
.contact-action{margin-top:18px!important;text-align:left;max-width:none!important}
.contact-action .btn{display:inline-flex}
