/* Shared site styles. Page classes on <html> and <body> keep the original per-page cascade. */

@font-face {
  font-family: Roboto;
  font-style: normal;
  font-weight: 100 900;
  font-display: optional;
  src: url("assets/fonts/roboto-latin.woff2") format("woff2");
}

/* Arial is wider than Roboto, especially in bold, so an unadjusted fallback
   reflows headings while the webfont loads. These faces keep that layout still. */
@font-face {
  font-family: "Roboto Fallback";
  font-style: normal;
  font-weight: 100 500;
  src: local("Arial"), local("Liberation Sans"), local("Helvetica");
  size-adjust: 99.2%;
  ascent-override: 93.55%;
  descent-override: 24.6%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Roboto Fallback";
  font-style: normal;
  font-weight: 600 900;
  src: local("Arial Bold"), local("Liberation Sans Bold"), local("Helvetica Bold");
  size-adjust: 92.5%;
  ascent-override: 100.32%;
  descent-override: 26.38%;
  line-gap-override: 0%;
}

body {
  background: #fff;
  font-family: Roboto, "Roboto Fallback", Arial, Helvetica, sans-serif;
}
.eyebrow {
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.04em;
  margin:0;
  color:#666;
}
.eyebrow.crumbs {
  margin:0 0 12px;
}
.eyebrow.crumbs ol {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0;
  list-style:none;
  margin:0;
  padding:0;
  line-height:1.4;
}
.eyebrow.crumbs li {
  display:inline-flex;
  align-items:center;
}
.eyebrow.crumbs li + li::before {
  content:"›";
  margin:0 8px;
  color:#666;
}
.eyebrow.crumbs a {
  color:inherit;
  font-weight:400;
  text-decoration:none;
}
.eyebrow.crumbs a:hover {
  text-decoration:underline;
}
.eyebrow.crumbs [aria-current="page"] {
  color:inherit;
  font-weight:400;
}
.hero-split {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:start;
}
.hero-split > img {
  align-self:center;
}
.hero-split p {
  line-height: 1.65;
}

header.site-header {
  height:105px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
header.site-header .brand {
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  text-decoration:none;
}
header.site-header .brand img {
  display:block;
  width:240px;
  height:auto;
}
header.site-header .site-nav {
  display:flex;
  align-items:center;
  gap:26px;
  margin-left:auto;
  white-space:nowrap;
}
header.site-header .site-nav a, header.site-header .mobile-nav a, header.site-header .menu-toggle, header.site-header .lang-switch {
  color:#29292e;
  text-decoration:none;
  font:400 16px/1.4 Roboto,"Roboto Fallback",Arial,Helvetica,sans-serif;
}
header.site-header .site-nav a:hover, header.site-header .site-nav a[aria-current="page"], header.site-header .mobile-nav a:hover, header.site-header .mobile-nav a[aria-current="page"], header.site-header .lang-switch a:hover {
  color:#f500a8;
}
header.site-header .site-nav a[aria-current="page"], header.site-header .mobile-nav a[aria-current="page"] {
  font-weight:700;
}
header.site-header .site-nav a:focus-visible, header.site-header .mobile-nav a:focus-visible, header.site-header .menu-toggle:focus-visible, header.site-header .lang-switch a:focus-visible {
  outline:3px solid #6423a6;
  outline-offset:4px;
}
header.site-header .mobile-menu {
  display:none;
  position:relative;
  margin-left:auto;
}
header.site-header .menu-toggle {
  cursor:pointer;
  list-style:none;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border-radius:4px;
}
header.site-header .menu-toggle::-webkit-details-marker {
  display:none;
}
header.site-header .menu-toggle::marker {
  content:"";
}
header.site-header .visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}
header.site-header .hamburger,
header.site-header .hamburger::before,
header.site-header .hamburger::after {
  display:block;
  width:22px;
  height:2px;
  background:#29292e;
  border-radius:1px;
  transition:transform .2s ease, top .2s ease, background-color .2s ease;
}
header.site-header .hamburger {
  position:relative;
}
header.site-header .hamburger::before,
header.site-header .hamburger::after {
  content:"";
  position:absolute;
  left:0;
}
header.site-header .hamburger::before {
  top:-7px;
}
header.site-header .hamburger::after {
  top:7px;
}
header.site-header .menu-toggle:hover .hamburger,
header.site-header .menu-toggle:hover .hamburger::before,
header.site-header .menu-toggle:hover .hamburger::after {
  background:#f500a8;
}
header.site-header .mobile-menu[open] .hamburger {
  background:transparent;
}
header.site-header .mobile-menu[open] .menu-toggle:hover .hamburger {
  background:transparent;
}
header.site-header .mobile-menu[open] .hamburger::before {
  top:0;
  transform:rotate(45deg);
}
header.site-header .mobile-menu[open] .hamburger::after {
  top:0;
  transform:rotate(-45deg);
}
header.site-header .mobile-panel {
  position:absolute;
  z-index:20;
  right:0;
  top:100%;
  width:min(270px,80vw);
  background:#fff;
  box-shadow:0 8px 24px #0002;
  border-radius:7px;
  padding:12px;
}
header.site-header .mobile-nav a {
  display:block;
  padding:11px;
}
header.site-header .mobile-menu .lang-switch {
  margin-top:0;
  padding:12.4px 0 0 4px;
  border-top:1px solid #ececf0;
}
header.site-header .mobile-menu .lang-switch a {
  padding-block:0;
}
header.site-header .lang-switch {
  display:flex;
  gap:5px;
  align-items:center;
  white-space:nowrap;
}
header.site-header .lang-switch a {
  color:#29292e;
  padding:7px;
  text-decoration:none;
  border-radius:4px;
}
header.site-header .lang-switch a[aria-current="page"] {
  color:#f500a8;
  background:#fff0fa;
}
@media(max-width:1080px) {
  header.site-header .site-nav {
    gap:16px;
  }
  header.site-header .site-nav a {
    font-size:14px;
  }
  header.site-header .brand img {
    width:190px;
  }
}
@media(max-width:850px) {
  header.site-header .site-nav {
    display:none;
  }
  header.site-header .mobile-menu {
    display:block;
  }
  header.site-header > .lang-switch {
    display:none;
  }
}
@media(max-width:760px) {
  header.site-header {
    height:78px;
    gap:15px;
  }
}
.footer a {
  text-decoration:none;
}
.footer a:hover {
  text-decoration:underline;
}
.footer-bottom {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px 18px;
}
.footer-legal {
  display:flex;
  flex-wrap:wrap;
  gap:6px 18px;
}
.footer-legal a[aria-current="page"] {
  font-weight:700;
}

/* Home, contact and Social Farmer */
html.page-home {
  --pink:#f500a8;
  --ink:#29292e;
  --pale:#edf5ff;
  --line:#bbd6ff;
  --muted:#626675;
}
html.page-home * {
  box-sizing:border-box;
}
html.page-home {
  scroll-behavior:smooth;
}
body.page-home {
  margin:0;
  font:16px/1.65 Roboto,"Roboto Fallback",Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff;
}
html.page-home a {
  color:inherit;
}
html.page-home a:focus-visible {
  outline:3px solid #6423a6;
  outline-offset:4px;
}
html.page-home .wrap {
  width:min(1160px,calc(100% - 64px));
  margin:auto;
}
html.page-home .hero {
  background:var(--pale);
  position:relative;
  overflow:hidden;
}
html.page-home .hero .wrap {
  gap:42px;
  min-height:445px;
  padding-top:30px;
  padding-bottom:166px;
}
html.page-home .hero h1 {
  font-size:clamp(31px,3.6vw,51px);
  line-height:1.05;
  letter-spacing:-.035em;
  margin:0 0 25px;
  max-width:600px;
}
html.page-home .hero h1 span {
  font-weight:400;
}
html.page-home .hero p:not(.eyebrow) {
  max-width:510px;
  margin:0 0 26px;
}
html.page-home .hero-visual {
  display:block;
  width:100%;
  max-height:350px;
  object-fit:contain;
  mix-blend-mode:multiply;
}
html.page-home .wave {
  position:absolute;
  bottom:-1px;
  left:50%;
  width:3600px;
  height:150px;
  max-width:none;
  transform:translateX(-50%);
  display:block;
  pointer-events:none;
}
html.page-home .audiences {
  padding:55px 0 45px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
}
html.page-home .audience {
  padding:0 45px;
  container-type:inline-size;
}
html.page-home .audience:first-child {
  padding-left:0;
  border-right:2px solid var(--line);
}
html.page-home .audience:last-child {
  padding-right:0;
}
html.page-home .audience h2, html.page-home .about h2, html.page-home .initiatives h2 {
  font-size:clamp(24px,2.4vw,31px);
  line-height:1.25;
  margin:0 0 23px;
}
html.page-home .audience p {
  max-width:470px;
  margin:0 0 14px;
}
html.page-home .audience .button {
  margin:18px 0 26px;
}
html.page-home .logo-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(100px,170px));
  gap:18px 26px;
}
html.page-home .logo-tile {
  height:70px;
  background:#e8e8e8;
  display:grid;
  place-items:center;
  color:#9a9a9a;
  font-size:12px;
  letter-spacing:.12em;
}
html.page-home .about {
  background:var(--pale);
  padding:50px 0 55px;
}
html.page-home .about h2 {
  text-align:center;
  margin-bottom:32px;
}
html.page-home .about-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:45px;
  align-items:center;
}
html.page-home .about p {
  max-width:510px;
  margin:0 0 15px;
}
html.page-home .about .button {
  margin-top:14px;
}
html.page-home .about-visual {
  display:block;
  width:100%;
  max-height:285px;
  object-fit:contain;
  mix-blend-mode:multiply;
}
html.page-home .initiatives {
  padding:48px 0 83px;
}
html.page-home .initiatives h2 {
  margin-bottom:39px;
}
html.page-home .cards {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:65px;
}
html.page-home .card {
  padding:0 30px;
}
html.page-home .card h3 {
  font-size:23px;
  margin:0 0 18px;
}
html.page-home .card-art {
  height:205px;
  margin-bottom:26px;
  overflow:hidden;
  background:#e8e8e8;
  display:flex;
  align-items:center;
  justify-content:center;
}
html.page-home .card-art {
  color:#b3b3b3;
  font-size:12px;
  letter-spacing:.12em;
}
html.page-home .card p {
  margin:0 0 13px;
}
html.page-home .text-link {
  display:inline-block;
  font-weight:700;
  text-decoration:none;
  margin-top:12px;
}
html.page-home .text-link:hover {
  color:var(--pink);
}
html.page-home .footer {
  background:var(--pale);
  padding:80px 0 90px;
  min-height:420px;
}
html.page-home .footer-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:50px;
}
html.page-home .footer h2 {
  font-size:25px;
  margin:0 0 16px;
}
html.page-home .footer p {
  margin:0 0 10px;
}
html.page-home .footer a:hover {
  color:var(--pink);
}
html.page-home .footer-nav {
  display:flex;
  flex-direction:column;
}
html.page-home .footer-nav > a + a {
  margin-top:10px;
}
html.page-home .footer-bottom {
  border-top:1px solid #cbd8ea;
  margin-top:55px;
  padding-top:18px;
  font-size:13px;
  color:var(--muted);
}
@media(max-width:760px) {
  html.page-home .wrap {
    width:min(100% - 36px,600px);
  }
  html.page-home .hero .wrap {
    grid-template-columns:1fr;
    gap:4px;
    padding-top:44px;
    padding-bottom:155px;
  }
  html.page-home .hero-visual {
    max-height:280px;
  }
  html.page-home .audiences, html.page-home .about-grid, html.page-home .cards, html.page-home .footer-grid {
    grid-template-columns:1fr;
  }
  html.page-home .audiences {
    gap:42px;
  }
  html.page-home .audience, html.page-home .audience:first-child, html.page-home .audience:last-child {
    padding:0;
    border:0;
  }
  html.page-home .audience:first-child {
    border-bottom:2px solid var(--line);
    padding-bottom:45px;
  }
  html.page-home .about {
    padding:48px 0;
  }
  html.page-home .cards {
    gap:45px;
  }
  html.page-home .card {
    padding:0;
  }
  html.page-home .initiatives {
    padding-bottom:65px;
  }
  html.page-home .footer {
    padding:52px 0;
  }
  html.page-home .footer-grid {
    gap:25px;
  }
}
html.page-home .proof {
  padding:30px 0 34px;
  border-bottom:1px solid var(--line);
}
html.page-home .proof-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:0;
}
html.page-home .proof-item {
  padding:4px 25px;
  border-left:1px solid var(--line);
}
html.page-home .proof-item:first-child {
  border-left:0;
  padding-left:0;
}
html.page-home .proof-item:last-child {
  padding-right:0;
}
html.page-home .proof-link {
  display:block;
  color:inherit;
  text-decoration:none;
}
html.page-home .proof-link:hover .proof-result {
  text-decoration:underline;
}
html.page-home .proof-client {
  display:block;
  font-size:13px;
  font-weight:700;
  color:var(--muted);
  margin-bottom:0px;
}
html.page-home .proof-result {
  display:block;
  font-size:clamp(25px,2.7vw,35px);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.035em;
  color:var(--pink);
  margin-bottom:10px;
}
html.page-home .proof-result small {
  display:block;
  font-size:15px;
  letter-spacing:0;
  font-weight:400;
  color:var(--ink);
  margin-bottom:4px;
}
html.page-home .proof-description {
  display:block;
  font-size:15px;
  line-height:1.45;
}
html.page-home .logo-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px 36px;
  margin-top:4px;
}
@container (min-width:520px) {
  html.page-home .logo-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px 32px;
  }
}
html.page-home .logo-tile {
  height:108px;
  background:#fff;
  color:var(--muted);
  font-size:11px;
  letter-spacing:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
}
html.page-home .logo-tile img {
  display:block;
  width:100%;
  max-width:156px;
  height:84px;
  object-fit:contain;
}
html.page-home .logo-tile figcaption {
  line-height:1.2;
  text-align:center;
}
html.page-home .logo-tile {
  margin:0;
}
@media(max-width:900px) {
  html.page-home .proof-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 0;
  }
  html.page-home .proof-item:nth-child(3) {
    border-left:0;
    padding-left:0;
  }
  html.page-home .proof-result {
    font-size:32px;
  }
}
@media(max-width:480px) {
  html.page-home .proof {
    padding:22px 0 26px;
  }
  html.page-home .proof-item {
    padding:4px 15px;
  }
  html.page-home .proof-result {
    font-size:27px;
  }
  html.page-home .proof-description {
    font-size:14px;
  }
  html.page-home .proof-client {
    font-size:12px;
  }
  html.page-home .logo-grid {
    gap:20px 24px;
  }
  html.page-home .logo-tile img {
    max-width:132px;
    height:72px;
  }
  html.page-home .logo-tile {
    height:96px;
  }
}

/* Homepage logo links */
html.page-index .logo-grid a.logo-tile {
  text-decoration:none;
  border-radius:4px;
  transition:box-shadow .15s;
}
html.page-index .logo-grid a.logo-tile:hover {
  box-shadow:0 0 0 2px var(--pink);
}
html.page-index .logo-grid a.logo-tile:focus-visible {
  outline:3px solid var(--pink);
  outline-offset:4px;
}

/* Social Farmer */
html.page-social-farmer .social-hero .wrap {
  min-height:275px;
  padding-top:40px;
  padding-bottom:155px;
}
html.page-social-farmer .social-hero h1 {
  margin:0;
}
html.page-social-farmer .social-hero-logo {
  display:block;
  width:100%;
  max-width:350px;
  height:160px;
  object-fit:contain;
  margin:auto;
}
html.page-social-farmer .social-content {
  padding-top:48px;
  padding-bottom:65px;
}
html.page-social-farmer .social-copy {
  max-width:850px;
  margin:0 auto;
}
html.page-social-farmer .social-copy p {
  margin:0 0 24px;
}
html.page-social-farmer .social-copy a {
  color:var(--pink);
  text-underline-offset:3px;
}
html.page-social-farmer .support-logos {
  display:grid;
  grid-template-columns:200px 1fr 1fr;
  align-items:center;
  gap:40px;
  border-top:1px solid var(--line);
  margin-top:42px;
  padding-top:34px;
}
html.page-social-farmer .support-logos a {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:110px;
}
html.page-social-farmer .support-logos img {
  display:block;
  width:100%;
  height:auto;
  max-height:115px;
  object-fit:contain;
  transition:transform .3s ease, filter .3s ease;
}
html.page-social-farmer .support-logos a:hover img,
html.page-social-farmer .support-logos a:focus-visible img {
  transform:translateY(-8px) scale(1.06);
  filter:drop-shadow(0 12px 16px rgba(41, 41, 46, .22));
}
html.page-social-farmer .support-logos a:focus-visible {
  outline:3px solid #6423a6;
  outline-offset:4px;
  border-radius:4px;
}
@media(max-width:760px) {
  html.page-social-farmer .social-hero .wrap {
    min-height:0;
    gap:24px;
  }
  html.page-social-farmer .social-hero-logo {
    height:140px;
  }
  html.page-social-farmer .social-content {
    padding-top:35px;
    padding-bottom:45px;
  }
  html.page-social-farmer .support-logos {
    grid-template-columns:1fr;
    gap:18px;
  }
  html.page-social-farmer .support-logos a {
    min-height:70px;
  }
  html.page-social-farmer .support-logos img {
    max-width:300px;
  }
  html.page-social-farmer .support-logos a:first-child img {
    max-width:200px;
  }
}

/* Privacy and terms: title band, no illustration */
html.page-legal .legal-hero .wrap {
  display:block;
  min-height:0;
  padding-top:28px;
  padding-bottom:168px;
}
html.page-legal .legal-hero h1,
html.page-legal .legal-hero p:not(.eyebrow) {
  max-width:720px;
}
html.page-legal .legal-content {
  padding:8px 0 80px;
}
html.page-legal .legal-content h2 {
  font-size:clamp(22px,2.2vw,28px);
  line-height:1.25;
  margin:36px 0 12px;
  max-width:720px;
}
html.page-legal .legal-content h3 {
  font-size:18px;
  line-height:1.35;
  margin:24px 0 8px;
  max-width:720px;
}
html.page-legal .legal-content p,
html.page-legal .legal-content ul {
  max-width:720px;
}
html.page-legal .legal-content p {
  margin:0 0 16px;
}
html.page-legal .legal-content ul {
  margin:0 0 16px;
  padding-left:1.2em;
}
html.page-legal .legal-content li + li {
  margin-top:6px;
}
html.page-legal .legal-content a {
  color:var(--ink);
  text-underline-offset:3px;
}
html.page-legal .legal-content a:hover {
  color:var(--pink);
}
html.page-legal .legal-download a {
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:fit-content;
  text-decoration:none;
}
html.page-legal .legal-download a span {
  text-decoration:underline;
  text-underline-offset:3px;
}
html.page-legal .legal-download svg {
  width:32px;
  height:32px;
  flex-shrink:0;
}
html.page-legal .legal-version {
  color:var(--muted);
  font-size:14px;
}
@media(max-width:760px) {
  html.page-legal .legal-hero .wrap {
    padding-top:20px;
    padding-bottom:150px;
  }
  html.page-legal .legal-content {
    padding-bottom:56px;
  }
}

/* Contact */
html.page-contact .contact-hero .wrap {
  min-height:320px;
  padding-top:45px;
  padding-bottom:155px;
}
html.page-contact .contact-hero h1 {
  margin-bottom:24px;
}
html.page-contact .contact-person {
  display:flex;
  align-items:center;
  gap:22px;
}
html.page-contact .contact-portrait {
  width:96px;
  height:96px;
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
}
html.page-contact .contact-person img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 32%;
  transform:scale(1.32);
  transform-origin:center 32%;
}
html.page-contact .contact-person p {
  margin:0;
  max-width:430px;
}
html.page-contact .contact-banner {
  display:block;
  width:100%;
  height:220px;
  object-fit:contain;
}
html.page-contact .contact-body section {
  padding:48px 0;
}
html.page-contact .contact-body section:nth-child(even) {
  background:var(--pale);
}
html.page-contact .contact-body .container {
  width:min(1160px,calc(100% - 64px));
  margin:auto;
}
html.page-contact .contact-body h2 {
  font-size:clamp(24px,2.4vw,31px);
  line-height:1.25;
  margin:0 0 20px;
}
html.page-contact .contact-body .title-p {
  margin:0 0 30px;
}
html.page-contact .contact-body .text-center {
  text-align:center;
}
html.page-contact .contact-info-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:35px;
  margin-top:30px;
}
html.page-contact .contact-info-card {
  height:100%;
  padding:35px!important;
  background:var(--pale);
  border-radius:10px;
}
html.page-contact .contact-info-card p {
  margin:0 0 20px;
}
html.page-contact .contact-info-card .address {
  line-height:1.4;
}
html.page-contact .contact-details {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:24px 32px;
  align-items:start;
}
html.page-contact .contact-details p:last-child {
  margin-bottom:0;
}
html.page-contact .contact-links {
  display:flex;
  flex-direction:column;
  gap:14px;
}
html.page-contact .contact-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:fit-content;
  font-weight:400;
  text-decoration:none;
}
html.page-contact .contact-link-icon {
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  flex-shrink:0;
  color:var(--pink);
}
html.page-contact .contact-link-icon svg {
  width:22px;
  height:22px;
}
html.page-contact .contact-body a {
  color:var(--ink);
  text-underline-offset:3px;
}
html.page-contact .contact-body a:hover {
  color:var(--pink);
}
html.page-contact .contact-body .hidden {
  display:none;
}
html.page-contact .contact-body .social-links {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:28px 40px;
}
html.page-contact .contact-body .social {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  min-width:72px;
  font-weight:400;
  text-align:center;
  text-decoration:none;
}
html.page-contact .contact-body .social-icon {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
}
html.page-contact .contact-body .social-icon svg {
  display:block;
  width:32px;
  height:32px;
}
html.page-contact .membership-logo {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:65px;
  margin:35px 0 0;
  flex-wrap:wrap;
}
html.page-contact .membership-logo a {
  display:flex;
  align-items:center;
  justify-content:center;
}
html.page-contact .membership-logo img {
  display:block;
  max-width:220px;
  max-height:110px;
  object-fit:contain;
  transition:transform .3s ease, filter .3s ease;
}
html.page-contact .membership-logo a:hover img,
html.page-contact .membership-logo a:focus-visible img {
  transform:translateY(-8px) scale(1.06);
  filter:drop-shadow(0 12px 16px rgba(41, 41, 46, .22));
}
html.page-contact .membership-logo a:focus-visible {
  outline:3px solid #6423a6;
  outline-offset:4px;
  border-radius:4px;
}
html.page-contact .contact-office img {
  display:block;
  width:100%;
  max-width:850px;
  height:auto;
  border-radius:10px;
  margin:30px auto 0;
}
@media(max-width:760px) {
  html.page-contact .contact-body .container {
    width:min(100% - 36px,600px);
  }
  html.page-contact .contact-info-columns {
    grid-template-columns:1fr;
    gap:20px;
  }
  html.page-contact .contact-details {
    gap:20px;
  }
  html.page-contact .contact-person {
    gap:16px;
  }
  html.page-contact .contact-portrait {
    width:80px;
    height:80px;
  }
  html.page-contact .contact-banner {
    height:160px;
  }
  html.page-contact .contact-hero .wrap {
    gap:30px;
  }
  html.page-contact .membership-logo {
    gap:30px;
  }
  html.page-contact .contact-info-card {
    padding:25px!important;
  }
  html.page-contact .contact-body section {
    padding:38px 0;
  }
}
@media(max-width:480px) {
  html.page-contact .contact-details {
    grid-template-columns:1fr;
  }
}
html.page-contact .contact-info-card:has(.contact-person) {
  display:flex;
  flex-direction:column;
  justify-content:center;
}
html.page-contact .contact-info-card .contact-person {
  align-items:flex-start;
}
html.page-contact .contact-info-card .contact-person p {
  overflow-wrap:anywhere;
}
@media(max-width:400px) {
  html.page-contact .contact-info-card .contact-person {
    flex-direction:column;
  }
}

/* Government and SME pages */
html.page-overheid, html.page-mkb {
  --pink:#f500a8;
  --pale:#edf5ff;
  --ink:#28282d;
  --line:#bdd7ff;
}
html.page-overheid *, html.page-mkb * {
  box-sizing:border-box;
}
html.page-overheid, html.page-mkb {
  scroll-behavior:smooth;
}
body.page-overheid, body.page-mkb {
  margin:0;
  color:var(--ink);
  font:16px/1.65 Roboto,"Roboto Fallback",Arial,Helvetica,sans-serif;
}
html.page-overheid a, html.page-mkb a {
  color:inherit;
}
html.page-overheid a:focus-visible, html.page-mkb a:focus-visible {
  outline:3px solid #6423a6;
  outline-offset:4px;
}
html.page-overheid .wrap, html.page-mkb .wrap {
  width:min(1160px,calc(100% - 70px));
  margin-inline:auto;
}
html.page-overheid .hero, html.page-mkb .hero {
  position:relative;
  background:var(--pale);
  overflow:hidden;
}
html.page-overheid .hero-inner, html.page-mkb .hero-inner {
  min-height:445px;
  gap:45px;
  padding:35px 0 163px;
}
html.page-overheid .hero h1, html.page-mkb .hero h1 {
  font-size:clamp(32px,3.45vw,51px);
  line-height:1.05;
  letter-spacing:-.025em;
  max-width:530px;
  margin:0 0 23px;
}
html.page-overheid .hero p:not(.eyebrow), html.page-mkb .hero p:not(.eyebrow) {
  max-width:500px;
  margin:0 0 28px;
}
html.page-overheid .hero-placeholder, html.page-mkb .hero-placeholder {
  display:block;
  width:100%;
  max-height:350px;
  object-fit:contain;
}
html.page-overheid .wave, html.page-mkb .wave {
  position:absolute;
  bottom:-1px;
  left:50%;
  width:3600px;
  height:150px;
  max-width:none;
  transform:translateX(-50%);
  display:block;
  pointer-events:none;
}
html.page-overheid .comparison, html.page-mkb .comparison {
  display:grid;
  grid-template-columns:1fr 1fr;
  padding-top:55px;
  padding-bottom:57px;
}
html.page-overheid .comparison article, html.page-mkb .comparison article {
  padding:0 52px;
}
html.page-overheid .comparison article:first-child, html.page-mkb .comparison article:first-child {
  padding-left:0;
  border-right:2px solid var(--line);
}
html.page-overheid .comparison article:last-child, html.page-mkb .comparison article:last-child {
  padding-right:0;
}
html.page-overheid .comparison h2, html.page-mkb .comparison h2 {
  font-size:clamp(24px,2.2vw,31px);
  line-height:1.25;
  max-width:475px;
  margin:0 0 23px;
}
html.page-overheid .comparison p, html.page-mkb .comparison p {
  max-width:470px;
  margin:0 0 15px;
}
html.page-overheid .results, html.page-mkb .results, html.page-overheid .approach, html.page-mkb .approach, html.page-overheid .footer, html.page-mkb .footer {
  background:var(--pale);
}
html.page-overheid section h2, html.page-mkb section h2 {
  font-size:clamp(25px,2.4vw,33px);
  line-height:1.25;
}
html.page-overheid .results, html.page-mkb .results {
  padding:52px 0 48px;
}
html.page-overheid .section-title, html.page-mkb .section-title {
  text-align:center;
  margin:0 0 43px;
}
html.page-overheid .project-grid, html.page-mkb .project-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:42px;
}
html.page-overheid .project-card, html.page-mkb .project-card {
  background:#fff;
  padding:26px;
  min-height:318px;
  display:flex;
  flex-direction:column;
}
html.page-overheid .project-mark, html.page-mkb .project-mark {
  height:82px;
  width:100%;
  background:#e9e9e9;
  display:grid;
  place-items:center;
  color:#a7a7a7;
  font-size:12px;
  letter-spacing:.1em;
  margin-bottom:22px;
}
html.page-overheid .project-card h3, html.page-mkb .project-card h3 {
  font-size:19px;
  line-height:1.25;
  margin:0 0 3px;
}
html.page-overheid .project-card .project-name, html.page-mkb .project-card .project-name {
  font-size:13px;
  text-transform:uppercase;
  margin:0 0 15px;
}
html.page-overheid .project-card p:last-child, html.page-mkb .project-card p:last-child {
  margin:0;
}
html.page-overheid .more, html.page-mkb .more {
  text-align:center;
  margin-top:37px;
}
html.page-overheid .reasons, html.page-mkb .reasons {
  padding:52px 0 57px;
}
html.page-overheid .reasons-grid, html.page-mkb .reasons-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  column-gap:58px;
  row-gap:43px;
  max-width:1030px;
  margin:auto;
}
html.page-overheid .reason-icon, html.page-mkb .reason-icon {
  width:80px;
  height:80px;
  background:#e9e9e9;
  color:var(--pink);
  font-size:39px;
  display:grid;
  place-items:center;
  margin:0 auto 17px;
}
html.page-overheid .reason h3, html.page-mkb .reason h3 {
  font-size:18px;
  line-height:1.3;
  margin:0 0 7px;
}
html.page-overheid .reason p, html.page-mkb .reason p {
  margin:0;
}
html.page-overheid .approach, html.page-mkb .approach {
  padding:50px 0 57px;
}
html.page-overheid .steps, html.page-mkb .steps {
  max-width:980px;
  margin:auto;
}
html.page-overheid .step, html.page-mkb .step {
  display:grid;
  grid-template-columns:72px 1fr;
  gap:28px;
  align-items:start;
  margin:0 0 23px;
}
html.page-overheid .step-icon, html.page-mkb .step-icon {
  width:72px;
  height:72px;
  background:#e3e8ed;
  color:var(--pink);
  display:grid;
  place-items:center;
  font-size:29px;
  font-weight:700;
}
html.page-overheid .step h3, html.page-mkb .step h3 {
  font-size:18px;
  margin:0 0 4px;
}
html.page-overheid .step p, html.page-mkb .step p {
  margin:0;
}
html.page-overheid .contact, html.page-mkb .contact {
  padding:54px 0 69px;
}
html.page-overheid .contact-grid, html.page-mkb .contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}
html.page-overheid .contact h2, html.page-mkb .contact h2 {
  margin:0 0 20px;
}
html.page-overheid .contact p, html.page-mkb .contact p {
  max-width:440px;
  margin:0 0 17px;
}
html.page-overheid .contact-card, html.page-mkb .contact-card {
  background:#f6f9ff;
  border:1px solid #d6e6fa;
  padding:35px;
}
html.page-overheid .contact-card h3, html.page-mkb .contact-card h3 {
  font-size:23px;
  margin:0 0 13px;
}
html.page-overheid .contact-card p, html.page-mkb .contact-card p {
  margin-bottom:23px;
}
html.page-overheid .contact-option, html.page-mkb .contact-option {
  display:flex;
  align-items:center;
  gap:16px;
  margin:17px 0;
  font-weight:700;
  text-decoration:none;
}
html.page-overheid .contact-option span, html.page-mkb .contact-option span {
  width:48px;
  height:48px;
  background:#e2eaf6;
  display:grid;
  place-items:center;
  font-size:24px;
  color:var(--pink);
}
html.page-overheid .contact-option:hover, html.page-mkb .contact-option:hover {
  color:var(--pink);
}
html.page-overheid .footer, html.page-mkb .footer {
  padding:72px 0 80px;
  min-height:370px;
}
html.page-overheid .footer-grid, html.page-mkb .footer-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:50px;
}
html.page-overheid .footer h2, html.page-mkb .footer h2 {
  font-size:25px;
  margin:0 0 15px;
}
html.page-overheid .footer p, html.page-mkb .footer p {
  margin:0 0 10px;
}
html.page-overheid .footer-nav, html.page-mkb .footer-nav {
  display:flex;
  flex-direction:column;
}
html.page-overheid .footer-nav > a + a, html.page-mkb .footer-nav > a + a {
  margin-top:10px;
}
html.page-overheid .footer a:hover, html.page-mkb .footer a:hover {
  color:var(--pink);
}
html.page-overheid .footer-bottom, html.page-mkb .footer-bottom {
  border-top:1px solid #cbd8ea;
  margin-top:54px;
  padding-top:18px;
  color:#606673;
  font-size:13px;
}
@media(max-width:760px) {
  html.page-overheid .wrap, html.page-mkb .wrap {
    width:min(100% - 36px,600px);
  }
  html.page-overheid .hero-inner, html.page-mkb .hero-inner {
    grid-template-columns:1fr;
    gap:5px;
    padding:43px 0 155px;
  }
  html.page-overheid .hero-placeholder, html.page-mkb .hero-placeholder {
    max-height:270px;
  }
  html.page-overheid .comparison, html.page-mkb .comparison, html.page-overheid .contact-grid, html.page-mkb .contact-grid, html.page-overheid .footer-grid, html.page-mkb .footer-grid {
    grid-template-columns:1fr;
  }
  html.page-overheid .comparison, html.page-mkb .comparison {
    gap:34px;
    padding:43px 0;
  }
  html.page-overheid .comparison article, html.page-mkb .comparison article, html.page-overheid .comparison article:first-child, html.page-mkb .comparison article:first-child, html.page-overheid .comparison article:last-child, html.page-mkb .comparison article:last-child {
    padding:0;
    border:0;
  }
  html.page-overheid .comparison article:first-child, html.page-mkb .comparison article:first-child {
    padding-bottom:30px;
    border-bottom:2px solid var(--line);
  }
  html.page-overheid .project-grid, html.page-mkb .project-grid {
    grid-template-columns:1fr;
    gap:18px;
  }
  html.page-overheid .project-card, html.page-mkb .project-card {
    min-height:0;
  }
  html.page-overheid .reasons-grid, html.page-mkb .reasons-grid {
    grid-template-columns:repeat(2,1fr);
    gap:30px;
  }
  html.page-overheid .contact-grid, html.page-mkb .contact-grid {
    gap:20px;
  }
  html.page-overheid .footer-grid, html.page-mkb .footer-grid {
    gap:25px;
  }
}
@media(max-width:500px) {
  html.page-overheid .reasons-grid, html.page-mkb .reasons-grid {
    grid-template-columns:1fr;
  }
  html.page-overheid .reason-icon, html.page-mkb .reason-icon {
    margin-left:0;
  }
  html.page-overheid .step, html.page-mkb .step {
    grid-template-columns:52px 1fr;
    gap:16px;
  }
  html.page-overheid .step-icon, html.page-mkb .step-icon {
    width:52px;
    height:52px;
  }
  html.page-overheid .section-title, html.page-mkb .section-title {
    text-align:left;
  }
}

/* Initiatives */
html.page-initiatieven {
  --pink:#f500a8;
  --pale:#edf5ff;
  --ink:#29292e;
  --line:#bdd7ff;
}
html.page-initiatieven * {
  box-sizing:border-box;
}
html.page-initiatieven {
  scroll-behavior:smooth;
}
body.page-initiatieven {
  margin:0;
  color:var(--ink);
  font:16px/1.65 Roboto,"Roboto Fallback",Arial,Helvetica,sans-serif;
}
html.page-initiatieven a {
  color:inherit;
}
html.page-initiatieven a:focus-visible {
  outline:3px solid #6423a6;
  outline-offset:4px;
}
html.page-initiatieven .wrap {
  width:min(1160px,calc(100% - 70px));
  margin:auto;
}
html.page-initiatieven .hero {
  position:relative;
  background:var(--pale);
  overflow:hidden;
}
html.page-initiatieven .hero-inner {
  min-height:445px;
  gap:45px;
  padding:35px 0 163px;
}
html.page-initiatieven .hero h1 {
  font-size:clamp(32px,3.45vw,51px);
  line-height:1.05;
  letter-spacing:-.025em;
  max-width:590px;
  margin:0 0 23px;
}
html.page-initiatieven .hero p:not(.eyebrow) {
  max-width:510px;
  margin:0 0 28px;
}
html.page-initiatieven .hero-placeholder {
  display:block;
  width:100%;
  max-height:350px;
  object-fit:contain;
}
html.page-initiatieven .wave {
  position:absolute;
  bottom:-1px;
  left:50%;
  width:3600px;
  height:150px;
  max-width:none;
  transform:translateX(-50%);
  display:block;
  pointer-events:none;
}
html.page-initiatieven .initiative {
  padding:69px 0;
}
html.page-initiatieven .initiative:nth-of-type(even) {
  background:var(--pale);
}
html.page-initiatieven .initiative-grid {
  display:grid;
  grid-template-columns:1.17fr .83fr;
  align-items:center;
  gap:88px;
}
html.page-initiatieven .initiative h2 {
  font-size:clamp(27px,2.75vw,36px);
  line-height:1.2;
  letter-spacing:-.018em;
  margin:0 0 22px;
}
html.page-initiatieven .initiative p {
  max-width:610px;
  margin:0 0 15px;
}
html.page-initiatieven .initiative .button {
  margin-top:13px;
}
html.page-initiatieven .photo {
  width:100%;
  height:300px;
  object-fit:cover;
  display:block;
}
html.page-initiatieven .photo.social {
  object-position:center;
}
html.page-initiatieven .photo.meetup {
  object-position:center 45%;
}
html.page-initiatieven .visual {
  min-height:300px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:30px;
  border:1px solid #d5e4fa;
  background:#fff;
  color:var(--pink);
  font-size:clamp(27px,3vw,42px);
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.03em;
}
html.page-initiatieven .initiative:nth-of-type(odd) .visual {
  background:var(--pale);
}
html.page-initiatieven .footer {
  background:var(--pale);
  padding:72px 0 80px;
  min-height:370px;
}
html.page-initiatieven .footer-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:50px;
}
html.page-initiatieven .footer h2 {
  font-size:25px;
  margin:0 0 15px;
}
html.page-initiatieven .footer p {
  margin:0 0 17px;
}
html.page-initiatieven .footer a {
  color:var(--pink);
}
html.page-initiatieven .footer-nav {
  display:flex;
  flex-direction:column;
  align-items:start;
}
html.page-initiatieven .footer-nav > a + a {
  margin-top:7px;
}
html.page-initiatieven .footer-bottom {
  border-top:1px solid var(--line);
  margin-top:48px;
  padding-top:20px;
  font-size:13px;
}
@media(max-width:760px) {
  html.page-initiatieven .wrap {
    width:min(100% - 40px,570px);
  }
  html.page-initiatieven .hero-inner {
    grid-template-columns:1fr;
    padding:45px 0 160px;
    gap:14px;
  }
  html.page-initiatieven .hero h1 {
    font-size:38px;
  }
  html.page-initiatieven .hero-placeholder {
    max-height:240px;
  }
  html.page-initiatieven .initiative {
    padding:52px 0;
  }
  html.page-initiatieven .initiative-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  html.page-initiatieven .photo, html.page-initiatieven .visual {
    height:260px;
    min-height:260px;
  }
  html.page-initiatieven .footer-grid {
    grid-template-columns:1fr;
    gap:25px;
  }
  html.page-initiatieven .footer {
    padding:55px 0;
  }
}

/* About */
html.page-over-ons {
  --pink:#f500a8;
  --pale:#edf5ff;
  --ink:#29292e;
  --line:#bdd7ff;
}
html.page-over-ons * {
  box-sizing:border-box;
}
html.page-over-ons {
  scroll-behavior:smooth;
}
body.page-over-ons {
  margin:0;
  color:var(--ink);
  font:16px/1.65 Roboto,"Roboto Fallback",Arial,Helvetica,sans-serif;
}
html.page-over-ons a {
  color:inherit;
}
html.page-over-ons a:focus-visible {
  outline:3px solid #6423a6;
  outline-offset:4px;
}
html.page-over-ons .wrap {
  width:min(1160px,calc(100% - 70px));
  margin-inline:auto;
}
html.page-over-ons .hero {
  position:relative;
  background:var(--pale);
  overflow:hidden;
}
html.page-over-ons .hero-inner {
  min-height:445px;
  gap:45px;
  padding:35px 0 163px;
}
html.page-over-ons .hero h1 {
  font-size:clamp(32px,3.45vw,51px);
  line-height:1.05;
  letter-spacing:-.025em;
  max-width:560px;
  margin:0 0 23px;
}
html.page-over-ons .hero p:not(.eyebrow) {
  max-width:500px;
  margin:0 0 28px;
}
html.page-over-ons .hero-placeholder {
  display:block;
  width:100%;
  max-height:350px;
  object-fit:contain;
}
html.page-over-ons .wave {
  position:absolute;
  bottom:-1px;
  left:50%;
  width:3600px;
  height:150px;
  max-width:none;
  transform:translateX(-50%);
  display:block;
  pointer-events:none;
}
html.page-over-ons section h2 {
  font-size:clamp(25px,2.4vw,33px);
  line-height:1.25;
}
html.page-over-ons .intro {
  padding:55px 0 57px;
  display:grid;
  grid-template-columns:1fr 1fr;
}
html.page-over-ons .intro article {
  padding:0 52px;
}
html.page-over-ons .intro article:first-child {
  padding-left:0;
  border-right:2px solid var(--line);
}
html.page-over-ons .intro article:last-child {
  padding-right:0;
}
html.page-over-ons .intro h2 {
  margin:0 0 23px;
}
html.page-over-ons .intro p {
  max-width:470px;
  margin:0 0 15px;
}
html.page-over-ons .value-list {
  list-style:none;
  margin:0;
  padding:0;
}
html.page-over-ons .value-list li {
  margin:0 0 11px;
  padding-left:19px;
  position:relative;
}
html.page-over-ons .value-list li:before {
  content:'•';
  position:absolute;
  left:0;
  color:var(--pink);
  font-weight:700;
}
html.page-over-ons .people, html.page-over-ons .lab, html.page-over-ons .footer {
  background:var(--pale);
}
html.page-over-ons .people {
  padding:52px 0 48px;
}
html.page-over-ons .center {
  text-align:center;
  margin:0 0 42px;
}
html.page-over-ons .people-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:42px;
}
html.page-over-ons .person {
  background:#fff;
  padding:24px;
  min-height:320px;
}
html.page-over-ons .portrait {
  width:100px;
  height:100px;
  background:#e8e8e8;
  color:#aaa;
  display:grid;
  place-items:center;
  font-size:27px;
  font-weight:700;
  margin:0 auto 23px;
}
html.page-over-ons .person h3 {
  font-size:19px;
  margin:0 0 2px;
}
html.page-over-ons .person .role {
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.02em;
  margin:0 0 14px;
}
html.page-over-ons .person p:last-child {
  margin:0;
}
html.page-over-ons .more {
  text-align:center;
  margin-top:34px;
}
html.page-over-ons .principles {
  padding:54px 0 59px;
}
html.page-over-ons .principle-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:43px 58px;
  max-width:1030px;
  margin:auto;
}
html.page-over-ons .icon {
  width:56px;
  height:56px;
  margin:0 auto 16px;
  color:var(--pink);
  display:grid;
  place-items:center;
}
html.page-over-ons .icon svg {
  display:block;
  width:56px;
  height:56px;
}
html.page-over-ons .principle h3 {
  font-size:18px;
  line-height:1.28;
  margin:0 0 8px;
}
html.page-over-ons .principle p {
  margin:0;
}
html.page-over-ons .lab {
  padding:53px 0 57px;
}
html.page-over-ons .lab h2 {
  text-align:center;
  margin:0 0 39px;
}
html.page-over-ons .lab-grid {
  display:grid;
  grid-template-columns:1.45fr .8fr;
  gap:60px;
}
html.page-over-ons .lab h3 {
  font-size:19px;
  margin:0 0 10px;
}
html.page-over-ons .lab p {
  margin:0 0 23px;
}
html.page-over-ons .lab-visual img {
  display:block;
  width:100%;
  aspect-ratio:1.59;
  object-fit:cover;
}
html.page-over-ons .lab-visual h3 {
  margin-top:22px;
}
html.page-over-ons .lab-list {
  margin:0 0 27px;
  padding-left:20px;
}
html.page-over-ons .lab-list li {
  margin-bottom:7px;
}
html.page-over-ons .lab-cta {
  background:#fff;
  padding:48px 0 52px;
}
html.page-over-ons .lab-cta .more {
  margin-top:0;
}
html.page-over-ons .careers {
  padding:57px 0 68px;
}
html.page-over-ons .careers-grid {
  display:grid;
  grid-template-columns:1.35fr .6fr;
  gap:80px;
  align-items:center;
}
html.page-over-ons .careers h2 {
  margin:0 0 22px;
}
html.page-over-ons .careers p {
  max-width:600px;
  margin:0 0 17px;
}
html.page-over-ons .careers-photo {
  width:100%;
  max-width:280px;
  aspect-ratio:2/3;
  object-fit:cover;
  justify-self:center;
}
html.page-over-ons .footer {
  padding:72px 0 80px;
  min-height:370px;
}
html.page-over-ons .footer-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:50px;
}
html.page-over-ons .footer h2 {
  font-size:25px;
  margin:0 0 15px;
}
html.page-over-ons .footer p {
  margin:0 0 10px;
}
html.page-over-ons .footer-nav {
  display:flex;
  flex-direction:column;
}
html.page-over-ons .footer-nav > a + a {
  margin-top:10px;
}
html.page-over-ons .footer a:hover {
  color:var(--pink);
}
html.page-over-ons .footer-bottom {
  border-top:1px solid #cbd8ea;
  margin-top:54px;
  padding-top:18px;
  color:#606673;
  font-size:13px;
}
@media(max-width:760px) {
  html.page-over-ons .wrap {
    width:min(100% - 36px,600px);
  }
  html.page-over-ons .hero-inner {
    grid-template-columns:1fr;
    gap:5px;
    padding:43px 0 155px;
  }
  html.page-over-ons .hero-placeholder {
    max-height:270px;
  }
  html.page-over-ons .intro, html.page-over-ons .lab-grid, html.page-over-ons .careers-grid, html.page-over-ons .footer-grid {
    grid-template-columns:1fr;
  }
  html.page-over-ons .intro {
    gap:32px;
    padding:43px 0;
  }
  html.page-over-ons .intro article, html.page-over-ons .intro article:first-child, html.page-over-ons .intro article:last-child {
    padding:0;
    border:0;
  }
  html.page-over-ons .intro article:first-child {
    border-bottom:2px solid var(--line);
    padding-bottom:28px;
  }
  html.page-over-ons .people-grid {
    grid-template-columns:repeat(2,1fr);
    gap:18px;
  }
  html.page-over-ons .person {
    min-height:0;
    padding:16px;
  }
  html.page-over-ons .principle-grid {
    grid-template-columns:repeat(2,1fr);
    gap:30px;
  }
  html.page-over-ons .lab-grid, html.page-over-ons .careers-grid {
    gap:26px;
  }
  html.page-over-ons .lab-visual {
    max-width:420px;
  }
  html.page-over-ons .careers-photo {
    justify-self:start;
  }
  html.page-over-ons .footer-grid {
    gap:25px;
  }
}
@media(max-width:500px) {
  html.page-over-ons .people-grid {
    grid-template-columns:1fr;
  }
  html.page-over-ons .principle-grid {
    grid-template-columns:1fr;
  }
  html.page-over-ons .icon {
    margin-left:0;
  }
  html.page-over-ons .center {
    text-align:left;
  }
}
html.page-over-ons .person .portrait {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:7px;
  margin:0 0 23px;
}
@media(max-width:500px) {
  html.page-over-ons .person .portrait {
    width:min(100%,180px);
    margin-inline:auto;
  }
}
html.page-over-ons .lab-visual img {
  aspect-ratio:auto;
  object-fit:contain;
  height:auto;
}

/* Project pages */
html.page-projecten-overheid, html.page-projecten-mkb {
  --pink:#f500a8;
  --pale:#edf5ff;
  --ink:#28282d;
}
html.page-projecten-overheid *, html.page-projecten-mkb * {
  box-sizing:border-box;
}
html.page-projecten-overheid, html.page-projecten-mkb {
  scroll-behavior:smooth;
}
body.page-projecten-overheid, body.page-projecten-mkb {
  margin:0;
  color:var(--ink);
  font:16px/1.65 Roboto,"Roboto Fallback",Arial,Helvetica,sans-serif;
}
html.page-projecten-overheid a, html.page-projecten-mkb a {
  color:inherit;
}
html.page-projecten-overheid a:focus-visible, html.page-projecten-mkb a:focus-visible {
  outline:3px solid #6423a6;
  outline-offset:4px;
}
html.page-projecten-overheid .wrap, html.page-projecten-mkb .wrap {
  width:min(1160px,calc(100% - 70px));
  margin-inline:auto;
}
html.page-projecten-overheid .hero, html.page-projecten-mkb .hero {
  position:relative;
  background:var(--pale);
  overflow:hidden;
  padding:43px 0 166px;
}
html.page-projecten-overheid .project-hero h1, html.page-projecten-mkb .project-hero h1 {
  max-width:920px;
}
html.page-projecten-overheid .project-hero h1:has(+ .project-subtitle), html.page-projecten-mkb .project-hero h1:has(+ .project-subtitle) {
  margin-bottom:8px;
}
html.page-projecten-overheid .project-subtitle, html.page-projecten-mkb .project-subtitle {
  margin:0;
  max-width:920px;
  font-size:clamp(18px,2vw,26px);
  font-weight:400;
  line-height:1.3;
}
html.page-projecten-overheid .hero h1, html.page-projecten-mkb .hero h1 {
  font-size:clamp(32px,3.3vw,49px);
  line-height:1.05;
  margin:0 0 22px;
  max-width:610px;
}
html.page-projecten-overheid .hero h1 span, html.page-projecten-mkb .hero h1 span {
  display:block;
  font-weight:400;
}
html.page-projecten-overheid .wave, html.page-projecten-mkb .wave {
  position:absolute;
  bottom:-1px;
  left:50%;
  width:3600px;
  height:150px;
  max-width:none;
  transform:translateX(-50%);
  display:block;
  pointer-events:none;
}
html.page-projecten-overheid .case:nth-of-type(even), html.page-projecten-mkb .case:nth-of-type(even) {
  background:var(--pale);
}
html.page-projecten-overheid .case, html.page-projecten-mkb .case {
  padding:52px 0 48px;
}
html.page-projecten-overheid .case-top, html.page-projecten-mkb .case-top {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(250px,.8fr);
  gap:55px;
  align-items:start;
}
html.page-projecten-overheid .case-overview, html.page-projecten-mkb .case-overview {
  grid-template-columns:minmax(0,1.55fr) minmax(250px,.8fr);
  grid-template-areas:
    "title logo"
    "meta logo"
    "summary logo"
    "more logo";
  column-gap:55px;
  row-gap:0;
  align-items:start;
}
html.page-projecten-overheid .case-overview>.case-heading, html.page-projecten-mkb .case-overview>.case-heading {
  grid-area:title;
}
html.page-projecten-overheid .case-heading h2, html.page-projecten-mkb .case-heading h2 {
  margin-bottom:0;
}
html.page-projecten-overheid .case-heading, html.page-projecten-mkb .case-heading {
  margin:0 0 27px;
}
html.page-projecten-overheid .case-subtitle, html.page-projecten-mkb .case-subtitle {
  margin:8px 0 0;
  font-size:clamp(16px,1.5vw,20px);
  font-weight:400;
  line-height:1.35;
}
html.page-projecten-overheid .case-overview>.case-meta, html.page-projecten-mkb .case-overview>.case-meta {
  grid-area:meta;
}
html.page-projecten-overheid .case-overview>.case-summary, html.page-projecten-mkb .case-overview>.case-summary {
  grid-area:summary;
}
html.page-projecten-overheid .case-overview>.case-more, html.page-projecten-mkb .case-overview>.case-more {
  grid-area:more;
}
html.page-projecten-overheid .case-overview>.case-logo, html.page-projecten-mkb .case-overview>.case-logo {
  grid-area:logo;
  align-self:center;
}
html.page-projecten-overheid .case-top h2 a, html.page-projecten-mkb .case-top h2 a {
  text-decoration:none;
}
html.page-projecten-overheid .case-top h2 a:hover, html.page-projecten-mkb .case-top h2 a:hover {
  color:var(--pink);
}
html.page-projecten-overheid .case-top h2, html.page-projecten-mkb .case-top h2 {
  font-size:clamp(26px,2.5vw,36px);
  line-height:1.18;
  max-width:690px;
  margin:0 0 27px;
}
html.page-projecten-overheid .case-meta, html.page-projecten-mkb .case-meta {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  max-width:550px;
}
html.page-projecten-overheid .client, html.page-projecten-mkb .client {
  display:flex;
  flex-direction:column;
  gap:4px;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.02em;
}
html.page-projecten-overheid .client span, html.page-projecten-mkb .client span {
  font-weight:700;
}
html.page-projecten-overheid .client strong, html.page-projecten-mkb .client strong {
  font-weight:400;
}
html.page-projecten-overheid .case-href, html.page-projecten-mkb .case-href {
  grid-column:1 / -1;
}
html.page-projecten-overheid .case-href a, html.page-projecten-mkb .case-href a {
  text-transform:none;
  font-weight:400;
  color:inherit;
}
html.page-projecten-overheid .case-href a:hover, html.page-projecten-mkb .case-href a:hover {
  color:var(--pink);
}
html.page-projecten-overheid .case-image, html.page-projecten-mkb .case-image {
  width:100%;
  aspect-ratio:1.59;
  object-fit:cover;
  display:block;
}
html.page-projecten-overheid .case-summary, html.page-projecten-mkb .case-summary {
  margin:22px 0 0;
  max-width:640px;
}
html.page-projecten-overheid .case-columns, html.page-projecten-mkb .case-columns {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:47px;
  margin-top:35px;
  min-height:128px;
}
html.page-projecten-overheid .case-columns h2, html.page-projecten-mkb .case-columns h2, html.page-projecten-overheid .case-columns h3, html.page-projecten-mkb .case-columns h3 {
  font-size:16px;
  margin:0 0 12px;
}
html.page-projecten-overheid .case-columns p, html.page-projecten-mkb .case-columns p {
  margin:0;
}
html.page-projecten-overheid .case-more, html.page-projecten-mkb .case-more {
  margin:22px 0 0;
}
html.page-projecten-overheid .footer, html.page-projecten-mkb .footer {
  background:var(--pale);
  padding:72px 0 80px;
  min-height:370px;
}
html.page-projecten-overheid .footer-grid, html.page-projecten-mkb .footer-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:50px;
}
html.page-projecten-overheid .footer h2, html.page-projecten-mkb .footer h2 {
  font-size:25px;
  margin:0 0 15px;
}
html.page-projecten-overheid .footer p, html.page-projecten-mkb .footer p {
  margin:0 0 10px;
}
html.page-projecten-overheid .footer-nav, html.page-projecten-mkb .footer-nav {
  display:flex;
  flex-direction:column;
}
html.page-projecten-overheid .footer-nav > a + a, html.page-projecten-mkb .footer-nav > a + a {
  margin-top:10px;
}
html.page-projecten-overheid .footer a:hover, html.page-projecten-mkb .footer a:hover {
  color:var(--pink);
}
html.page-projecten-overheid .footer-bottom, html.page-projecten-mkb .footer-bottom {
  border-top:1px solid #cbd8ea;
  margin-top:54px;
  padding-top:18px;
  color:#606673;
  font-size:13px;
}
@media(max-width:760px) {
  html.page-projecten-overheid .wrap, html.page-projecten-mkb .wrap {
    width:min(100% - 36px,600px);
  }
  html.page-projecten-overheid .hero, html.page-projecten-mkb .hero {
    padding:40px 0 155px;
  }
  html.page-projecten-overheid .case, html.page-projecten-mkb .case {
    padding:43px 0;
  }
  html.page-projecten-overheid .case-top, html.page-projecten-mkb .case-top {
    grid-template-columns:1fr;
    gap:23px;
  }
  html.page-projecten-overheid .case-overview, html.page-projecten-mkb .case-overview {
    grid-template-columns:1fr;
    grid-template-areas:
      "title"
      "meta"
      "logo"
      "summary"
      "more";
    row-gap:0;
  }
  html.page-projecten-overheid .case-overview>.case-logo, html.page-projecten-mkb .case-overview>.case-logo {
    aspect-ratio:auto;
    width:auto;
    max-width:280px;
    padding:4px 0 8px;
  }
  html.page-projecten-overheid .case-image, html.page-projecten-mkb .case-image {
    max-width:420px;
  }
  html.page-projecten-overheid .case-columns, html.page-projecten-mkb .case-columns {
    grid-template-columns:1fr;
    gap:20px;
  }
  html.page-projecten-overheid .case-columns, html.page-projecten-mkb .case-columns {
    margin-top:27px;
    min-height:0;
  }
  html.page-projecten-overheid .case-summary, html.page-projecten-mkb .case-summary {
    max-width:none;
  }
  html.page-projecten-overheid .footer-grid, html.page-projecten-mkb .footer-grid {
    grid-template-columns:1fr;
    gap:25px;
  }
}

/* Government and SME project cards */
html.page-overheid .project-mark, html.page-mkb .project-mark {
  background:#fff;
  letter-spacing:0;
}
html.page-overheid .project-mark img, html.page-mkb .project-mark img {
  display:block;
  max-width:180px;
  width:100%;
  height:82px;
  object-fit:contain;
}
html.page-overheid .contact-card>img, html.page-mkb .contact-card>img {
  width:112px;
  height:112px;
  object-fit:cover;
  border-radius:50%;
  display:block;
  margin:20px 0 14px;
}
html.page-overheid .contact-card h4, html.page-mkb .contact-card h4 {
  font-size:20px;
  margin:0 0 12px;
}
html.page-overheid .contact-option, html.page-mkb .contact-option {
  overflow-wrap:anywhere;
}

/* Project logos */
html.page-projecten-mkb .case-logo,
html.page-projecten-overheid .case-logo {
  width:100%;
  aspect-ratio:1.59;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  padding:24px;
  background:#fff;
  flex-wrap:wrap;
}
html.page-projecten-mkb .case-logo img,
html.page-projecten-overheid .case-logo img {
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:145px;
  object-fit:contain;
}
html.page-projecten-mkb .case-logo:has(>img:nth-child(2)) img,
html.page-projecten-overheid .case-logo:has(>img:nth-child(2)) img {
  max-width:45%;
  max-height:100px;
}
html.page-projecten-mkb .case,
html.page-projecten-overheid .case {
  scroll-margin-top:24px;
}
@media(max-width:760px) {
  html.page-projecten-mkb .case-logo,
  html.page-projecten-overheid .case-logo {
    max-width:420px;
  }
}

/* Project overview filter */
html.page-ons-werk .hero p:not(.eyebrow) {
  max-width:640px;
  margin:0 0 4px;
  font-size:18px;
  line-height:1.65;
}
html.page-ons-werk .hero-inner {
  gap:45px;
  align-items:center;
}
html.page-ons-werk .hero-placeholder {
  display:block;
  width:100%;
  max-height:350px;
  object-fit:contain;
}
@media(max-width:760px) {
  html.page-ons-werk .hero-inner {
    grid-template-columns:1fr;
    gap:5px;
  }
  html.page-ons-werk .hero-placeholder {
    max-height:270px;
  }
}
html.page-ons-werk .work-filter {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0 22px;
}
html.page-ons-werk .work-filter a {
  display:inline-block;
  border:2px solid var(--pink);
  border-radius:999px;
  padding:6px 14px;
  background:transparent;
  color:var(--ink);
  font-size:15px;
  font-weight:700;
  text-decoration:none;
}
html.page-ons-werk .work-filter a[aria-current="page"] {
  background:var(--pink);
  border-color:var(--pink);
  color:#fff;
}
html.page-ons-werk .work-filter a:hover {
  border-color:var(--pink);
  color:var(--pink);
}
html.page-ons-werk .work-filter a[aria-current="page"]:hover {
  background:#c9008d;
  border-color:#c9008d;
  color:#fff;
}
html.page-ons-werk[data-filter="overheid"] .case:not([data-audience="overheid"]),
html.page-ons-werk[data-filter="mkb"] .case:not([data-audience="mkb"]),
html.page-ons-werk .case.is-hidden {
  display:none;
}
html.page-ons-werk.is-filtered .case:nth-of-type(even) {
  background:transparent;
}
html.page-ons-werk.is-filtered .case.is-band {
  background:var(--pale);
}
/* One look for <a class="button"> and <button class="button"> */
html a.button,
html button.button {
  --button-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M1 7.2h11.1L8.7 3.8 10 2.5 15 7.5 10 12.5 8.7 11.2 12.1 7.8H1z'/%3E%3C/svg%3E");
  display:inline-block;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  box-sizing:border-box;
  margin:0;
  border:2px solid var(--pink);
  border-radius:7px;
  padding:8px 16px;
  background:var(--pink);
  color:#fff;
  font-family:Roboto,"Roboto Fallback",Arial,Helvetica,sans-serif;
  font-size:15px;
  font-weight:400;
  line-height:1.4;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  appearance:none;
  transition:color .2s ease;
}
html a.button::before,
html button.button::before {
  content:"";
  position:absolute;
  inset:0;
  background:var(--pale);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s ease-in-out;
  z-index:-1;
}
html a.button:hover,
html button.button:hover {
  color:var(--pink);
}
html a.button:hover::before,
html button.button:hover::before {
  transform:scaleX(1);
}
html a.button::after,
html button.button::after {
  content:"";
  display:inline-block;
  width:12px;
  height:12px;
  margin-left:.8em;
  vertical-align:-0.12em;
  background:currentColor;
  -webkit-mask:var(--button-arrow) center / contain no-repeat;
  mask:var(--button-arrow) center / contain no-repeat;
  animation:button-arrow 1.25s ease-in-out infinite;
}
html a.button.button-outline,
html button.button.button-outline {
  background:transparent;
  color:var(--pink);
}
html a.button.button-outline::before,
html button.button.button-outline::before {
  background:var(--pink);
}
html a.button.button-outline:hover,
html button.button.button-outline:hover {
  color:#fff;
}
@keyframes button-arrow {
  0% { transform:translateX(-0.25em); }
  50% { transform:translateX(0.25em); }
  100% { transform:translateX(-0.25em); }
}
@media(prefers-reduced-motion:reduce) {
  html a.button,
  html button.button,
  html a.button::before,
  html button.button::before,
  html.page-social-farmer .support-logos img,
  html.page-contact .membership-logo img {
    transition:none;
  }
  html a.button::after,
  html button.button::after {
    animation:none;
  }
}
html button.button:focus-visible {
  outline:3px solid #6423a6;
  outline-offset:4px;
}
