*{box-sizing:border-box;margin:0;padding:0}html,body{color:#fff;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}body{background:linear-gradient(135deg,#0f1729 0%,#1a2347 35%,#2d1b4e 70%,#4a1d5e 100%) 0 0/400% 400%;flex-direction:column;min-height:100vh;animation:18s infinite gradientShift;display:flex;position:relative;overflow-x:hidden}.stage{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;position:relative}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.orb{filter:blur(80px);opacity:.5;pointer-events:none;z-index:0;border-radius:50%;position:absolute}.orb-1{background:#4f46e5;width:400px;height:400px;animation:14s ease-in-out infinite float1;top:-100px;left:-100px}.orb-2{background:#ec4899;width:350px;height:350px;animation:16s ease-in-out infinite float2;bottom:-100px;right:-100px}.orb-3{opacity:.3;background:#06b6d4;width:280px;height:280px;animation:20s ease-in-out infinite float3;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes float1{0%,to{transform:translate(0)}50%{transform:translate(60px,80px)}}@keyframes float2{0%,to{transform:translate(0)}50%{transform:translate(-80px,-60px)}}@keyframes float3{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-30%,-70%)}}.container{z-index:1;text-align:center;width:100%;max-width:960px;position:relative}.logo{letter-spacing:-.03em;align-items:center;gap:.6rem;margin-bottom:.5rem;font-size:clamp(2.5rem,6vw,4rem);font-weight:800;animation:.8s ease-out fadeInDown;display:inline-flex}.logo .wordmark{background:linear-gradient(135deg,#fff 0%,#c7d2fe 50%,#fbcfe8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.logo .flask{filter:drop-shadow(0 0 12px #c1d83159);flex-shrink:0;width:.85em;height:1em}.logo .flask path,.logo .flask line{stroke:#c1d831}.tagline{color:#ffffffa6;letter-spacing:.05em;margin-bottom:1.25rem;font-size:clamp(1rem,2vw,1.15rem);font-weight:300;animation:.8s ease-out .15s both fadeInDown}.intro{color:#ffffffb8;max-width:640px;margin:0 auto 3.5rem;font-size:clamp(.95rem,1.6vw,1.05rem);font-weight:400;line-height:1.6;animation:.8s ease-out .25s both fadeInDown}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.cards{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.75rem;margin-top:2rem;display:grid}.card{color:inherit;-webkit-backdrop-filter:blur(20px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:20px;padding:2.5rem 2rem;text-decoration:none;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s,border-color .4s;animation:.8s ease-out both fadeInUp;display:block;position:relative;overflow:hidden}.card:first-child{animation-delay:.3s}.card:nth-child(2){animation-delay:.45s}.card:nth-child(3){animation-delay:.6s}.card:nth-child(4){animation-delay:.75s}.card:nth-child(5){animation-delay:.9s}.card:nth-child(6){animation-delay:1.05s}.card:nth-child(7){animation-delay:1.2s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.card:before{content:"";background:var(--accent,linear-gradient(90deg, #6366f1, #8b5cf6));opacity:0;height:3px;transition:opacity .4s;position:absolute;top:0;left:0;right:0}.card:after{content:"";background:var(--glow,radial-gradient(circle at top right, #6366f133, transparent 60%));opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.card:hover{border-color:#ffffff40;transform:translateY(-8px)scale(1.02);box-shadow:0 20px 60px #0006,0 0 0 1px #ffffff1a}.card:hover:before,.card:hover:after{opacity:1}.card-ozone{--accent:linear-gradient(90deg, #06b6d4, #3b82f6);--glow:radial-gradient(circle at top right, #06b6d440, transparent 60%)}.card-pidp{--accent:linear-gradient(90deg, #ec4899, #f59e0b);--glow:radial-gradient(circle at top right, #ec489940, transparent 60%)}.card-funding{--accent:linear-gradient(90deg, #10b981, #84cc16);--glow:radial-gradient(circle at top right, #10b98140, transparent 60%)}.card-fields{--accent:linear-gradient(90deg, #f0b429, #f97316);--glow:radial-gradient(circle at top right, #f0b42940, transparent 60%)}.card-maritime{--accent:linear-gradient(90deg, #3c8c86, #1e5fa0);--glow:radial-gradient(circle at top right, #3c8c8640, transparent 60%)}.card-usmhp{--accent:linear-gradient(90deg, #0ea5e9, #6366f1);--glow:radial-gradient(circle at top right, #0ea5e940, transparent 60%)}.card-ssg{--accent:linear-gradient(90deg, #8b5cf6, #06b6d4);--glow:radial-gradient(circle at top right, #8b5cf640, transparent 60%)}.card-icon{z-index:1;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:1.5rem;font-size:1.75rem;display:flex;position:relative}.card-ozone .card-icon{background:linear-gradient(135deg,#06b6d440,#3b82f640);border:1px solid #06b6d44d}.card-pidp .card-icon{background:linear-gradient(135deg,#ec489940,#f59e0b40);border:1px solid #ec48994d}.card-funding .card-icon{background:linear-gradient(135deg,#10b98140,#84cc1640);border:1px solid #10b9814d}.card-fields .card-icon{background:linear-gradient(135deg,#f0b42940,#f9731640);border:1px solid #f0b4294d}.card-maritime .card-icon{background:linear-gradient(135deg,#3c8c8640,#1e5fa040);border:1px solid #3c8c864d}.card-usmhp .card-icon{background:linear-gradient(135deg,#0ea5e940,#6366f140);border:1px solid #0ea5e94d}.card-ssg .card-icon{background:linear-gradient(135deg,#8b5cf640,#06b6d440);border:1px solid #8b5cf64d}.card-label{letter-spacing:.15em;text-transform:uppercase;color:#ffffff80;z-index:1;margin-bottom:.5rem;font-size:.75rem;font-weight:600;position:relative}.card-title{letter-spacing:-.02em;z-index:1;margin-bottom:.75rem;font-size:1.65rem;font-weight:700;position:relative}.card-desc{color:#ffffffb3;z-index:1;margin-bottom:1.75rem;font-size:.95rem;line-height:1.55;position:relative}.card-cta{color:#fff;z-index:1;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;transition:gap .3s;display:inline-flex;position:relative}.card:hover .card-cta{gap:.85rem}.card-cta svg{width:16px;height:16px;transition:transform .3s}@media (width<=640px){.cards{grid-template-columns:1fr}.card{padding:2rem 1.5rem}.stage{padding:1.5rem 1rem}}
