/* ============================================================
   ALTHEUS B.V.
   Licht thema; kleuren afgeleid van het beeldmerk:
   blauw + oranje op antraciet
   ============================================================ */

/* ---------- lokaal gehoste fonts (SIL Open Font License) ---------- */
@font-face{
  font-family:'Inter';
  font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/inter-v20-latin_latin-ext-regular.woff2') format('woff2');
}
@font-face{
  font-family:'Inter';
  font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/inter-v20-latin_latin-ext-500.woff2') format('woff2');
}
@font-face{
  font-family:'Space Grotesk';
  font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/space-grotesk-v22-latin_latin-ext-500.woff2') format('woff2');
}
@font-face{
  font-family:'Space Grotesk';
  font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/space-grotesk-v22-latin_latin-ext-600.woff2') format('woff2');
}
@font-face{
  font-family:'JetBrains Mono';
  font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/jetbrains-mono-v24-latin_latin-ext-regular.woff2') format('woff2');
}
@font-face{
  font-family:'JetBrains Mono';
  font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/jetbrains-mono-v24-latin_latin-ext-500.woff2') format('woff2');
}

:root{
  --bg:#FFFFFF;
  --field:#F4F7FA;        /* witte/lichte velden */
  --line:#E4EAF1;
  --ink:#10233F;          /* donker navy tekst */
  --muted:#5C6E85;
  --blue:#1A6FD4;         /* logo-blauw */
  --orange:#EE8A2E;       /* logo-oranje */
  --dark:#202020;         /* antraciet van de topbalk */
  --pad:clamp(24px, 7vw, 120px);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',system-ui,sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Space Grotesk','Inter',sans-serif;font-weight:500;line-height:1.1;}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--blue);}
a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px;}
::selection{background:var(--blue);color:#fff;}

.mono{font-family:'JetBrains Mono',monospace;}
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--blue);
}

/* ---------- donkere topbalk met logo ---------- */
.topbar{
  background:var(--dark);
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:14px var(--pad);
}

/* beeldmerk + woordmerk */
.brand{display:flex;align-items:center;gap:14px;}
.brand img{height:56px;width:56px;display:block;flex-shrink:0;}
.brand-text{display:flex;flex-direction:column;gap:5px;}
.brand-name{
  font-family:'Space Grotesk','Inter',sans-serif;font-weight:600;
  font-size:23px;line-height:1;letter-spacing:.055em;color:#fff;
}
.brand-name em{font-style:normal;color:var(--orange);}
.brand-tag{
  font-family:'JetBrains Mono',monospace;font-size:10.5px;
  letter-spacing:.24em;text-transform:uppercase;color:#8C97A5;line-height:1;
}
.brand:hover .brand-name{color:#fff;}
.brand:hover .brand-tag{color:#B9C2CC;}
.brand:focus-visible{outline:2px solid var(--blue);outline-offset:6px;border-radius:4px;}
.topnav{
  font-family:'JetBrains Mono',monospace;font-size:13px;
  color:#B9C2CC;
  display:flex;gap:clamp(16px,3vw,36px);flex-wrap:wrap;justify-content:flex-end;
}
.topnav a:hover{color:#fff;}

/* ---------- taal-toggle (EN/NL) ---------- */
.lang-toggle{
  font-family:'JetBrains Mono',monospace;font-size:13px;
  background:none;border:1px solid #3A3A3A;border-radius:4px;
  color:#B9C2CC;cursor:pointer;
  padding:4px 10px;display:inline-flex;align-items:center;gap:6px;
  transition:border-color .2s ease;
}
.lang-toggle:hover{border-color:#B9C2CC;}
.lang-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
.lang-toggle .lang-sep{color:#4A4A4A;}
.lang-toggle span.active{color:var(--orange);font-weight:500;}

/* ---------- meta-regel (contact / locatie) ---------- */
.meta{
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
  padding:40px var(--pad);
  border-bottom:1px solid var(--line);
}
.meta .label{
  font-family:'JetBrains Mono',monospace;font-size:12px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--muted);
  margin-bottom:6px;
}
.meta .value{font-size:16px;}
.meta .value a:hover{color:var(--blue);}

/* ---------- secties ---------- */
section{padding:clamp(64px,9vw,120px) var(--pad);}
section + section{border-top:1px solid var(--line);}

/* ---------- hero ---------- */
.hero h1{
  font-size:clamp(44px, 7vw, 104px);
  letter-spacing:-0.02em;
  max-width:1200px;
}
.hero h1 .dot{color:var(--orange);}

/* ---------- lichte velden ---------- */
.field{
  background:var(--field);
  border:1px solid var(--line);
  border-radius:6px;
  padding:clamp(32px,4vw,56px);
}
.field + .field{margin-top:24px;}
.field h2{font-size:clamp(26px,3vw,40px);margin-bottom:20px;}
.field p{font-size:clamp(16px,1.4vw,18px);color:var(--muted);max-width:840px;}
.field p + p{margin-top:16px;}

/* ---------- 3-koloms blokken binnen een veld ---------- */
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;}
.col{
  background:#fff;border:1px solid var(--line);border-radius:4px;
  padding:28px 26px;
}
.col .icon{
  font-family:'JetBrains Mono',monospace;font-size:12px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--muted);
}
.col h3{font-size:19px;margin:12px 0 8px;color:var(--ink);}
.col p{font-size:15px;color:var(--muted);}

/* ---------- slotstatement ---------- */
.closing h2{font-size:clamp(30px,4vw,56px);max-width:1000px;letter-spacing:-0.01em;}
.closing .links{
  margin-top:44px;
  font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--muted);
  display:flex;gap:12px;flex-wrap:wrap;align-items:center;
}
.closing .links a{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:2px;}
.closing .links a:hover{color:var(--blue);border-color:var(--blue);}
.closing .links .sep{color:var(--line);}

/* ---------- footer ---------- */
footer{
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:28px var(--pad) 44px;
  border-top:1px solid var(--line);
  font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--muted);
}
footer a:hover{color:var(--ink);}

/* ---------- scroll-reveal ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease, transform .7s ease;}
.reveal.visible{opacity:1;transform:none;}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .meta{grid-template-columns:1fr;gap:20px;padding-top:28px;padding-bottom:28px;}
  .cols{grid-template-columns:1fr;}
  .brand img{height:46px;width:46px;}
  .brand-name{font-size:19px;}
}

@media (max-width:560px){
  .brand-tag{display:none;}
  .topbar{gap:16px;}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
}
