:root {
  --primary: #0b64a4;
  --muted: #6b7280;
  --bg: #f8fafc;
  --card: #ffffff;
  --radius: 12px;
  --maxw: 1100px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
}
* {box-sizing: border-box;}
body {margin:0; background:var(--bg); color:#0f172a; line-height:1.5;}
.container {max-width:var(--maxw); margin:0 auto; padding:2rem;}

.hero {background:linear-gradient(135deg, rgba(11,100,164,0.12), rgba(11,100,164,0.04)); padding:4rem 0; text-align:center;}
.hero h1 {margin:0 0 .5rem; font-size:2rem;}
.hero p {margin:0 0 1.25rem; color:var(--muted);}
.cta-btn {display:inline-block; padding:.75rem 1.25rem; border-radius:10px; background:var(--primary); color:#fff; text-decoration:none; font-weight:600;}

section {padding:2rem 0;}
h2 {margin:0 0 1rem; font-size:1.25rem;}
ul {padding-left:1.25rem;}

.service-grid {display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem;}
.reference-grid {display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1rem;}
article {background:var(--card); padding:1rem; border-radius:var(--radius); box-shadow:0 6px 18px rgba(2,6,23,0.04);}

.contact form {display:grid; gap:.75rem; max-width:720px;}
input[type="text"], textarea {padding:.75rem; border:1px solid #e6edf3; border-radius:8px; font-size:1rem;}
textarea {min-height:140px; resize:vertical;}
.contact button {background:var(--primary); color:#fff; border:none; padding:.75rem 1rem; border-radius:10px; font-weight:600; cursor:pointer;}

footer {padding:1rem 0; border-top:1px solid rgba(2,6,23,0.04);}
details {background:var(--card); padding:1rem; border-radius:10px; margin-bottom:.5rem;}

.cookie-banner {position:fixed; left:1rem; right:1rem; bottom:1rem; background:#fff; padding:1rem; border-radius:12px; box-shadow:0 10px 30px rgba(2,6,23,0.12); display:flex; gap:1rem; align-items:center; z-index:9999;}
.cookie-banner p {margin:0; flex:1; color:var(--muted);}
.cookie-actions {display:flex; gap:.5rem;}
.btn-secondary {background:transparent; border:1px solid #cbd5e1; padding:.5rem .75rem; border-radius:8px; cursor:pointer;}
.btn-primary {background:var(--primary); color:#fff; border:none; padding:.55rem .85rem; border-radius:8px; cursor:pointer;}
.logo {max-width: 200px;height: auto;margin-bottom: 1rem;}

@media (max-width:640px) {.hero h1{font-size:1.5rem}.container{padding:1rem}.cookie-banner{flex-direction:column;align-items:stretch}}
