:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#1d2433;background:#f7f9fc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:linear-gradient(180deg,#fff,#f7f9fc,#eef2f9)}.container{width:min(1080px,92%);margin:0 auto}.section{padding:4.5rem 0}.section-alt{background-color:#f0f4fb}h1,h2,h3{margin:0 0 1rem;line-height:1.2;letter-spacing:-.02em}h1{font-size:clamp(2rem,5vw,3.6rem)}h2{font-size:clamp(1.6rem,4vw,2.4rem)}p{margin:0 0 1.2rem;max-width:70ch}.site-header{position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#ffffffd9;border-bottom:1px solid #e7ecf5}.nav{display:flex;align-items:center;justify-content:space-between;min-height:4rem;gap:1rem}.logo{font-weight:700;color:#1a2340;text-decoration:none}.nav-links{display:flex;gap:1rem}.nav a{text-decoration:none;color:#2a3657;font-weight:500}.hero{padding-top:6rem;padding-bottom:5rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:#536189;font-weight:700}.subtitle{font-size:1.1rem;color:#33415f}.hero-actions,.project-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:1.5rem}.btn{display:inline-block;padding:.7rem 1.1rem;border-radius:.55rem;border:1px solid transparent;text-decoration:none;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background-color:#3158d4;color:#fff;box-shadow:0 8px 20px -12px #3158d4}.btn-secondary{background-color:#e9eefb;color:#20305c;border-color:#ccd7f2}.text-link{align-self:center;color:#2848ab;text-decoration:none;font-weight:600}.project-grid{display:grid;grid-template-columns:1fr;gap:1rem}.project-card{background:#fff;border:1px solid #dde5f3;border-radius:.9rem;padding:1.4rem;box-shadow:0 8px 24px -20px #6679ac}.site-footer{border-top:1px solid #dde5f3;padding:1.2rem 0 2rem;color:#54607f}@media (max-width: 680px){.nav{flex-direction:column;align-items:flex-start;padding:.75rem 0}.section{padding:3.5rem 0}.hero{padding-top:4.5rem}}
