:root{--bg:#02070d;--panel:rgba(6,16,25,.9);--line:rgba(52,158,255,.32);--line-soft:rgba(255,255,255,.12);--blue:#0ea5ff;--text:#f5f8fb;--muted:#aeb9c6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.55}.container{width:min(1480px,94%);margin:0 auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(2,7,13,.94);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}.nav{min-height:66px;display:flex;align-items:center;justify-content:space-between}.nav-logo img{height:54px;display:block}.site-nav{display:flex;align-items:center;gap:28px}.site-nav a{color:var(--text);text-transform:uppercase;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.06em}.site-nav a:first-child{color:var(--blue);border-bottom:2px solid var(--blue);padding-bottom:7px}.nav-cta{border:1px solid var(--blue);padding:11px 20px!important;color:var(--blue)!important}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;color:white;border-radius:999px;padding:9px 15px;font-weight:900}.hero{position:relative;min-height:470px;overflow:hidden;border-bottom:1px solid var(--line)}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(2,7,13,.92) 0%,rgba(2,7,13,.68) 25%,rgba(2,7,13,.24) 55%,rgba(2,7,13,.86) 100%),url('assets/hero-background.png');background-size:cover;background-position:center}.hero-layout{position:relative;display:grid;grid-template-columns:330px 1fr 360px;gap:34px;min-height:470px;align-items:center}.brand-panel{display:flex;align-items:center;justify-content:center}.hero-logo{width:100%;max-width:320px;filter:drop-shadow(0 18px 40px rgba(0,0,0,.65))}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:.22em;font-size:15px;font-weight:900;margin:0 0 10px}h1{font-size:clamp(42px,5.2vw,72px);line-height:.98;letter-spacing:-.04em;margin:0 0 16px;text-transform:uppercase;text-shadow:0 10px 32px rgba(0,0,0,.55)}h2{color:var(--blue);text-transform:uppercase;letter-spacing:.05em;font-size:19px;margin:0 0 18px}.three-words{display:flex;flex-wrap:wrap;gap:16px;padding:14px 0;border-top:1px solid var(--blue);max-width:690px}.three-words span{font-weight:900;text-transform:uppercase;font-size:18px}.lead{max-width:570px;color:#e5edf4;font-size:17px}.title{text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:900;margin:16px 0 0}.headshot-panel{align-self:stretch;display:flex;align-items:end;justify-content:center;overflow:hidden}.headshot-panel img{width:100%;max-height:450px;object-fit:cover;object-position:center top;border-radius:24px 24px 0 0;box-shadow:0 22px 80px rgba(0,0,0,.45)}.stats{background:linear-gradient(180deg,rgba(4,12,20,.98),rgba(4,10,16,.98))}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:8px;transform:translateY(-18px);background:rgba(5,15,24,.88);overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.35)}.stat-grid>div{min-height:94px;display:flex;align-items:center;gap:16px;padding:20px 28px;border-right:1px solid var(--line-soft)}.stat-grid strong{display:block;font-size:34px;line-height:1}.stat-grid p{margin:0;color:white;text-transform:uppercase;font-size:12px;font-weight:800}.icon{color:var(--blue);font-size:34px;min-width:48px;text-align:center}.dashboard,.services{padding:10px 0 0}.dash-grid{display:grid;grid-template-columns:1.05fr 1.25fr 1.25fr 2.45fr;gap:12px}.panel{background:linear-gradient(180deg,rgba(9,26,40,.92),rgba(4,12,20,.92));border:1px solid rgba(52,158,255,.18);box-shadow:inset 0 0 30px rgba(14,165,255,.03);padding:26px}.panel p{color:#d7e1ea}.panel-btn{display:inline-block;border:1px solid var(--blue);color:white;text-transform:uppercase;text-decoration:none;padding:10px 18px;margin-top:14px;font-weight:900;font-size:13px}.highlights ul{margin:0;padding:0;list-style:none}.highlights li{margin:0 0 13px;padding-left:26px;position:relative}.highlights li:before{content:'◎';color:var(--blue);position:absolute;left:0}.pub-row{display:grid;grid-template-columns:100px 1fr;gap:18px}.paper-thumb{background:#eef5fb;color:#0b2940;height:150px;display:grid;place-items:center;text-align:center;font-weight:900;border:1px solid #bdd3e8}.publication h3{font-size:18px;margin:0 0 10px}.global-map{width:100%;border-radius:10px;display:block;margin-bottom:14px;background:#07111b}.location-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.location-columns h3{color:white;font-size:14px;margin-bottom:6px}.location-columns p{font-size:13px}.services{padding-bottom:22px}.service-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;border:1px solid rgba(52,158,255,.18);background:rgba(52,158,255,.12)}.service-grid article{background:linear-gradient(180deg,rgba(9,26,40,.92),rgba(4,12,20,.92));min-height:120px;text-align:center;padding:22px 12px;opacity:0;transform:translateY(14px);transition:.7s ease}.service-grid article.visible{opacity:1;transform:translateY(0)}.service-grid span{color:var(--blue);font-size:32px;display:block;margin-bottom:10px}.service-grid h3{margin:0;text-transform:uppercase;font-size:12px}.timeline-section{padding:72px 0}.timeline-section h2{font-size:28px;color:white;text-transform:none;letter-spacing:0}.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:28px}.timeline>div{background:linear-gradient(180deg,rgba(9,26,40,.92),rgba(4,12,20,.92));border:1px solid rgba(52,158,255,.18);padding:24px;opacity:0;transform:translateY(14px);transition:.7s ease}.timeline>div.visible{opacity:1;transform:translateY(0)}.timeline strong{color:var(--blue);text-transform:uppercase;letter-spacing:.08em}.timeline h3{margin-bottom:6px}.timeline p{color:var(--muted)}.contact{padding:48px 0 36px}.contact-grid{display:grid;grid-template-columns:1fr 360px;gap:14px}.contact a{color:white;font-weight:900}.qr-panel{text-align:center}.qr-panel img{width:210px;max-width:100%;background:white;padding:10px}.qr-panel p{text-transform:uppercase;font-weight:900}footer{text-align:center;color:var(--muted);border-top:1px solid rgba(255,255,255,.08);padding:18px;font-size:13px}.reveal{opacity:0;transform:translateY(18px);transition:850ms ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:1200px){.hero-layout{grid-template-columns:260px 1fr 300px}.dash-grid{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:repeat(4,1fr)}.timeline{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.nav{min-height:auto;padding:12px 0;flex-wrap:wrap}.menu-toggle{display:block;margin-left:auto}.site-nav{display:none;flex-direction:column;width:100%;gap:14px;padding:14px 0}.site-nav.open{display:flex}.hero-layout{grid-template-columns:1fr;padding:40px 0 0}.brand-panel{justify-content:flex-start}.hero-logo{max-width:260px}.headshot-panel img{max-height:none}.dash-grid,.contact-grid,.location-columns,.timeline,.stat-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}}

/* Version 7 Final Fixed cleanup */
.nav {
  justify-content: center;
}

.nav-logo img {
  height: 78px;
}

.site-nav,
.menu-toggle {
  display: none !important;
}

/* Safety fallback so content never disappears if scripts fail */
body.no-js .reveal,
.reveal.visible,
.service-grid article.visible,
.timeline > div.visible {
  opacity: 1 !important;
  transform: none !important;
}


/* Version 8 polish */
.nav {
  justify-content: center;
}

.nav-logo img {
  height: 84px;
  filter: drop-shadow(0 12px 28px rgba(0,0,0,.65));
}

.site-nav,
.menu-toggle {
  display: none !important;
}

.hero-logo {
  max-width: 365px;
}

.panel-btn:empty {
  display: none;
}

@media(max-width:800px){
  .nav-logo img { height: 72px; }
  .hero-logo { max-width: 300px; }
}


/* VERSION 8 FINAL */
.nav {
  justify-content: center;
}

.nav-logo img {
  height: 84px;
  filter: drop-shadow(0 12px 28px rgba(0,0,0,.65));
}

.site-nav,
.menu-toggle {
  display: none !important;
}

.hero-logo {
  max-width: 365px;
}

/* Content safety fallback */
.reveal.visible,
.service-grid article.visible,
.timeline > div.visible {
  opacity: 1 !important;
  transform: none !important;
}

.panel-btn:empty {
  display: none;
}

@media(max-width:800px){
  .nav-logo img { height: 72px; }
  .hero-logo { max-width: 300px; }
}
