:root{
  --bg: #000;
  --panel: #0b1114;
  --muted: #aab6c0;
  --blue: #0f5a84; /* huvudblå från din logga */
  --accent: #39a3ff;
  --glass: rgba(255,255,255,0.03);
  --radius: 12px;
  --max: 1100px;
  color-scheme: dark;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background: linear-gradient(180deg, var(--bg), #020202 180%);
  color: #e6eef5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Header */
.site-header{
  position: sticky;
  top:0;
  z-index:40;
  background: linear-gradient(180deg, rgba(0,0,0,0.7), rgba(0,0,0,0.4));
  border-bottom: 1px solid rgba(255,255,255,0.03);
  backdrop-filter: blur(6px);
}
.header-inner{
  max-width: var(--max);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 20px;
  gap:18px;
}
.brand-logo{
  height:86px;
  width:auto;
  display:block;
  filter: drop-shadow(0 6px 18px rgba(15,90,132,0.14));
}

/* nav */
.main-nav{
  display:flex;
  align-items:center;
  gap:18px;
}
.main-nav a{
  color:var(--muted);
  text-decoration:none;
  padding:8px 12px;
  border-radius:8px;
  font-weight:600;
  font-size:15px;
}
.main-nav a:hover{ color: #fff; background: var(--glass) }
.nav-toggle{display:none;background:transparent;border:0;color:var(--muted);font-size:20px}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:10px;
  text-decoration:none;
  color:inherit;
  border:none;
}
.btn-primary{
  background: linear-gradient(90deg,var(--blue),var(--accent));
  color:white;
  font-weight:700;
  box-shadow: 0 6px 22px rgba(15,90,132,0.18);
}
.btn-ghost{
  background: rgba(255,255,255,0.02);
  color: var(--blue);
  border: 1px solid rgba(15,90,132,0.12);
}
.btn-cta{
  font-size:18px;
  padding:12px 20px;
  border-radius:12px;
}

/* HERO */
.hero{
  min-height:64vh;
  display:grid;
  grid-template-columns:1fr;
  align-items:center;
  justify-items:center;
  padding:56px 20px;
  position:relative;
  text-align:center;
  overflow:hidden;
  background: linear-gradient(180deg, rgba(0,0,0,0.35), rgba(0,0,0,0.5));
}
.hero-inner{max-width:980px;}
.eyebrow{color:var(--blue);font-weight:700;letter-spacing:0.6px;margin-bottom:8px}
.hero-title{font-size:38px;margin:0 0 12px;color:#fff}
.hero-lead{color:var(--muted);max-width:820px;margin:0 auto 18px;font-size:16px}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:12px}

/* neon visual */
.hero-visual .neon{
  position:absolute;
  inset:0;
  background: radial-gradient(circle at 20% 30%, rgba(15,90,132,0.14), transparent 10%),
              radial-gradient(circle at 80% 60%, rgba(57,163,255,0.08), transparent 12%);
  pointer-events:none;
}

/* layout */
.container{max-width:var(--max);margin:0 auto;padding:28px 20px}
.section{padding:48px 0}

/* About */
.about-grid{display:grid;grid-template-columns:1fr 420px;gap:24px;align-items:center}
.about-image img{width:100%;height:100%;object-fit:cover;border-radius:12px}

/* Services */
.section-title{color:var(--blue);font-size:22px;margin-bottom:8px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.service-card{
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  padding:20px;border-radius:12px;border:1px solid rgba(255,255,255,0.03);
  transition: transform .22s ease, box-shadow .22s ease;
}
.service-card:hover{
  transform: translateY(-6px);
  box-shadow:0 18px 40px rgba(15,90,132,0.12);
  border-color: rgba(15,90,132,0.18);
}
.service-card h4{margin:8px 0 6px;color:#fff}
.icon-wrap{color:var(--blue);display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:8px;background:rgba(15,90,132,0.06)}

/* Offer */
.offer{background: linear-gradient(180deg, rgba(10,12,14,0.6), rgba(5,6,8,0.8));padding:56px 20px;border-top:1px solid rgba(255,255,255,0.02)}
.container.narrow{max-width:820px}
.offer-title{font-size:28px;color:#fff;margin-bottom:6px}
.offer-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}
.offer-form input, .offer-form select, .offer-form textarea{
  background: rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.04);
  color: #fff;padding:12px;border-radius:10px;outline:none;font-size:15px
}
.offer-form textarea{grid-column: 1 / -1;min-height:110px;resize:vertical}
.offer-actions{display:flex;gap:12px;grid-column:1 / -1;justify-content:flex-start}
.btn.large{padding:14px 18px;border-radius:12px}

/* Contact & footer */
.contact .muted{color:var(--muted)}
.site-footer{padding:20px 0;background:transparent;color:var(--muted);border-top:1px solid rgba(255,255,255,0.03)}

/* responsive */
@media (max-width:980px){
  .about-grid{grid-template-columns:1fr}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .offer-form{grid-template-columns:1fr}
  .brand-logo{height:74px}
  .nav-toggle{display:inline-block}
  .main-nav{position:relative}
  .main-nav.open{position:fixed;right:16px;top:72px;display:flex;flex-direction:column;background:rgba(0,0,0,0.9);padding:12px;border-radius:10px}
}
@media (max-width:600px){
  .service-grid{grid-template-columns:1fr}
  .hero-title{font-size:26px}
  .brand-logo{height:64px}
  .offer-form input, .offer-form textarea{font-size:14px}
}

/* small helpers */
.muted{color:var(--muted)}
.bullets{margin-top:12px;color:var(--muted);list-style:disc;padding-left:18px}
.sr-only{position:absolute;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
