
:root { --primary:#6b21a8; --secondary:#0ea5e9; --accent:#f59e0b; --dark:#0b0f19; --light:#ffffff; --radius:12px; --shadow:0 10px 30px rgba(11,15,25,.15); }
* { box-sizing:border-box; } html,body { margin:0; padding:0; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Inter, Arial, sans-serif; color:var(--dark); background:var(--light); }
img { max-width:100%; height:auto; } .container { width:min(1120px,92%); margin:0 auto; } .center { text-align:center; } .muted { color:#64748b; }
.site-header { position:sticky; top:0; background:rgba(255,255,255,.85); backdrop-filter:blur(8px); border-bottom:1px solid #e2e8f0; z-index:50; }
.nav { display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:16px; } .logo { display:flex; align-items:center; gap:10px; color:var(--dark); text-decoration:none; font-weight:800; } .logo img { width:40px; height:40px; }
nav a { margin-left:18px; color:var(--dark); text-decoration:none; font-weight:600; } nav .btn { margin-left:24px; } .nav-toggle{display:none} .nav-toggle-label{display:none; cursor:pointer; font-size:24px; }
@media (max-width:860px) { nav { position:absolute; right:0; top:58px; background:white; box-shadow:var(--shadow); padding:16px; display:none; flex-direction:column; align-items:flex-start; } .nav-toggle:checked + .nav-toggle-label + nav { display:flex; } .nav-toggle-label{display:block} }
.btn { display:inline-block; padding:12px 18px; border-radius:var(--radius); border:2px solid transparent; cursor:pointer; font-weight:700; text-decoration:none; } .btn-primary { background:var(--primary); color:white; } .btn-secondary { background:var(--secondary); color:#05263a; } .btn-link { background:transparent; color:var(--primary); } .btn-small { padding:8px 12px; font-size:14px; }
.hero { padding:56px 0; background: linear-gradient(180deg, #fff, #f1f5f9); } .hero .lead { color:#475569; font-size:18px; } .checklist { padding-left:18px; } .cta-row { display:flex; gap:12px; align-items:center; margin-top:18px; }
.grid-2 { display:grid; grid-template-columns:1.2fr 1fr; gap:24px; align-items:center; } .grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; } @media (max-width:860px) { .grid-2 { grid-template-columns:1fr; } .grid-3 { grid-template-columns:1fr; } }
.cards .card { padding:18px; border:1px solid #e2e8f0; border-radius:var(--radius); box-shadow:var(--shadow); background:white; } .cards .card h3 { margin-top:8px; } .service-block { padding:18px 0; border-bottom:1px solid #e2e8f0; } .bullets { padding-left:18px; }
.site-footer { margin-top:48px; background:#0b0f19; color:#cbd5e1; padding:36px 0 18px; } .site-footer h4 { color:#e2e8f0; margin-top:0; } .site-footer a { color:#b5e2ff; text-decoration:none; } .site-footer .footer-bottom { margin-top:12px; display:flex; justify-content:space-between; gap:12px; border-top:1px solid #1f2937; padding-top:12px; } .newsletter .row { display:flex; gap:8px; } .newsletter input { padding:10px; border-radius:10px; border:1px solid #475569; background:#0f172a; color:#e2e8f0; }
.contact-form label { display:block; font-weight:600; margin-bottom:6px; } .contact-form input, .contact-form select, .contact-form textarea { width:100%; padding:12px; border-radius:10px; border:1px solid #cbd5e1; } .contact-form button { margin-top:12px; }
.cta { padding:48px 0; background: linear-gradient(135deg, var(--primary), var(--secondary)); color:white; } .cta .btn-primary { background:white; color:#0b1220; } .hero-art { filter: drop-shadow(0 12px 40px rgba(2,6,23,.2)); }

/* --- Services graphics --- */
.section-decor { display:block; width:100%; max-width:100%; margin:8px 0 24px; }
.service-block { display:grid; grid-template-columns: 360px 1fr; gap:24px; align-items:center; }
.service-illustration img { width:100%; height:auto; border-radius: var(--radius); box-shadow: var(--shadow); }
@media (max-width:860px){ .service-block { grid-template-columns: 1fr; } }
