:root{
  --bg:#ffffff; --surface:#f8fafc; --ink:#0f172a; --muted:#475569;
  --brand:#14b8a6; --brand2:#22d3ee; --ring:#0ea5e9;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Inter,Roboto,Ubuntu,Helvetica,Arial;color:var(--ink);background:var(--bg)}
.container{max-width:1080px;margin:auto;padding:0 20px}
nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid #e2e8f0}
.navbar{display:flex;align-items:center;justify-content:space-between;height:96px}
.brandwrap{display:flex;align-items:center;gap:12px}
.brandwrap .brand-mark{height:56px;width:auto}
.brandwrap .brand-name{height:40px;width:auto}
@media(max-width:560px){.brandwrap .brand-name{display:none}}
nav ul{list-style:none;display:flex;gap:16px;margin:0;padding:0}
nav a{color:var(--ink);text-decoration:none}
nav ul a{padding:.55rem .75rem;border-radius:.55rem}
nav ul a:hover,[aria-current="page"]{background:#e6fffb66;outline:1px solid #99f6e4cc}
.hero{padding:98px 0 40px}
.hero-inner{display:grid;grid-template-columns:1fr;gap:22px;align-items:center}
@media(min-width:940px){.hero-inner{grid-template-columns:1fr 1fr}}
.hero h1{font-size:clamp(1.9rem,4.2vw,2.9rem);line-height:1.06;margin:.2rem 0}
.hero p{color:var(--muted);max-width:760px}
.visual{display:flex;align-items:center;justify-content:center;min-height:280px}
.bridge-svg{width:100%;height:auto;max-width: 760px;display:block}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.button{border:1px solid #0bb3a433;background:linear-gradient(180deg,#e6fffb,#ecfeff);color:#083d37;padding:.75rem 1rem;border-radius:.7rem;text-decoration:none;font-weight:700}
.button.primary{background:linear-gradient(90deg,var(--brand2),var(--brand));color:white;border-color:transparent}
.section{padding:46px 0}
.card{background:var(--surface);border:1px solid #e5e7eb;border-radius:14px;padding:18px}
.grid{display:grid;gap:16px}
.grid.cols-2{grid-template-columns:1fr}
@media(min-width:860px){.grid.cols-2{grid-template-columns:repeat(2,1fr)}}
.h2bar{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}
.h2bar span{height:10px;width:10px;border-radius:999px;background:#22d3ee;box-shadow:0 0 0 6px rgba(34,211,238,.15)}
.accent{color:var(--brand2);font-weight:800}
.lede .card{background:linear-gradient(180deg,#f8feff,#f4fffe);border:1px solid #99f6e4}
.lede p{font-size:1.12rem;line-height:1.75}
.mission-band{background:linear-gradient(180deg,#f7ffff,#f2fffe);border-top:1px solid #99f6e4;border-bottom:1px solid #99f6e4}
.mission .card{background:#fff;border:2px solid #99f6e4;box-shadow:0 10px 30px rgba(2,132,199,.08)}
.mission h3{font-size:1.28rem;margin:.2rem 0 .4rem}
.mission .lead{font-size:1.16rem;line-height:1.72;font-weight:800;color:#0f172a}
.mission .button{margin-top:1rem}
.icon{width:28px;height:28px;vertical-align:middle;margin-right:.5rem;opacity:.95}


/* v2 adjustments */
.mission .lead{font-weight:500} /* lighter than bold */
.mission .card{display:flex;flex-direction:column}
.mission .actions{margin-top:auto;padding-top:1.2rem}
.mission .actions .button{display:inline-block}


/* Solutions layout */
.solutions .card{display:flex;flex-direction:column}
.solutions .card h3{margin:.2rem 0 .35rem}
.solutions .meta{color:var(--muted);font-size:.95rem;margin-bottom:.4rem}
.solutions .actions{margin-top:auto;padding-top:1.2rem}
.solutions .actions .button{display:inline-block}
.grid.cols-3{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:900px){.grid.cols-3{grid-template-columns:repeat(3,1fr)}}
.badge-mini{display:inline-block;padding:.25rem .55rem;border:1px solid #99f6e4;border-radius:999px;background:#e6fffb;color:#0b3b36;font-weight:700;font-size:.85rem}


/* animation for bridge motif */
@keyframes dashflow{0%{stroke-dashoffset:1200}100%{stroke-dashoffset:0}}
.path-anim{stroke-dasharray:1200;stroke-dashoffset:1200;animation:dashflow 10s linear infinite}

.path-anim.thin{stroke-width:2;opacity:.45;animation:dashflow 12s linear infinite}

.path-anim.thin.alt{opacity:.30;animation-duration:14s}


/* --- Dark Navbar (glass) --- */
.nav-dark{position:sticky;top:0;z-index:60;background:rgba(9,13,28,.65);backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-dark .navbar{height:98px}
.nav-dark .brandwrap{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav-dark .brandwrap .brand-mark{height:64px;width:auto;filter: drop-shadow(0 6px 22px rgba(34,211,238,.18))}
.nav-dark .brandwrap .brand-name{height:46px;width:auto}
.nav-dark .nav-links{display:flex;gap:14px;align-items:center}
.nav-dark .nav-links a{color:#e5e7eb;text-decoration:none;padding:.55rem .75rem;border-radius:.65rem}
.nav-dark .nav-links a:hover,[aria-current="page"]{background:rgba(34,211,238,.16);outline:1px solid rgba(34,211,238,.28)}
.nav-dark .menu-btn{display:none;cursor:pointer;border:1px solid rgba(255,255,255,.16);padding:.55rem .7rem;border-radius:.7rem;background:rgba(255,255,255,.06)}
.nav-dark .menu-btn svg{width:22px;height:22px;display:block}
#nav-toggle{display:none}
@media (max-width:760px){
  .nav-dark .menu-btn{display:block}
  .nav-dark .nav-links{display:none;position:absolute;top:88px;right:20px;background:rgba(9,14,30,.94);backdrop-filter: blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px;flex-direction:column;min-width:220px}
  #nav-toggle:checked ~ .nav-links{display:flex}
  .nav-dark .brandwrap .brand-name{display:none}
}


/* Lede image layout */
.lede .card.lede-grid{display:grid;gap:18px;grid-template-columns:1fr;align-items:center}
@media(min-width:980px){.lede .card.lede-grid{grid-template-columns:1.2fr .8fr}}
.lede .lede-figure{position:relative;border-radius:16px;overflow:hidden;min-height:240px;box-shadow:0 16px 40px rgba(2,132,199,.12)}
.lede .lede-figure img{width:100%;height:100%;object-fit:cover;filter:saturate(0.85) hue-rotate(160deg) brightness(0.94)}
.lede .lede-figure:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(20,184,166,.25), rgba(34,211,238,.25));mix-blend-mode:multiply;pointer-events:none}

/* Dark navbar: high-contrast contact button */
.nav-dark .button{
  background: linear-gradient(90deg, var(--brand2), var(--brand));
  color: #ffffff;
  border-color: transparent;
  box-shadow: 0 10px 28px rgba(34,211,238,.22);
}
