/* Palette & reset */
:root{
  --bg: #0b0c10;
  --panel: #0f1117;
  --soft: #161925;
  --text: #e8eefc;
  --muted: #9aa7bd;
  --brand: #6aa0ff;
  --brand-2: #7ef3d1;
  --ring: #99b8ff55;
  --radius: 14px;
  --radius-sm: 10px;
  --container: 1100px;
  --shadow: 0 10px 30px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background: linear-gradient(180deg, var(--bg), #0b0e16 35%, #0a0d14 100%);
  color: var(--text); line-height:1.6}

/* Layout */
.container{width:min(100%, calc(var(--container) + 2rem)); margin-inline:auto; padding:0 1rem}
.section{padding:5rem 0}
.section-accent{background: radial-gradient(1200px 400px at 10% -10%, #6aa0ff15, transparent 60%)}
.section-head{margin-bottom:2rem}
.section-head h2{margin:0 0 .25rem 0; font-size:clamp(1.6rem, 2vw + 1rem, 2.2rem)}
.muted{color:var(--muted)}

/* Header */
.site-header{position:sticky; top:0; z-index:50; backdrop-filter: blur(8px);
  background: color-mix(in srgb, #0b0c10 75%, transparent); border-bottom:1px solid #ffffff12}
.logo{display:flex; align-items:center; gap:.6rem; text-decoration:none; color:inherit; font-weight:700}
.logo-text{letter-spacing:.3px}
.site-header .container{display:flex; align-items:center; justify-content:space-between; padding:.8rem 1rem}
.nav ul{display:flex; gap:1rem; list-style:none; margin:0; padding:0}
.nav a{color:var(--text); text-decoration:none; padding:.6rem .8rem; border-radius:10px}
.nav a:hover{background:#ffffff10}
.nav-toggle{display:none}
.nav-toggle-btn{display:none; cursor:pointer}
.nav-toggle-btn span{display:block; width:26px; height:2px; background:var(--text); margin:6px 0; transition:.2s}

/* Buttons */
.btn{display:inline-block; text-decoration:none; border:1px solid #ffffff22; padding:.9rem 1.1rem; border-radius:12px}
.btn:hover{border-color:#ffffff44}
.btn-primary{background: linear-gradient(90deg, var(--brand), var(--brand-2)); color:#0b0c10; border:none; font-weight:700; box-shadow: var(--shadow)}
.btn-ghost{background:#ffffff07}

/* Hero */
.hero{padding-top:6rem}
.grid-2{display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:center}
.hero h1{font-size:clamp(2rem, 2vw + 1.5rem, 3rem); line-height:1.1; margin:0 0 .6rem}
.lead{color:var(--muted); font-size:1.05rem; max-width:45ch}
.hero-bullets{display:flex; gap:1rem; padding:0; list-style:none; margin:1rem 0 0; color:#d5dff5}
.hero-visual{display:grid; gap:.6rem; justify-items:center}
.card{background: linear-gradient(180deg, var(--panel), var(--soft)); border:1px solid #ffffff14; border-radius:var(--radius); box-shadow: var(--shadow)}
.mockup{width:100%; max-width:520px; overflow:hidden}
.mockup-header{display:flex; align-items:center; gap:.5rem; border-bottom:1px solid #ffffff14; padding:.7rem 1rem; color:var(--muted)}
.mockup-header span{width:10px; height:10px; border-radius:50%; background:#ffffff20; display:inline-block}
.mockup-body{padding:1rem}
.kpis{display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem}
.kpis div{background:#ffffff06; border:1px solid #ffffff10; border-radius:12px; padding:.9rem; text-align:center}
.kpis strong{display:block; font-size:1.2rem}
.chart-placeholder{height:160px; margin-top:1rem; border-radius:12px; border:1px dashed #ffffff20; background:
  linear-gradient(90deg, #ffffff05 25%, #ffffff12 50%, #ffffff05 75%) 0 0/200% 100%;
  animation: shimmer 2.2s infinite linear}
@keyframes shimmer{to{background-position:-200% 0}}

/* Features / services */
.features{display:grid; grid-template-columns: repeat(4, 1fr); gap:1rem}
.feature{padding:1.1rem; border:1px solid #ffffff14; border-radius:var(--radius-sm); background:#ffffff05}
.feature .icon{font-size:1.4rem; margin-bottom:.4rem}
.feature h3{margin:.4rem 0}

/* About */
.about-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:1rem}
.about-facts{margin:0; padding-left:1.2rem}

/* Projects */
.cards{display:grid; grid-template-columns: repeat(3, 1fr); gap:1rem}
.card-project img{width:100%; border-bottom:1px solid #ffffff14; display:block}
.card-body{padding:1rem}

/* Team */
.team{display:grid; grid-template-columns: repeat(3, 1fr); gap:1rem}
.person{padding:1rem; text-align:center; border:1px solid #ffffff14; border-radius:var(--radius-sm); background:#ffffff05}
.person img{width:72px; height:72px; border-radius:50%; display:block; margin:0 auto .6rem}

/* Form */
.form{padding:1.2rem}
.form-field{display:grid; gap:.35rem; margin-bottom:1rem}
label{font-weight:600}
input, textarea{width:100%; padding:.9rem 1rem; border-radius:12px; border:1px solid #334; background:#0b0e16; color:var(--text); outline:none}
input:focus, textarea:focus{box-shadow:0 0 0 4px var(--ring); border-color: color-mix(in srgb, var(--brand), white 20%)}
.form-footnote{font-size:.9rem; margin-top:.6rem}

/* Footer */
.site-footer{border-top:1px solid #ffffff12; background:#0a0d14}
.footer-grid{display:grid; grid-template-columns:1fr auto; align-items:center; gap:1rem; padding:1.4rem 1rem}
.footer-grid ul{display:flex; gap:1rem; list-style:none; margin:0; padding:0}
.footer-grid a{color:var(--muted); text-decoration:none}
.footer-grid a:hover{color:var(--text)}

/* Skip link */
.skip-link{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}
.skip-link:focus{position:static; width:auto; height:auto; padding:.5rem .8rem; background:#000; color:#fff; z-index:9999}

/* Responsive */
@media (max-width: 960px){
  .grid-2{grid-template-columns:1fr}
  .features{grid-template-columns: repeat(2, 1fr)}
  .cards{grid-template-columns:1fr}
  .team{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .nav-toggle-btn{display:block}
  .nav{position:fixed; inset:60px 0 auto 0; transform: translateY(-120%); transition:.2s; background:#0b0c10ee; border-bottom:1px solid #ffffff12}
  .nav ul{flex-direction:column; padding:1rem}
  .nav-toggle:checked ~ .nav{transform: translateY(0)}
  .nav-toggle:checked + .nav-toggle-btn span:nth-child(1){transform: translateY(8px) rotate(45deg)}
  .nav-toggle:checked + .nav-toggle-btn span:nth-child(2){opacity:0}
  .nav-toggle:checked + .nav-toggle-btn span:nth-child(3){transform: translateY(-8px) rotate(-45deg)}
}
