
:root{--bg:#0a0c10;--card:#0f1218;--muted:#9aa3b2;--text:#e8ecf3;--accent:#7cc4ff;--primary:#3ea1ff;--ring:rgba(62,161,255,.5);--border:#1b2230;--shadow:0 10px 30px rgba(0,0,0,.4)}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#080a0e,#0b0e14);color:var(--text);line-height:1.6}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.skip a{position:absolute;left:-9999px;top:auto}.skip a:focus{left:10px;top:10px;background:#fff;color:#000;padding:8px 10px;border-radius:8px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(10,12,16,.8);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.site-header .brand{display:flex;gap:.6rem;align-items:center;font-weight:700;color:var(--text);padding:14px 20px}
.site-nav{display:flex;gap:1rem;margin-left:auto;padding:14px 20px}
.site-nav a{color:var(--text);opacity:.9;padding:8px 10px;border-radius:10px}
.site-nav a:hover{background:var(--card);opacity:1}
.hamburger{display:none;padding:14px 20px;cursor:pointer}#nav-toggle{display:none}
@media (max-width:860px){.site-nav{display:none;flex-direction:column;padding:10px 20px}#nav-toggle:checked+.hamburger+.site-nav{display:flex;background:rgba(10,12,16,.98);position:absolute;right:10px;top:58px;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.hamburger{display:block;margin-left:auto}}
.hero{padding:96px 0;background:radial-gradient(1200px 400px at 50% -100px, rgba(62,161,255,.2), transparent);border-bottom:1px solid var(--border)}
.hero h1{font-size:clamp(32px,6vw,54px);line-height:1.15;margin:0 0 10px}.hero .lead{font-size:clamp(16px,2.4vw,20px);max-width:840px;color:var(--muted)}.accent{color:var(--accent)}
.cta-row{display:flex;gap:12px;margin-top:22px}.btn{display:inline-block;border:1px solid var(--border);padding:12px 16px;border-radius:14px;transition:.2s;box-shadow:none}
.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#071018;border-color:transparent}.btn-ghost{background:transparent;color:var(--text)}
.page-hero.slim{padding:64px 0;border-bottom:1px solid var(--border)}.pad-hero{padding-top:40px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.cards,.grid-4,.grid-3{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.card-link{display:block}.card h3{margin-top:0}.muted{color:var(--muted)}
.features{padding:40px 0}.industries{padding:60px 0;background:linear-gradient(180deg, rgba(62,161,255,.05), transparent)}
.services .service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:900px){.services .service-grid{grid-template-columns:1fr}}
.team .person .avatar{height:64px;width:64px;border-radius:50%;background:linear-gradient(135deg,var(--accent),transparent);border:2px solid var(--border);margin-bottom:8px}
.prose{padding:40px 0}.prose h1,.prose h2{margin-top:0}
.site-footer{border-top:1px solid var(--border);padding:30px 0;background:rgba(10,12,16,.7);backdrop-filter:blur(8px)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px}@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
.footer-brand{display:flex;gap:.6rem;align-items:center}.subfooter{margin-top:14px;border-top:1px solid var(--border);padding-top:14px;color:var(--muted);font-size:14px}
img{max-width:100%;height:auto}


/* Responsive logo sizing to prevent oversized render */
.brand img.logo{height:22px;width:auto;display:block}
.footer-brand img.logo{height:20px;width:auto;display:block}

/* Improve footer grid to avoid overlap */
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;align-items:start}
.footer-brand strong{display:block;margin-top:2px;white-space:nowrap}
.contact-list img{max-width:100%;height:auto;display:block}

/* Guard against overflow and overlapping text */
.site-footer, .footer-grid, .footer-grid *{min-width:0;word-wrap:break-word;overflow-wrap:anywhere}


/* Improved horizontal rhythm */
.container{max-width:1100px;margin:0 auto;padding-left:24px;padding-right:24px}
@media (max-width:640px){.container{padding-left:26px;padding-right:26px}}

/* Better readability inside narrative sections */
.prose{padding-block:48px}
.prose > *{max-width:75ch;margin-left:auto;margin-right:auto}
.prose .lead{max-width:60ch}
