*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #050810;--bg2: #080d1a;--surface: #0f1a2b;--border: rgba(255, 255, 255, .07);--text: #e8edf5;--muted: #6b7a99;--accent: #00bcd4;--accent2: #a855f7;--font-display: "Syne", sans-serif;--font-mono: "DM Mono", monospace}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-display);line-height:1.6;overflow-x:hidden}nav,section,header,footer{position:relative;z-index:2}.accent{color:var(--accent)}.dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--accent);animation:pulse 2s ease-in-out infinite}.accent-dot{background:var(--accent2)!important}.section-label{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.section-title{margin-bottom:2.5rem;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;line-height:1.1;letter-spacing:-.02em}.hero-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.btn-primary{display:inline-block;padding:.85rem 2rem;border:none;border-radius:4px;background:linear-gradient(135deg,var(--accent),#0099cc);color:#050810;font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:.05em;text-decoration:none;transition:transform .2s,box-shadow .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00d4ff4d}nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 4rem;border-bottom:1px solid var(--border);backdrop-filter:blur(12px);background:#050810b3}.nav-logo{color:var(--text);font-family:var(--font-display);font-size:1.4rem;font-weight:800;letter-spacing:.05em;text-decoration:none}.nav-links{display:flex;align-items:center;gap:2.5rem}.nav-links a{color:var(--muted);font-size:.9rem;font-weight:600;letter-spacing:.05em;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-active{color:var(--text)!important}.nav-cta{color:var(--accent)!important;padding:.4rem 1.2rem;border:1px solid rgba(0,212,255,.3);border-radius:4px;transition:background .2s,border-color .2s}.nav-cta:hover{background:#00d4ff14;border-color:var(--accent)}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;padding:4px;border:none;background:none;cursor:pointer;z-index:200}.hamburger span{display:block;width:24px;height:2px;border-radius:2px;background:var(--text);transition:transform .3s ease,opacity .3s ease}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}footer{padding:2rem 4rem;border-top:1px solid var(--border);background:var(--bg)}.footer-inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto}.footer-logo{font-size:1.1rem;font-weight:800;letter-spacing:.05em}.footer-copy,.footer-location{color:var(--muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em}.project-card-wrap{display:flex;flex-direction:column;align-self:stretch;min-width:0;height:100%}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;align-items:stretch;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--border)}.project-card{display:flex;flex-direction:column;justify-content:flex-start;width:100%;height:100%;min-width:0;padding:1.5rem;border:none;background:var(--bg);color:inherit;font:inherit;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none}.project-card:hover{background:var(--surface)}.project-card:focus{outline:none}.project-card h4{margin:.75rem 0 .55rem;color:var(--text);font-size:1.05rem;font-weight:750;line-height:1.25;letter-spacing:-.01em}.project-card p{flex-grow:1;margin-bottom:.9rem;color:var(--muted);font-family:var(--font-mono);font-size:.74rem;font-weight:300;line-height:1.75}.project-card.active{background:var(--surface);box-shadow:inset 0 0 0 1px #00d4ff40,0 6px 30px #00d4ff14}.project-card.active h4,.project-card.active p{color:var(--text)}.project-card.active .card-expand-hint{color:var(--accent)}.card-top{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.25rem}.card-expand-hint{color:var(--muted);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em}.theme-badge,.live-badge,.soon-badge,.gov-badge{padding:.15rem .5rem;border-radius:2px;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}.theme-badge{color:var(--c, var(--accent));border:1px solid var(--c, var(--accent));opacity:.8}.live-badge{color:#050810;background:var(--accent);font-weight:700}.soon-badge{color:var(--muted);border:1px solid var(--border)}.gov-badge{color:#10b981;border:1px solid rgba(16,185,129,.3)}.card-expand-panel{overflow:hidden;max-height:0;opacity:0;border:1px solid var(--border);border-top:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px;background:var(--surface);transition:max-height .35s ease,opacity .25s ease}.card-expand-panel.has-content{max-height:1200px;opacity:1}.project-card-wrap.open .project-card{background:var(--surface);border-bottom-left-radius:0;border-bottom-right-radius:0}.project-card-wrap.open .card-expand-hint{color:var(--accent)}.row-expand-panel{grid-column:1 / -1;overflow:hidden;max-height:0;opacity:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);transition:max-height .35s ease,opacity .25s ease}.row-expand-panel.has-content{max-height:1400px;opacity:1}.expand-inner p{margin-bottom:1rem}.expand-inner p:last-child{margin-bottom:0}.expand-skills-block{margin-top:1.25rem}.expand-skills-label{margin-bottom:.5rem;color:var(--muted);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}.expand-skills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.expand-skills span{padding:.3rem .6rem;border:1px solid rgba(0,212,255,.25);border-radius:3px;background:#00d4ff14;color:var(--accent);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;transition:all .2s ease}.expand-skills span:hover{transform:translateY(-1px);border-color:var(--accent);background:#00d4ff26}@media(max-width:768px){nav{padding:1.1rem 1.5rem}.hamburger{display:flex}.nav-links{position:absolute;top:100%;left:0;right:0;z-index:100;display:none;flex-direction:column;gap:1.25rem;padding:1.5rem 2rem;border-bottom:1px solid var(--border);background:#050810f7;backdrop-filter:blur(16px)}.nav-links.open{display:flex}.nav-links a{color:var(--text);font-size:1rem}.nav-cta{align-self:flex-start;padding:.5rem 1.25rem!important}footer{padding:1.5rem}.footer-inner{flex-direction:column;gap:.4rem;text-align:center}}.sim-canvas[data-astro-cid-y3soregm]{position:fixed;inset:0;width:100%;height:100%;z-index:0;opacity:.35;pointer-events:none}.noise[data-astro-cid-y3soregm]{position:fixed;inset:0;z-index:1;opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:256px 256px}
