:root {
  /* Base */
  --bg: #ffffff;
  --surface: #f7f9fb;
  --surface-soft: #fbfcfd;

  /* Text */
  --text: #0f172a;
  --muted: #64748b;

  /* Borders & lines */
  --line: rgba(15, 23, 42, 0.08);

  /* Brand accents */
  --accent: #1f7a4f;      /* primary green */
  --accent-soft: #e6f4ec; /* light green bg */

  /* Effects */
  --shadow: 0 8px 30px rgba(15, 23, 42, 0.08);
  --radius: 16px;

  --max: 1100px;
}


*{box-sizing:border-box}
html,body{margin:0;padding:0}
body {
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(900px 500px at 10% -10%, rgba(31, 122, 79, 0.08), transparent 55%),
    radial-gradient(800px 520px at 90% 0%, rgba(34, 197, 94, 0.06), transparent 55%),
    var(--bg);
}

.bg::after {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  pointer-events: none;
}

a{color:inherit;text-decoration:none}
.container{max-width:var(--max);margin:0 auto;padding:0 18px}
.nav{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(12px);
  background: rgba(255,255,255,.78);
  border-bottom:1px solid var(--line);
}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;gap:10px;align-items:center;font-weight:800;letter-spacing:.2px}
.logo{
  width:34px;height:34px;border-radius:10px;
  background: linear-gradient(135deg, rgba(14,165,233,.25), rgba(34,197,94,.22));
  border:1px solid var(--line);
}
.menu{display:flex;gap:16px;align-items:center}
.menu a{font-weight:600;color:rgba(15,23,42,.80)}
.menu a:hover{color:rgba(15,23,42,1)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 14px;border-radius:12px;font-weight:700;
  border:1px solid var(--line); background:#fff;
}
.btn.primary {
  background: linear-gradient(180deg, #22c55e, #16a34a);
  color: #052e16;
  border: none;
  font-weight: 700;
}

.btn.primary:hover {
  filter: brightness(1.05);
}

.btn.ghost {
  background: rgba(255,255,255,.06);
  color: var(--text);
  border: 1px solid var(--line);
}

.hero{padding:56px 0 24px}
.heroGrid{
  display:grid; gap:18px;
  grid-template-columns: 1.2fr .8fr;
  align-items:stretch;
}
.card{
  background: rgba(255,255,255,.82);
  border:1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.heroCard{padding:26px}
.kicker{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;
  border:1px solid var(--line);
  background: rgba(247,247,248,.8);
  font-weight:700; color:rgba(15,23,42,.78);
  font-size:12px;
}
h1{margin:12px 0 10px;font-size:44px;line-height:1.05;letter-spacing:-.5px}
.lead{margin:0 0 18px;color:var(--muted);font-size:16px;line-height:1.65}
.ctaRow{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.heroSide{padding:18px}
.stat{
  padding:14px;border-radius:14px;border:1px solid var(--line);
  background: rgba(247,247,248,.8);
  margin-bottom:12px;
}
.stat b{display:block;font-size:13px;margin-bottom:6px}
.stat span{color:var(--muted);font-size:13px;line-height:1.45}
.section{padding:28px 0}
.h2{font-size:22px;margin:0 0 10px;letter-spacing:-.2px}
.grid3{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}
.tile {
  background: rgba(255,255,255,.06);
  border: 1px solid var(--line);
  color: var(--text);
}
.tile:hover {
  background: rgba(255,255,255,.1);
  transform: translateY(-2px);
}

.tile h3{margin:0 0 6px;font-size:14px}
.tile p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.split{
  display:grid;gap:12px;grid-template-columns: 1fr 1fr;
}
.panel{padding:18px;border-radius:18px;background:rgba(247,247,248,.85);border:1px solid var(--line)}
.panel h3{margin:0 0 6px;font-size:14px}
.panel p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.footer{
  border-top:1px solid var(--line);
  background: rgba(255,255,255,.72);
  margin-top:26px;
}
.footerGrid{display:grid;gap:12px;grid-template-columns:2fr 1fr 1fr;padding:18px 0}
.small{color:var(--muted);font-size:12px;line-height:1.6}
.badge{
  display:inline-flex;gap:8px;align-items:center;
  padding:8px 10px;border-radius:999px;
  border:1px solid var(--line); background:#fff;
  font-weight:700;font-size:12px;color:rgba(15,23,42,.78);
}
@media (max-width: 900px){
  h1{font-size:36px}
  .heroGrid{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .footerGrid{grid-template-columns:1fr}
  .menu{display:none}
}
/* Header */
.header{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 24px;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brandDot{width:10px;height:10px;border-radius:99px;background:rgba(14,165,233,.9)}
.brandText{font-weight:800;letter-spacing:.2px;color:var(--text)}
.headerCtas{display:flex;gap:10px;align-items:center}
@media (max-width: 860px){
  .menu{display:none}
  .header{gap:10px}
}

/* Sections */
.section{padding:26px 0}
.section h2{margin:0 0 14px}
.grid3{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}
.grid2{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.pad{padding:16px}
.tileTitle{font-weight:800}
.tileText{color:var(--muted);margin-top:6px;line-height:1.55}
@media (max-width: 860px){
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
}
/* ---- CLARITY OVERRIDES (temporary, safe) ---- */

/* Ensure all card-like blocks inherit readable text */
.card, .tile, .feature, .stat, .pill, .badge {
  color: var(--text) !important;
}

/* Fix the light-grey strips in the hero */
.hero .stat,
.hero .pill,
.hero .feature {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

/* Fix the right-side 3 stacked cards */
.heroAside .tile,
.heroAside .card,
.heroAside .stat {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

/* Muted text should still be readable */
p, .lead, .muted {
  color: rgba(255,255,255,.78) !important;
}
/* =========================
   HOTFIX: Buttons visibility
   ========================= */

/* Make sure buttons never look disabled */
.btn, button, a.btn {
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Primary button (Kontakta oss) */
.btn.primary, a.btn.primary {
  background: linear-gradient(180deg, rgba(34,197,94,.40), rgba(34,197,94,.18)) !important;
  border: 1px solid rgba(34,197,94,.55) !important;
  color: rgba(255,255,255,.95) !important;
  box-shadow: 0 10px 30px rgba(34,197,94,.15) !important;
}

/* Hover/focus */
.btn.primary:hover, a.btn.primary:hover {
  filter: brightness(1.08) !important;
}
.btn:focus-visible, button:focus-visible, a.btn:focus-visible {
  outline: 2px solid rgba(34,197,94,.55) !important;
  outline-offset: 3px !important;
}
/* =========================
   HOTFIX: Feature strips / “grey boxes”
   ========================= */

.hero .stat,
.hero .pill,
.hero .feature {
  background: rgba(255,255,255,.07) !important;   /* glass */
  border: 1px solid rgba(255,255,255,.14) !important;
  color: rgba(255,255,255,.90) !important;
}

/* any muted text inside must still be readable */
.hero .stat *, .hero .pill *, .hero .feature * {
  opacity: 1 !important;
  color: rgba(255,255,255,.80) !important;
}

/* icons in those strips */
.hero .stat svg, .hero .pill svg, .hero .feature svg {
  opacity: 1 !important;
}

/* Right-side hero notes (fix contrast + hierarchy) */
.sideNotes {
  display: grid;
  gap: 14px;
}

.sideNotes p {
  margin: 0;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.78);
  font-size: 14px;
  line-height: 1.5;
}

.sideNotes p strong {
  display: block;
  color: #ffffff;
  font-weight: 600;
  margin-bottom: 4px;
}
/* ================================
   Hero side tiles – FIX VISIBILITY
   ================================ */

.heroSide {
  display: grid;
  gap: 14px;
}

.tile {
  padding: 16px 18px;
  border-radius: 14px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}

.tileTitle {
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 6px;
  letter-spacing: 0.2px;
}

.tileText {
  color: rgba(255,255,255,0.78);
  font-size: 14px;
  line-height: 1.5;
}

