@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600&family=Space+Grotesk:wght@500;600&display=swap');

:root { --color-bg-primary:#fff; --color-bg-secondary:#f5f5f7; --color-surface:#fafafa; --color-text-primary:#1d1d1f; --color-text-secondary:#6e6e73; --color-text-muted:#86868b; --color-accent:#718a45; --color-border:rgba(0,0,0,.10); --bg-base:#fff !important; --bg-pure:#fff !important; --bg-accent:#f5f5f7 !important; --text-primary:#1d1d1f !important; --text-secondary:#6e6e73 !important; --tech-blue:#718a45 !important; }
* { box-sizing:border-box; }
html { scroll-behavior:auto; background:#fff; }
body { margin:0; background:#fff !important; color:#1d1d1f !important; font-family:Inter,Arial,sans-serif !important; }
body::selection { background:#718a45; color:#fff; }
header, #nav-header { position:fixed !important; top:0 !important; left:0 !important; z-index:100 !important; display:flex !important; align-items:center !important; justify-content:space-between !important; width:100% !important; height:84px !important; padding:0 8% !important; background:rgba(255,255,255,.82) !important; border-bottom:1px solid rgba(0,0,0,.10) !important; backdrop-filter:saturate(180%) blur(20px); }
header > nav { margin-left:auto; }
header .logo img { filter:none; }
header .logo img, header > a > img, header a > img { display:block; width:auto !important; height:48px !important; max-height:48px !important; }
.nav-link { font-family:'IBM Plex Mono',monospace !important; font-size:.7rem !important; font-weight:500 !important; letter-spacing:.12em !important; color:#6e6e73 !important; }
.nav-link:hover, .nav-link:focus-visible { color:#718a45 !important; }
a:focus-visible { outline:2px solid #718a45; outline-offset:4px; }
h1,h2,h3,h4,h5 { font-family:'Space Grotesk',Arial,sans-serif !important; font-weight:500 !important; letter-spacing:-.035em; color:#1d1d1f !important; }
h1 { font-size:clamp(3.25rem,6.8vw,6.25rem) !important; line-height:.96 !important; }
h2 { font-size:clamp(2.35rem,4.3vw,4.5rem) !important; line-height:1.02 !important; }
p { line-height:1.75; }
main { overflow:hidden; }
main .h-screen { height:auto !important; min-height:85svh; }
main .bg-\[\#0a1f33\] { background:#f5f5f7 !important; color:#1d1d1f !important; }
main .bg-\[\#0a1f33\] .text-white, main .bg-\[\#0a1f33\] .text-slate-300, main .bg-\[\#0a1f33\] a { color:#1d1d1f !important; }
main .bg-\[\#0a1f33\] .contact-card { background:#fff !important; border-color:rgba(0,0,0,.10) !important; }
.contact-card p.leading-relaxed { color:#1d1d1f !important; font-weight:500; }
.contact-card .text-\[\#2c6bff\], main .bg-\[\#0a1f33\] .text-\[\#2c6bff\] { color:#718a45 !important; }
.contact-card a:hover { color:#718a45 !important; }
.ecosystem-card { border:2px solid rgba(0,0,0,.20) !important; background:#fff !important; }
.ecosystem-card:hover { border-color:#718a45 !important; }
.site-footer { padding:2rem 8%; background:#f5f5f7; border-top:1px solid rgba(0,0,0,.10); color:#6e6e73; font:500 .72rem 'IBM Plex Mono',monospace; letter-spacing:.04em; }
.site-footer__inner { max-width:1440px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:1rem; }
.site-footer a { color:#6e6e73; text-decoration:none; }
.site-footer a:hover { color:#718a45; }
main > section { border-bottom:1px solid rgba(0,0,0,.08); }
.bg-white, .bg-\[var\(--bg-pure\)\] { background:#fff !important; }
.bg-\[var\(--bg-accent\)\], .bg-\[var\(--bg-base\)\] { background:#f5f5f7 !important; }
.text-\[var\(--text-secondary\)\] { color:#6e6e73 !important; }
.text-\[var\(--tech-blue\)\] { color:#718a45 !important; }
.border, .border-gray-100 { border-color:rgba(0,0,0,.10) !important; }
.hero-grid,.hero-cap,.hero-about { background-image:none !important; }
.status-overlay, .back-link, .text-xs { font-family:'IBM Plex Mono',monospace !important; letter-spacing:.12em; }
.btn-elevation { border-radius:0 !important; min-height:46px; padding:.85rem 1.2rem !important; font-family:'IBM Plex Mono',monospace !important; font-size:.72rem !important; letter-spacing:.1em !important; }
.btn-elevation.bg-\[var\(--tech-blue\)\] { color:#fff !important; background:#718a45 !important; }
.btn-elevation:hover { box-shadow:none !important; transform:translateY(-2px); background:#5e7538 !important; }
.cap-card,.project-card,.platform-card,.delivery-card,.partner-card,.cert-item { border-radius:20px !important; background:#fafafa !important; border-color:rgba(0,0,0,.10) !important; box-shadow:none !important; }
.cap-card:hover,.project-card:hover,.platform-card:hover,.delivery-card:hover,.partner-card:hover { border-color:#718a45 !important; transform:translateY(-4px) !important; box-shadow:none !important; }
.cap-image,.hero-project-image,.gallery-image { filter:saturate(.72) contrast(1.08); border-radius:0 !important; }
.project-card { border-left:1px solid rgba(0,0,0,.14) !important; min-height:12rem; }
.project-card:hover { border-left-color:#718a45 !important; background:#fafafa !important; }
.partner-card { padding:2rem !important; }
section .reveal, section .reveal-node { will-change:transform,opacity; }
@media (max-width:768px) { header, #nav-header { height:76px !important; padding:0 20px !important; } header .logo img, header > a > img, header a > img { height:42px !important; max-height:42px !important; } header nav { gap:1rem !important; } .nav-link { font-size:.61rem !important; letter-spacing:.07em !important; } main > section { padding-left:20px !important; padding-right:20px !important; } h1 { font-size:clamp(2.7rem,13vw,4rem) !important; } .site-footer { padding:1.5rem 20px; } .site-footer__inner { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } }
