@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --default-font: "Inter", sans-serif;
  --heading-font: "DM Serif Display", Georgia, serif;
  --nav-font: "Inter", sans-serif;
  --background-color: #f7f4ed;
  --default-color: #173f42;
  --heading-color: #173f42;
  --accent-color: #b8513d;
  --surface-color: #e8ede6;
  --contrast-color: #f7f4ed;
  --nav-color: #173f42;
  --nav-hover-color: #b8513d;
  --nav-mobile-background-color: #f7f4ed;
  --nav-dropdown-background-color: #fffdfa;
  --nav-dropdown-color: #173f42;
  --nav-dropdown-hover-color: #b8513d;
  --rr-paper: #f7f4ed;
  --rr-card: #fffdfa;
  --rr-ink: #173f42;
  --rr-rust: #b8513d;
  --rr-muted: #65716b;
  --rr-pale: #e8ede6;
  --rr-line: #d6dad0;
}

body:not(.rr-home-design) {
  background: var(--rr-paper);
  background-image: none;
  animation: none;
  color: var(--rr-ink);
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
}

body:not(.rr-home-design) a:not(.btn) { color: var(--rr-rust); }
body:not(.rr-home-design) a:not(.btn):hover { color: #8f3d2f; }
body:not(.rr-home-design) :focus-visible { outline-color: var(--rr-rust); }

body:not(.rr-home-design) h1,
body:not(.rr-home-design) h2,
body:not(.rr-home-design) h3,
body:not(.rr-home-design) h4,
body:not(.rr-home-design) h5,
body:not(.rr-home-design) h6 {
  color: var(--rr-ink);
  font-family: "DM Serif Display", Georgia, serif;
  font-weight: 400;
  letter-spacing: 0;
}

body:not(.rr-home-design) .header {
  position: relative !important;
  inset: auto;
  min-height: 88px;
  padding: 16px 0 8px;
  background: var(--rr-paper);
  color: var(--rr-ink);
  z-index: 20;
}

body:not(.rr-home-design) .header .header-container {
  width: min(1296px, calc(100% - 48px)) !important;
  max-width: none !important;
  min-height: 60px;
  margin: 0 auto !important;
  padding: 4px 0 !important;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body:not(.rr-home-design) .header .home-brand {
  gap: 12px;
  color: var(--rr-ink);
  text-decoration: none;
}
body:not(.rr-home-design) .header .home-brand__mark {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 3px;
  background: var(--rr-ink);
  color: var(--rr-paper);
  font: 28px/1 "DM Serif Display", Georgia, serif;
}
body:not(.rr-home-design) .header .home-brand__copy { display: flex; flex-direction: column; gap: 3px; }
body:not(.rr-home-design) .header .home-brand__copy strong { color: var(--rr-ink); font-size: 16px; font-weight: 600; }
body:not(.rr-home-design) .header .home-brand__copy small { color: var(--rr-muted); font-size: 9px; }

body:not(.rr-home-design) .header .logo { text-decoration: none; }
body:not(.rr-home-design) .header .logo .site-logo-mark { width: auto; height: 36px; max-height: 36px; margin-right: 8px; }
body:not(.rr-home-design) .header .logo .sitename { padding: 0; color: var(--rr-ink); font: 600 17px/1.1 "Inter", sans-serif; }

body:not(.rr-home-design) .header .navmenu a,
body:not(.rr-home-design) .header .navmenu a:focus {
  color: var(--rr-ink);
  font: 500 12px/1.2 "Inter", sans-serif;
  text-decoration: none;
}

body:not(.rr-home-design) .header .navmenu a::after { display: none; }
body:not(.rr-home-design) .header .navmenu .active,
body:not(.rr-home-design) .header .navmenu li:hover > a,
body:not(.rr-home-design) .header .nav-item--spotlight > a { color: var(--rr-rust); }
body:not(.rr-home-design) .header .nav-link__meta { display: none; }

body:not(.rr-home-design) .header .navmenu li:last-child a {
  min-height: 38px;
  margin-left: 10px;
  padding: 0 20px;
  border: 1px solid var(--rr-line);
  border-radius: 3px;
}

body:not(.rr-home-design) .header .mobile-nav-toggle { color: var(--rr-ink); }

@media (min-width: 1200px) {
  body:not(.rr-home-design) .header .navmenu { padding: 0; }
  body:not(.rr-home-design) .header .navmenu ul { gap: 4px; }
}

body:not(.rr-home-design) .page-title {
  padding: 46px 0 38px;
  overflow: visible;
  background: var(--rr-paper);
  color: var(--rr-ink);
  text-align: left;
}

body:not(.rr-home-design) .page-title::before { display: none; }
body:not(.rr-home-design) .page-title.dark-background { background: var(--rr-paper); color: var(--rr-ink); }
body:not(.rr-home-design) .page-title .container { text-align: left; }

body:not(.rr-home-design) .page-title h1 {
  max-width: 820px;
  margin: 0 0 10px;
  color: var(--rr-ink);
  font: 400 48px/1.08 "DM Serif Display", Georgia, serif;
}

body:not(.rr-home-design) .page-title p {
  max-width: 680px;
  margin: 0;
  color: var(--rr-muted);
  font-size: 14px;
  line-height: 1.65;
}

body:not(.rr-home-design) .page-title-domain { margin: 12px 0 0; color: var(--rr-muted); }
body:not(.rr-home-design) .main .section { padding-top: 30px; padding-bottom: 64px; }
body:not(.rr-home-design) .main .section.pt-0 { padding-top: 0; }
body:not(.rr-home-design) .main .container { color: var(--rr-ink); }
body:not(.rr-home-design) .text-white { color: var(--rr-ink) !important; }
body:not(.rr-home-design) .text-secondary { color: var(--rr-muted) !important; }
body:not(.rr-home-design) .text-muted { color: var(--rr-muted) !important; }

body:not(.rr-home-design) .btn-primary {
  --bs-btn-bg: var(--rr-ink);
  --bs-btn-border-color: var(--rr-ink);
  --bs-btn-hover-bg: #245457;
  --bs-btn-hover-border-color: #245457;
  --bs-btn-active-bg: #245457;
  --bs-btn-active-border-color: #245457;
  --bs-btn-color: var(--rr-paper);
  border-radius: 3px;
  font-weight: 500;
}

body:not(.rr-home-design) .btn-outline-light {
  --bs-btn-color: var(--rr-ink);
  --bs-btn-border-color: var(--rr-line);
  --bs-btn-hover-bg: var(--rr-ink);
  --bs-btn-hover-border-color: var(--rr-ink);
  --bs-btn-hover-color: var(--rr-paper);
  border-radius: 3px;
}

body:not(.rr-home-design) .album-card,
body:not(.rr-home-design) .portfolio-card {
  border: 1px solid var(--rr-line);
  border-radius: 4px;
  background: var(--rr-card);
  box-shadow: none;
  color: var(--rr-ink);
}

body:not(.rr-home-design) .album-card:hover,
body:not(.rr-home-design) .portfolio-card:hover {
  border-color: var(--rr-ink);
  box-shadow: 0 12px 28px rgba(23, 63, 66, 0.12);
  color: var(--rr-ink);
}

body:not(.rr-home-design) .album-card__media { background: var(--rr-pale); }
body:not(.rr-home-design) .album-card-body h2,
body:not(.rr-home-design) .portfolio-card h2 { color: var(--rr-ink); font: 400 22px/1.2 "DM Serif Display", Georgia, serif; }
body:not(.rr-home-design) .portfolio-card p { color: var(--rr-muted); }
body:not(.rr-home-design) .album-card-cta,
body:not(.rr-home-design) .portfolio-card-cta { color: var(--rr-rust); font-size: 12px; font-weight: 500; }
body:not(.rr-home-design) .coming-soon { border: 1px solid var(--rr-line); border-radius: 4px; background: var(--rr-pale); color: var(--rr-ink); }
body:not(.rr-home-design) .coming-soon h2 { color: var(--rr-ink); }

body:not(.rr-home-design) .schedule-2 .agenda-week-group > h2 { color: var(--rr-ink); font: 400 28px/1.2 "DM Serif Display", Georgia, serif; }
body:not(.rr-home-design) .schedule-2 .schedule-item {
  border: 1px solid var(--rr-line);
  border-radius: 5px;
  background: var(--rr-card);
  box-shadow: none;
  color: var(--rr-ink);
}
body:not(.rr-home-design) .schedule-2 .schedule-item:hover { border-color: #9aa9a1; box-shadow: 0 10px 24px rgba(23, 63, 66, 0.08); }
body:not(.rr-home-design) .schedule-2 .schedule-item .time-slot { border-color: var(--rr-rust); }
body:not(.rr-home-design) .schedule-2 .schedule-item .time-slot .time,
body:not(.rr-home-design) .schedule-2 .schedule-item .item-content .location i { color: var(--rr-rust); }
body:not(.rr-home-design) .schedule-2 .schedule-item .item-content h2,
body:not(.rr-home-design) .schedule-2 .schedule-item .item-content h4,
body:not(.rr-home-design) .schedule-2 .schedule-item .speaker-details .name { color: var(--rr-ink); }
body:not(.rr-home-design) .schedule-2 .schedule-item .item-content .location,
body:not(.rr-home-design) .schedule-2 .schedule-item .speaker-details .role,
body:not(.rr-home-design) .schedule-2 .schedule-item .time-slot .duration { color: var(--rr-muted); }
body:not(.rr-home-design) .schedule-2 .schedule-item .item-content p { color: var(--rr-muted); }
body:not(.rr-home-design) .schedule-2 .schedule-item.highlight-item { border-color: #bd8a77; background: #fbf1eb; box-shadow: none; }
body:not(.rr-home-design) .schedule-2 .agenda-item-icon { border-color: var(--rr-line); background: var(--rr-pale); color: var(--rr-ink); }

body.contact-page .contact-panel {
  border: 1px solid var(--rr-line);
  border-radius: 4px;
  background: var(--rr-card);
  box-shadow: none;
  color: var(--rr-ink);
}
body.contact-page .contact-item-title { color: var(--rr-muted); }
body.contact-page .contact-item-value a { color: var(--rr-ink); }
body.contact-page .contact-panel .site-footer-social a {
  border-color: var(--rr-line);
  background: var(--rr-pale);
  color: var(--rr-ink);
}
body.contact-page .contact-panel .site-footer-social a:hover,
body.contact-page .contact-panel .site-footer-social a:focus-visible {
  border-color: var(--rr-ink);
  background: var(--rr-ink);
  color: var(--rr-paper);
}
body.contact-page .why-contact,
body.contact-page .form-label { color: var(--rr-ink); }
body.contact-page .contact-item-icon { color: var(--rr-rust); }
body.contact-page .form-control,
body.contact-page .form-select { border-color: var(--rr-line); border-radius: 3px; background: #fff; color: var(--rr-ink); }
body.contact-page .form-control:focus,
body.contact-page .form-select:focus { border-color: var(--rr-rust); box-shadow: 0 0 0 0.2rem rgba(184, 81, 61, 0.14); }
body.contact-page .rr-zegel { border-color: var(--rr-line); border-radius: 4px; background: var(--rr-pale); }
body.contact-page .rr-zegel__hint { color: var(--rr-muted); }
body.contact-page .rr-zegel__refresh { border: 1px solid var(--rr-line); border-radius: 3px; background: var(--rr-paper); color: var(--rr-ink); }
body.contact-page .rr-zegel__refresh:hover,
body.contact-page .rr-zegel__refresh:focus-visible { border-color: var(--rr-ink); background: var(--rr-ink); color: var(--rr-paper); }

body:not(.rr-home-design) .about-domain-note { border: 1px solid var(--rr-line); border-radius: 4px; background: var(--rr-pale); color: var(--rr-muted); }
body:not(.rr-home-design) .about-domain-note a,
body:not(.rr-home-design) .about-site-list a { color: var(--rr-rust); }
body:not(.rr-home-design) .about-quote { border-left-color: var(--rr-rust); color: var(--rr-ink); font-family: "DM Serif Display", Georgia, serif; }
body:not(.rr-home-design) .about-photo { border-color: var(--rr-line); border-radius: 4px; box-shadow: 0 14px 32px rgba(23, 63, 66, 0.12); }

body:not(.rr-home-design) .projects-bento__tile {
  border: 1px solid var(--rr-line);
  border-radius: 4px;
  background: var(--rr-card);
  box-shadow: none;
  color: var(--rr-ink);
}
body:not(.rr-home-design) .projects-bento__tile:hover { border-color: #9aa9a1; background: #fff; box-shadow: 0 12px 28px rgba(23, 63, 66, 0.1); color: var(--rr-ink); }
body:not(.rr-home-design) .projects-bento__num,
body:not(.rr-home-design) .projects-bento__step { color: var(--rr-muted); }
body:not(.rr-home-design) .projects-bento__icon { border-color: var(--rr-line); border-radius: 3px; background: var(--rr-pale); color: var(--rr-ink); }
body:not(.rr-home-design) .projects-bento__title { color: var(--rr-ink); font: 400 26px/1.18 "DM Serif Display", Georgia, serif; letter-spacing: 0; }
body:not(.rr-home-design) .projects-bento__deck,
body:not(.rr-home-design) .projects-bento__text { color: var(--rr-muted); }
body:not(.rr-home-design) .projects-bento__cta { color: var(--rr-rust); letter-spacing: 0; }
body:not(.rr-home-design) .projects-bento__badge { border-color: #d8b1a8; border-radius: 3px; background: #fbf1eb; color: var(--rr-rust); }
body:not(.rr-home-design) .projects-menu-hint { border: 1px solid var(--rr-line); border-left: 2px solid var(--rr-rust); border-radius: 4px; background: var(--rr-pale); color: var(--rr-muted); }
body:not(.rr-home-design) .projects-footnote,
body:not(.rr-home-design) .projects-footnote a { color: var(--rr-muted); }
body:not(.rr-home-design) .verkennen-page .page-title p { color: var(--rr-muted); }

body.links-hub-page { color: var(--rr-ink); }
body.links-hub-page .links-hub-clarity,
body.links-hub-page .links-hub-hero,
body.links-hub-page .links-hub-card {
  border: 1px solid var(--rr-line);
  border-radius: 4px;
  background: var(--rr-card);
  box-shadow: none;
  color: var(--rr-ink);
}
body.links-hub-page .links-hub-clarity { border-left: 2px solid var(--rr-rust); }
body.links-hub-page .links-hub-clarity__lead,
body.links-hub-page .links-hub-clarity__note,
body.links-hub-page .links-hub-card__tagline { color: var(--rr-muted); }
body.links-hub-page .links-hub-hero__eyebrow,
body.links-hub-page .links-hub--thema .links-hub-hero__eyebrow,
body.links-hub-page .links-hub--rubriek .links-hub-hero__eyebrow { color: var(--rr-rust); letter-spacing: 0.04em; }
body.links-hub-page .links-hub-stats { color: var(--rr-muted); }
body.links-hub-page .links-hub-stats a { color: var(--rr-rust); }
body.links-hub-page .links-hub-jump a,
body.links-hub-page .links-hub--rubriek .links-hub-jump a { border: 1px solid var(--rr-line); border-radius: 3px; background: var(--rr-pale); color: var(--rr-ink); }
body.links-hub-page .links-hub-jump a:hover { border-color: var(--rr-ink); background: var(--rr-paper); color: var(--rr-rust); transform: none; }
body.links-hub-page .links-hub-card__head,
body.links-hub-page .links-hub--rubriek .links-hub-card__head { border-bottom: 1px solid var(--rr-line); }
body.links-hub-page .links-hub-card__icon,
body.links-hub-page .links-hub--thema .links-hub-card__icon,
body.links-hub-page .links-hub--rubriek .links-hub-card__icon { border: 0; border-radius: 3px; background: var(--rr-pale); color: var(--rr-rust); }
body.links-hub-page .links-hub-card h2 { color: var(--rr-ink); font: 400 23px/1.2 "DM Serif Display", Georgia, serif; }
body.links-hub-page .links-hub-card li,
body.links-hub-page .links-hub--thema .links-hub-card li,
body.links-hub-page .links-hub--rubriek .links-hub-card li { margin-bottom: 7px; border: 0; border-left: 2px solid var(--rr-line); border-radius: 0; background: var(--rr-pale); color: var(--rr-ink); }
body.links-hub-page .links-hub-card a,
body.links-hub-page .links-hub--thema .links-hub-card a,
body.links-hub-page .links-hub--rubriek .links-hub-card a { color: var(--rr-ink); }
body.links-hub-page .links-hub-card a:hover { color: var(--rr-rust); }
body.links-hub-page .links-hub-cross .btn-outline-light { border-color: var(--rr-line); background: transparent; color: var(--rr-ink); }

body:not(.rr-home-design) .site-footer {
  margin-top: 24px;
  padding: 48px 0 24px;
  border-top: 0;
  background: var(--rr-ink);
  color: #e0e8df;
}
body:not(.rr-home-design) .site-footer-brand { color: var(--rr-paper); font: 400 27px/1.2 "DM Serif Display", Georgia, serif; }
body:not(.rr-home-design) .site-footer-heading { color: var(--rr-paper); font: 600 10px/1.4 "Inter", sans-serif; letter-spacing: 0.04em; }
body:not(.rr-home-design) .site-footer-note,
body:not(.rr-home-design) .site-footer-domain-hint { color: #e0e8df; font-size: 12px; }
body:not(.rr-home-design) .site-footer a,
body:not(.rr-home-design) .site-footer-domain-hint a { color: #e0e8df; }
body:not(.rr-home-design) .site-footer a:hover,
body:not(.rr-home-design) .site-footer-domain-hint a:hover { color: #fff; }
body:not(.rr-home-design) .site-footer-social a { width: 36px; height: 36px; border: 1px solid #547174; border-radius: 3px; color: var(--rr-paper); }
body:not(.rr-home-design) .site-footer-social a:hover { border-color: var(--rr-paper); color: var(--rr-paper); }
body:not(.rr-home-design) .site-footer-copy { border-color: #3d6061; color: #e0e8df; }

body:not(.rr-home-design) .verkennen-subnav {
  position: sticky;
  top: 0;
  border-bottom: 1px solid var(--rr-line);
  background: var(--rr-paper);
  box-shadow: none;
  backdrop-filter: none;
}
body:not(.rr-home-design) .verkennen-subnav__inner { color: var(--rr-ink); }
body:not(.rr-home-design) .verkennen-subnav__link { color: var(--rr-muted); }
body:not(.rr-home-design) .verkennen-subnav__link.is-active,
body:not(.rr-home-design) .verkennen-subnav__link:hover { color: var(--rr-rust); }
body:not(.rr-home-design) .verkennen-subnav__inner { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
body:not(.rr-home-design) .verkennen-subnav__list { flex: 0 0 auto; min-width: 0; width: max-content; }

@media (max-width: 1199px) {
  body:not(.rr-home-design) .header { min-height: 82px; padding-top: 10px; }
  body:not(.rr-home-design) .header .header-container { margin: 0 auto !important; }
}

@media (max-width: 767px) {
  body:not(.rr-home-design) .header { min-height: 76px; padding: 8px 0; }
  body:not(.rr-home-design) .header .header-container { width: calc(100% - 36px) !important; }
  body:not(.rr-home-design) .header .navmenu ul { background: var(--rr-paper); }
  body:not(.rr-home-design) .header .navmenu a,
  body:not(.rr-home-design) .header .navmenu a:focus { color: var(--rr-ink); }
  body:not(.rr-home-design) .header .navmenu .active,
  body:not(.rr-home-design) .header .navmenu li:hover > a { color: var(--rr-rust); }
  body:not(.rr-home-design) .page-title { padding: 34px 0 28px; }
  body:not(.rr-home-design) .page-title h1 { font-size: 38px; }
  body:not(.rr-home-design) .page-title p { max-width: 100%; font-size: 13px; }
  body:not(.rr-home-design) .main .section { padding-bottom: 48px; }
  body:not(.rr-home-design) .schedule-2 .schedule-item { padding: 20px; }
  body:not(.rr-home-design) .projects-bento--quad { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.rr-home-design) *,
  body:not(.rr-home-design) *::before,
  body:not(.rr-home-design) *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
