/* Base / Reset */
:root{
  --primary:#1f6feb;
  --accent:#00b0ff;
  --bg:#f6f8fb;
  --card:#ffffff;
  --muted:#6b7280;
  --max-width:1100px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial;
  background:var(--bg);
  color:#142433;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
  font-size:16px;
}

/* layout */
.container{max-width:var(--max-width);margin:0 auto;padding:24px}
.header-inner, .footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-header{background:var(--card);box-shadow:0 6px 18px rgba(17,24,39,0.06);position:sticky;top:0;z-index:50}
.brand{display:flex;align-items:center;gap:12px;padding:10px 0}
.logo{width:44px;height:44px}
.brand-text{font-weight:700;color:#0b1220;font-size:1rem}
.main-nav ul{display:flex;gap:18px;margin:0;padding:0}
.main-nav a{color:var(--muted);padding:10px;border-radius:6px}
.main-nav a:hover{color:var(--primary);background:rgba(31,111,235,0.06)}

/* mobile nav */
.nav-toggle{display:none;border:0;background:transparent;padding:8px 10px;font-weight:600;cursor:pointer}
@media(max-width:880px){
  .main-nav{position:absolute;top:72px;right:16px;background:var(--card);box-shadow:0 12px 40px rgba(2,6,23,0.08);padding:12px;border-radius:10px;display:none}
  .main-nav.open{display:block}
  .nav-toggle{display:inline-block}
}

/* Hero */
.hero{padding:56px 0;background:linear-gradient(180deg,var(--card),#f2f6fb)}
.hero .lead{max-width:70ch;color:#243447}
.hero h1{font-size:2rem;margin:0 0 12px;color:#06213a}
.hero-ctas{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:10px 16px;border-radius:8px;text-decoration:none;font-weight:600;border:1px solid transparent}
.btn.primary{background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(31,111,235,0.12)}
.btn.ghost{background:transparent;color:var(--primary);border-color:rgba(31,111,235,0.12)}
.btn:hover{transform:translateY(-2px);transition:all .18s ease}

/* quick contact */
.quick-contact{display:flex;gap:28px;margin-top:20px;color:var(--muted);flex-wrap:wrap}
.quick-contact dt{font-weight:700;color:#0b1220}

/* features */
.features{padding:28px 0}
.features h2{margin-bottom:12px;color:var(--primary)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
article{background:var(--card);padding:18px;border-radius:10px;box-shadow:0 8px 18px rgba(2,6,23,0.04)}
article h3{margin-top:0}
@media(max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.grid{grid-template-columns:1fr} .container{padding:16px}}

/* preview, testimonials */
.preview{margin:22px 0;padding:20px;background:var(--card);border-radius:12px;box-shadow:0 8px 20px rgba(2,6,23,0.04)}
.testimonials blockquote{background:linear-gradient(180deg,#fff,#f7fbff);padding:14px;border-radius:8px}

/* contact form */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
input,textarea{width:100%;padding:12px;border-radius:8px;border:1px solid #e6eef6;background:#fff}
.form-actions{display:flex;gap:10px;align-items:center}
@media(max-width:900px){.two-col{grid-template-columns:1fr}}

/* footer */
.site-footer{background:linear-gradient(180deg,#07122b,#02224a);color:#fff;padding:20px 0;margin-top:30px}
.site-footer a{color:rgba(255,255,255,0.9)}
.site-footer address{font-style:normal;color:rgba(255,255,255,0.9)}
.copyright{text-align:center;padding:12px;color:rgba(255,255,255,0.7);font-size:14px}

/* cookie banner */
.cookie-banner{position:fixed;left:0;right:0;bottom:16px;margin:auto;max-width:var(--max-width);background:rgba(2,6,23,0.95);color:#fff;padding:14px;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:200}
.cookie-banner p{margin:0;font-size:14px;color:rgba(255,255,255,0.95)}
.cookie-actions{display:flex;gap:8px}
.cookie-banner a{color:#bfe8ff}

/* utility */
.container h1,h2,h3{color:#06213a}
