:root{
  --primary:#0F172A;
  --secondary:#2563EB;
  --accent:#22C55E;
  --background:#F8FAFC;
  --surface:#FFFFFF;
  --text:#0B1220;
  --muted:#64748B;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:Arial, Helvetica, sans-serif;
  color:var(--text);
  background:var(--background);
  line-height:1.6;
}
.container{max-width:1200px;margin:0 auto;padding:0 20px;}
.site-header{
  background:var(--surface);
  border-bottom:1px solid #e5e7eb;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:15px 0;
}
.logo-img{height:50px;}
.nav-toggle{display:none;}
.burger{
  display:none;
  font-size:16px;
  background:var(--secondary);
  color:#fff;
  padding:8px 14px;
  border-radius:4px;
  cursor:pointer;
}
.site-nav{
  display:flex;
  gap:20px;
}
.site-nav a{
  text-decoration:none;
  color:var(--text);
  font-weight:600;
}
.nav-close{display:none;}
.hero{
  background:var(--surface);
  padding:60px 0;
}
.small-hero{padding:40px 0;}
.hero h1{font-size:36px;margin-bottom:15px;}
.hero p{margin-bottom:12px;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
.btn{
  background:var(--secondary);
  color:#fff;
  padding:12px 20px;
  text-decoration:none;
  border:none;
  border-radius:4px;
  cursor:pointer;
  display:inline-block;
}
.btn-outline{
  background:transparent;
  color:var(--secondary);
  border:2px solid var(--secondary);
}
.btn-small{padding:8px 14px;}
.section{padding:60px 0;}
.section.alt{background:#eef2f7;}
.grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  align-items:center;
}
.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
  margin-top:20px;
}
.card{
  background:var(--surface);
  padding:20px;
  border-radius:6px;
  border:1px solid #e5e7eb;
}
.gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:20px;
  margin-top:20px;
}
.gallery img{width:100%;border-radius:6px;}
.timeline{margin-top:15px;padding-left:18px;}
.timeline li{margin-bottom:10px;}
.list{padding-left:18px;margin-top:10px;}
.faq{margin-top:20px;}
.faq-item{margin-bottom:16px;}
.form{margin-top:20px;}
.form-row{display:flex;flex-direction:column;margin-bottom:15px;}
.form input,.form select,.form textarea{
  padding:10px;
  border:1px solid #cbd5e1;
  border-radius:4px;
}
.site-footer{
  background:var(--primary);
  color:#fff;
  padding:40px 0 20px;
}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
}
.footer-logo{height:100px;margin-bottom:10px;}
.footer-nav a{
  display:block;
  color:#fff;
  text-decoration:none;
  margin-bottom:6px;
}
.footer-bottom{text-align:center;margin-top:20px;color:#e2e8f0;}
.cookie-banner{
  position:fixed;
  bottom:20px;
  left:20px;
  right:20px;
  background:var(--surface);
  border:1px solid #e5e7eb;
  padding:15px;
  display:none;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  z-index:1000;
}
.cookie-banner p{color:var(--text);}
.hero-image img,.grid-2 img{width:100%;border-radius:6px;}

@media(max-width:900px){
  .grid-2{grid-template-columns:1fr;}
  .hero h1{font-size:30px;}
}
@media(max-width:768px){
  .burger{display:block;}
  .site-nav{
    position:fixed;
    top:0;left:0;right:0;bottom:0;
    background:var(--primary);
    display:none;
    flex-direction:column;
    padding:60px 20px;
    gap:20px;
    z-index:999;
  }
  .site-nav a{color:#fff;font-size:20px;}
  .nav-close{
    display:block;
    color:#fff;
    font-size:24px;
    text-align:right;
    margin-bottom:20px;
  }
  .nav-toggle:checked + .burger + .site-nav{display:flex;}
}
@media(max-width:480px){
  .hero h1{font-size:24px;}
  .btn{width:100%;text-align:center;}
}