:root {
  --purple: #5f1d57;
  --purple-deep: #5e1d57;
  --cyan: #029ad6;
  --cyan-band: #139fdb;
  --pink: #af4c96;
  --ink: #293340;
  --muted: #5a6570;
  --line: #edf0f7;
  --gray: #f4f4f4;
  --footer: #2a2d2e;
  --footer-sub: #191a1b;
  --header-h: 90px;
  --topbar-h: 45px;
  --wrap: 1250px;
  --shadow: 0 12px 30px rgba(20, 24, 32, 0.08);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--muted);
  background: #fff;
  font-family: Roboto, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 24px;
  overflow-x: clip;
}
img, svg, video { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
a { color: #0277a8; text-decoration: none; }
a:hover { color: var(--purple); }
h1, h2, h3, h4 {
  font-family: "Open Sans", sans-serif;
  line-height: 1.2;
  font-weight: 400;
  color: var(--ink);
}
h1 { font-size: 36px; }
h2 { font-size: 36px; }
h3 { font-family: Roboto, sans-serif; font-size: 16px; font-weight: 700; }
p { margin: 0 0 1em; }
.wrap { width: min(var(--wrap), calc(100% - 32px)); margin-inline: auto; }
.screen-reader {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); border: 0;
}
.skip-link {
  position: absolute; left: 12px; top: -40px; background: #fff; padding: 8px 12px; z-index: 100;
}
.skip-link:focus { top: 8px; }

.icon { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 50px; padding: 0 22px; border-radius: 10px; border: 1px solid var(--cyan);
  background: var(--cyan); color: #fff; font-family: Roboto, sans-serif;
  font-size: 19px; font-weight: 700; line-height: 48px; letter-spacing: 0;
  position: relative; overflow: hidden; transition: background .25s ease, border-color .25s ease, color .25s ease;
}
.btn:hover { background: #2f2933; border-color: #2a8986; color: #fff; }
.btn::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 40%; left: -60%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
  transform: skewX(-20deg); transition: left .55s ease;
}
.btn:hover::after { left: 130%; }
.btn-light { background: #fff; color: var(--purple-deep); border-color: #fff; }
.btn-light:hover { background: #2f2933; color: #fff; border-color: #2f2933; }
.page-shell.narrow:has(.ig-links) {
  width: 100%; max-width: none; margin: 0; display: flex; flex-direction: column;
  padding: 0 0 40px;
}
.page-shell:has(.ig-links) > article { display: contents; }
.page-shell:has(.ig-links) > .crumbs {
  order: 2; width: min(1170px, calc(100% - 40px)); margin: 28px auto 0;
}
.page-shell:has(.ig-links) .page-hero {
  order: 1; width: 100%; min-height: 100px; margin: 0; padding: 0;
  display: flex; align-items: center; border-bottom: 1px solid #ecf0f1;
}
.page-shell:has(.ig-links) .page-hero h1 {
  width: min(1170px, calc(100% - 40px)); margin: 0 auto;
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 28px; font-weight: 500;
  line-height: 49px; color: #293340;
}
.page-shell:has(.ig-links) .block {
  order: 3; flex: none; width: min(1170px, calc(100% - 40px)); margin: 0 auto 8px;
}
.page-shell:has(.ig-links) .block > h2 {
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 40px; font-weight: 500;
  line-height: 48px; color: #6d7783; text-align: left; margin: 30px 0 50px;
}
.ig-links { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; max-width: none; margin: 0 0 30px; }
.ig-links p { margin: 0; }
.prose .ig-links a { text-decoration: none; }
.ig-links .btn {
  width: auto; min-width: 200px; min-height: 64px; height: 64px; border-radius: 0; border: 0;
  padding: 0 15px; gap: 15px; justify-content: flex-start; box-sizing: border-box;
  background: #3d0070; color: #fff; font-family: Roboto, sans-serif;
  font-size: 14px; font-weight: 700; line-height: 64px;
  letter-spacing: 0; text-transform: uppercase; text-decoration: none;
}
.ig-links .btn::before {
  content: ""; width: 15px; height: 15px; flex: 0 0 15px; background: currentColor;
  -webkit-mask: var(--ig-icon) center / contain no-repeat;
  mask: var(--ig-icon) center / contain no-repeat;
}
.ig-links p:nth-child(1) .btn { --ig-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 3h9a3 3 0 0 1 3 3v15H8a2 2 0 0 0-2 2V3zm0 15h10V6a1 1 0 0 0-1-1H8v13z'/%3E%3C/svg%3E"); }
.ig-links p:nth-child(2) .btn { --ig-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5h16a1 1 0 0 1 1 1v9H3V6a1 1 0 0 1 1-1zm-1 12h18v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-1z'/%3E%3C/svg%3E"); }
.ig-links p:nth-child(3) .btn { --ig-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 4a8 8 0 1 0 .01 16.01A8 8 0 0 0 12 4zm-1.2 4.2h5.2v1.6h-2.1c.5.6.8 1.3.8 2.1 0 2-1.5 3.3-3.6 3.3-2.2 0-3.6-1.5-3.6-3.6h1.7c0 1.1.7 1.9 1.9 1.9 1.1 0 1.8-.6 1.8-1.6 0-1-.6-1.5-1.7-1.5h-.9V9.2h1.5z'/%3E%3C/svg%3E"); }
.ig-links p:nth-child(4) .btn { --ig-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='8' r='2.2' fill='black'/%3E%3Ccircle cx='16' cy='9' r='2' fill='black'/%3E%3Cpath fill='black' d='M4.5 18c.4-2.4 2.2-3.6 4.5-3.6s4.1 1.2 4.5 3.6h-9zm8.5 0c.3-1.8 1.5-2.8 3.2-2.8 1.6 0 2.7.9 3.1 2.8H13z'/%3E%3C/svg%3E"); }
.ig-links .btn::after { content: none; }
.ig-links .btn:hover { background: #4251f4; border-color: #4251f4; color: #fff; }
.page-shell.narrow:has(.page-article) {
  width: 100%; max-width: none; margin: 0; display: flex; flex-direction: column; padding: 0 0 48px;
}
.page-shell:has(.page-article) > article { display: contents; }
.page-shell:has(.page-article) > .crumbs {
  order: 2; width: min(1170px, calc(100% - 40px)); margin: 28px auto 0;
}
.page-shell:has(.page-article) .page-hero {
  order: 1; width: 100%; min-height: 100px; margin: 0; padding: 0;
  display: flex; align-items: center; border-bottom: 1px solid #ecf0f1;
}
.page-shell:has(.page-article) .page-hero h1 {
  width: min(1170px, calc(100% - 40px)); margin: 0 auto;
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 28px; font-weight: 500;
  line-height: 49px; color: #293340;
}
.page-shell:has(.page-article) .prose,
.page-shell:has(.page-article) .form-card {
  order: 3; width: min(1170px, calc(100% - 40px)); margin: 16px auto 0;
  background: transparent; border: 0; border-radius: 0; padding: 0; text-align: left;
}
.page-article .form-card h3 {
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 18.75px; font-weight: 700;
  line-height: 36px; color: #293340; margin: 0 0 6px;
}
.page-article .form-card > p { margin: 0 0 21px; font-size: 15px; line-height: 24px; color: #6d7783; }
.page-article .rumr-form label { color: #6d7783; font-weight: 700; font-size: 15px; gap: 9px; }
.page-article .rumr-form .check { margin: 4px 0 40px; }
.page-article .rumr-form .check label {
  display: flex; align-items: flex-start; gap: 8px; font-weight: 400; font-size: 15px; line-height: 22px;
}
.page-article .rumr-form .check input {
  width: 15px; height: 15px; flex: 0 0 15px; margin: 3px 0 0; padding: 0; border-radius: 0;
}
.page-article .rumr-form p { margin: 0 0 8px; }
.page-article .rumr-form input[type="email"] {
  width: min(569px, 100%); height: 36px; margin: 0; padding: 5px 4px;
  border: 1px solid #edf0f7; border-radius: 0; font-size: 15px; font-weight: 400;
}
.page-article .form-card .btn {
  min-height: 0; height: auto; width: auto; margin-top: 8px; padding: 1px 6px;
  border: 0; border-radius: 0; background: #efefef; color: #666;
  font-family: "Open Sans", sans-serif; font-size: 14px; font-weight: 400;
  line-height: 24px; letter-spacing: 0;
}
.page-article .form-card .btn::after { content: none; }
.page-article .form-card .btn:hover { background: #e4e4e4; border-color: transparent; color: #666; }
.page-article .prose { color: #6d7783; font-size: 15px; line-height: 24px; text-align: left; }
.page-article .prose p { margin: 0 0 17px; }
.page-article .prose h2 {
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 34px; font-weight: 500;
  line-height: 1.25; color: #293340; text-align: left; margin: 28px 0 14px;
}
.page-article .prose h2.doc-title {
  font-size: 40px; line-height: 48px; font-weight: 500; margin: 0 0 28px;
}
.page-article .prose h3 {
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 28px; font-weight: 500;
  line-height: 1.3; color: #293340; margin: 22px 0 10px;
}
.page-article .prose h4 {
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 22px; font-weight: 500; color: #293340;
}
.page-article .prose.is-declaration h2 {
  font-size: 34px; font-weight: 500; line-height: 40px; margin: 0 0 31px;
}
.page-article .prose.is-declaration h3 {
  font-size: 28px; font-weight: 500; line-height: 36px; margin: 0 0 18px;
}
.page-article .prose.is-declaration a { color: #3a78ff; }
.page-article .prose.is-declaration table {
  width: 100%; border-collapse: collapse; margin: 1em 0; font-size: 1em; text-align: left;
  border: 2px solid #e0e0e0;
}
.page-article .prose.is-declaration th {
  background: #e0e0e0; padding: 0.75em 1em; font-weight: 700;
  border-bottom: 2px solid #e0e0e0; color: inherit; text-align: left;
}
.page-article .prose.is-declaration td {
  padding: 0.75em 1em; border-bottom: 1px solid #e0e0e0; color: inherit; vertical-align: top;
}
.page-article .prose.is-declaration tbody tr:nth-child(even) { background: #e0e0e0; }
@media (max-width: 600px) {
  .page-article .prose.is-declaration table { display: block; border: 0; }
  .page-article .prose.is-declaration thead { display: none; }
  .page-article .prose.is-declaration tbody { display: block; width: 100%; }
  .page-article .prose.is-declaration tr { display: block; margin-bottom: 1em; }
  .page-article .prose.is-declaration td {
    display: flex; justify-content: space-between; align-items: center;
    padding: 0.5em; border-bottom: 1px solid #e0e0e0; overflow-wrap: anywhere;
  }
  .page-article .prose.is-declaration td::before {
    content: attr(data-label); font-weight: 700; margin-right: 0.5em;
  }
  .page-article .prose.is-declaration td:nth-child(1)::before { content: "Type"; }
  .page-article .prose.is-declaration td:nth-child(2)::before { content: "Identificatie"; }
  .page-article .prose.is-declaration td:nth-child(3)::before { content: "Omschrijving"; }
  .page-article .prose.is-declaration td:nth-child(4)::before { content: "Duur"; }
  .page-article .prose.is-declaration td:nth-child(5)::before { content: "Bron"; }
  .page-article .prose.is-declaration td:last-child { border-bottom: 0; }
}
@media (max-width: 1200px) {
  .page-shell:has(.ig-links) .page-hero h1,
  .page-shell:has(.ig-links) .block,
  .page-shell:has(.ig-links) > .crumbs,
  .page-shell:has(.page-article) .page-hero h1,
  .page-shell:has(.page-article) .prose,
  .page-shell:has(.page-article) .form-card,
  .page-shell:has(.page-article) > .crumbs { width: calc(100% - 80px); }
}
@media (max-width: 780px) {
  .page-shell:has(.ig-links) .page-hero,
  .page-shell:has(.page-article) .page-hero { min-height: 90px; }
  .page-shell:has(.ig-links) .page-hero h1,
  .page-shell:has(.page-article) .page-hero h1 { width: calc(100% - 30px); text-align: center; }
  .page-shell:has(.ig-links) .block,
  .page-shell:has(.ig-links) > .crumbs,
  .page-shell:has(.page-article) .prose,
  .page-shell:has(.page-article) .form-card,
  .page-shell:has(.page-article) > .crumbs { width: calc(100% - 30px); }
}
.page-shell:has(.is-terms) .page-hero.is-terms {
  min-height: 0; border: 0; display: block; padding: 60px 0 0;
}
.page-shell:has(.is-terms) .page-hero.is-terms h1 {
  font-size: 40px; font-weight: 500; line-height: 48px; text-align: center; color: #293340;
}
.page-shell:has(.is-terms) .doc-rule {
  width: 150px; height: 2px; margin: 15px auto 40px; background: #3a78ff;
}
.page-shell:has(.is-terms) .prose { margin-top: 0; }
.page-shell:has(.is-terms) > .crumbs { order: 4; }

.topbar {
  background: var(--purple); color: #fff; min-height: 50px;
  font-family: "Open Sans", sans-serif; font-size: 14px; font-weight: 400; line-height: 50px;
  letter-spacing: 0;
}
body.home .topbar { min-height: var(--topbar-h); line-height: 45px; }
.topbar a, .topbar-slogan { color: #fff; margin: 0; }
.topbar a:hover { color: #af4c96; }
.topbar-inner { display: flex; justify-content: space-between; gap: 12px; min-height: inherit; align-items: center; flex-wrap: wrap; }

.site-header {
  position: sticky; top: 0; z-index: 40; background: #fff;
  height: var(--header-h); border-bottom: 1px solid rgba(235,235,235,.8);
  transition: background .25s ease, box-shadow .25s ease;
}
.header-inner { height: 100%; display: flex; align-items: center; gap: 12px; }
.logo { display: flex; align-items: center; flex: 0 0 auto; }
.logo img { width: auto; max-height: 64px; max-width: 190px; }
.logo-white { display: none; }
.site-nav { margin-left: auto; display: flex; align-items: center; }
.menu, .sub-menu { list-style: none; margin: 0; padding: 0; }
.menu { display: flex; align-items: center; gap: 2px; }
.menu > li { position: relative; }
.menu > li.menu-item-has-children > a::after {
  content: ""; width: 0; height: 0; margin-left: 6px;
  border-left: 4px solid transparent; border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
}
.menu a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px;
  color: #666; font-family: Raleway, Montserrat, sans-serif;
  font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
  transition: color .2s ease;
}
.menu a:hover, .menu .current-menu-item > a, .menu .current-menu-ancestor > a { color: var(--purple); }
.sub-menu {
  position: absolute; top: calc(100% - 6px); left: 0; min-width: 240px;
  background: #fff; box-shadow: var(--shadow); padding: 8px 0; border-radius: 8px;
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
  z-index: 30;
}
.menu > li:hover > .sub-menu, .menu > li:focus-within > .sub-menu, .menu > li.is-open > .sub-menu {
  opacity: 1; visibility: visible; transform: none;
}
.sub-menu a {
  text-transform: none; letter-spacing: 0; font-family: Roboto, sans-serif;
  font-weight: 400; font-size: 14px; color: var(--muted); width: 100%;
}
.sub-menu a:hover { background: #f5f8f9; color: var(--ink); }
.sub-menu li { position: relative; }
.sub-menu .sub-menu { left: calc(100% - 6px); top: 0; }
.sub-menu li:hover > .sub-menu,
.sub-menu li:focus-within > .sub-menu,
.sub-menu li.is-open > .sub-menu {
  opacity: 1; visibility: visible; transform: none;
}
.submenu-toggle {
  display: none; border: 0; background: transparent; width: 36px; height: 36px; color: var(--muted);
}
.nav-toggle { display: none; }
.nav-toggle, .search-toggle {
  border: 0; background: transparent; width: 48px; height: 48px; color: var(--muted);
}
.search-toggle { display: inline-grid; place-items: center; }
.nav-toggle-lines, .nav-toggle-lines::before, .nav-toggle-lines::after {
  display: block; width: 20px; height: 2px; background: currentColor; position: relative;
}
.nav-toggle-lines::before, .nav-toggle-lines::after { content: ""; position: absolute; left: 0; }
.nav-toggle-lines::before { top: -6px; }
.nav-toggle-lines::after { top: 6px; }
.search-toggle { margin-left: 4px; }
.search-toggle svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.header-search {
  background: #fff; border-top: 1px solid var(--line); padding: 16px 0 20px;
}
.header-search form, .search-form { display: flex; gap: 8px; width: min(var(--wrap), calc(100% - 32px)); margin: 0 auto; }
.header-search input, .search-form input, .rumr-form input, .rumr-form textarea {
  width: 100%; border: 1px solid #d5dbe3; border-radius: 8px; padding: 12px 14px; font: inherit; color: var(--ink); background: #fff;
}
.header-search input:focus, .rumr-form input:focus, .rumr-form textarea:focus { outline: 2px solid rgba(2,154,214,.35); border-color: var(--cyan); }

body.home .topbar {
  position: absolute; top: 0; left: 0; right: 0; z-index: 50;
  background: rgba(42, 45, 46, 0.05); color: #fff;
  transition: background .25s ease;
}
body.home .topbar a { color: #fff; }
body.home .topbar.is-stuck {
  position: fixed; background: #5f1d57; color: #fff;
}
body.has-hero:not(.home) .topbar {
  position: absolute; top: 0; left: 0; right: 0; z-index: 50;
  min-height: 50px; background: rgba(42, 45, 46, 0.05); color: #fff;
}
body.has-hero:not(.home) .topbar a { color: #fff; }
body.home .site-header.is-top,
body.has-hero .site-header.is-top {
  background: transparent; border-color: transparent; position: absolute; left: 0; right: 0;
}
body.has-hero:not(.home) .site-header.is-top {
  top: 50px; height: 90px; background: rgba(42, 45, 46, 0.05);
}
body.home .site-header.is-top {
  top: var(--topbar-h); height: 90px; background: rgba(42, 45, 46, 0.05);
}
body.home .site-header.is-top .menu > li > a { min-height: 90px; }
body.home .site-header.is-top .logo img {
  width: 190px; height: 90px; max-height: 90px; max-width: 190px; object-fit: fill;
}
body.home .site-header.is-stuck {
  position: fixed; top: var(--topbar-h); left: 0; right: 0;
  height: 60px; background: #fff; border-bottom: 1px solid rgba(235,235,235,.5);
}
body.home .site-header.is-stuck .menu > li > a { color: #666; min-height: 60px; }
body.home .site-header.is-stuck .search-toggle { color: #666; }
body.home .site-header.is-stuck .logo img { max-height: 45px; max-width: 90px; }
body.home .site-header.is-top .menu > li > a:hover { color: #fff; box-shadow: inset 0 -2px #fff; }
body.home .site-header.is-top .logo-dark,
body.has-hero .site-header.is-top .logo-dark { display: none; }
body.home .site-header.is-top .logo-white,
body.has-hero .site-header.is-top .logo-white { display: block; }
body.home .site-header.is-top .menu > li > a,
body.home .site-header.is-top .search-toggle,
body.home .site-header.is-top .nav-toggle,
body.has-hero .site-header.is-top .menu > li > a,
body.has-hero .site-header.is-top .search-toggle,
body.has-hero .site-header.is-top .nav-toggle { color: #fff; }
body.home .site-header.is-stuck,
body.has-hero .site-header.is-stuck { box-shadow: 0 8px 24px rgba(0,0,0,.06); }
body.has-hero:not(.home) .topbar.is-stuck { display: none; }
body.has-hero:not(.home) .site-header.is-stuck {
  position: fixed; top: 0; left: 0; right: 0; height: 70px;
  background: #fff; border-bottom: 1px solid rgba(235,235,235,.8); z-index: 60;
}
body.has-hero:not(.home) .site-header.is-stuck .menu > li > a,
body.has-hero:not(.home) .site-header.is-stuck .search-toggle,
body.has-hero:not(.home) .site-header.is-stuck .nav-toggle { color: #666; }
body.has-hero:not(.home) .site-header.is-stuck .logo-white { display: none; }
body.has-hero:not(.home) .site-header.is-stuck .logo-dark { display: block; }
body.has-hero:not(.home) .site-header.is-stuck .logo img { max-height: 48px; }

.page-hero-photo {
  min-height: 720px; display: grid; place-items: center; text-align: center; color: #fff;
  position: relative; overflow: hidden;
}
.hero-bg {
  position: absolute; inset: 0; background-size: cover; background-position: center 30%;
  opacity: 0; transition: opacity .8s ease;
}
.page-hero-photo > .hero-photo {
  object-fit: cover; object-position: center 30%;
}
.hero-bg.is-active { opacity: 1; }
.page-hero-photo::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(18,14,24,.12), rgba(18,14,24,.2));
}
.page-hero-photo .hero-inner {
  position: relative; z-index: 2; display: grid; padding: 210px 0 90px; width: min(1410px, calc(100% - 30px));
}
.page-hero-photo .hero-slide { grid-area: 1 / 1; opacity: 0; pointer-events: none; transition: opacity .6s ease; }
.page-hero-photo .hero-slide.is-active { opacity: 1; pointer-events: auto; }
.hero-cta { margin: 22px 0 0; }
.page-hero-photo h1,
.page-hero-photo .hero-slide-title {
  margin: 0; color: #fff; font-family: "Open Sans", sans-serif; font-weight: 300;
  font-size: 72px; line-height: 86px; letter-spacing: 0;
}
.hero-dots {
  position: absolute; z-index: 2; left: 0; right: 0; bottom: 22px;
  display: flex; justify-content: center; gap: 8px;
}
.hero-dots button {
  width: 24px; height: 24px; border: 0; padding: 0; cursor: pointer; background: transparent;
  background-image: radial-gradient(circle, rgba(255,255,255,.55) 4.5px, transparent 5px);
}
.hero-dots button.is-active { background-color: transparent; background-image: radial-gradient(circle, #fff 4.5px, transparent 5px); }
.page-hero-photo .hero-sub {
  margin: 14px 0 0; color: #fff; font-family: "Open Sans", sans-serif; font-weight: 300;
  font-size: clamp(18px, 2.5vw, 28px); line-height: 1.3;
}
.page-hero-photo.is-compact { min-height: 620px; }
.page-hero-photo.is-compact::before { content: none; }
.page-hero-photo.is-compact h1,
.page-hero-photo.is-compact .hero-slide-title {
  font-family: Montserrat, sans-serif; font-weight: 700;
  font-size: 40px; line-height: 1.2; letter-spacing: 3px;
}

.hero {
  min-height: 82vh; height: 82vh; display: flex; align-items: center; justify-content: center;
  text-align: center; color: #fff; background: #7c838b;
  position: relative; padding: 180px 15px 64px; overflow: hidden; margin-bottom: 0;
}
.hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero::before { content: none; }
.hero-inner { position: relative; z-index: 1; padding: 0; width: min(1410px, 100%); container-type: inline-size; }
.kicker {
  font-family: "Open Sans", sans-serif; font-weight: 300; letter-spacing: 3px;
  font-size: 36px; line-height: 1.2; margin: 0; color: #fff;
}
.hero .kicker { font-size: clamp(18px, 8.333cqw, 36px); margin-bottom: 18px; }
.hero h1 {
  font-family: "Open Sans", sans-serif; font-weight: 300;
  font-size: clamp(24px, 8.333cqw, 72px);
  line-height: 1.2; letter-spacing: 0; color: #fff; margin: 0;
}
.hero .btn { min-width: 300px; height: 50px; margin-top: 48px; font-size: 16px; font-weight: 400; line-height: 48px; }
.band h2 { margin: 0 0 36px; }
.band-purple h2, .band-cyan h2 {
  font-family: "Open Sans", sans-serif; font-weight: 300;
  font-size: clamp(24px, 8.333cqw, 72px);
  line-height: 1.2; letter-spacing: 0; margin: 0 0 18px; color: #fff;
}
.split-intro > div { container-type: inline-size; }
body.home .split-intro h2,
body.home .band-quotes h2 { font-size: clamp(22px, 8.333cqw, 36px); line-height: 1.2; }
.band { padding: 60px 0; }
.band > .wrap { width: min(1200px, calc(100% - 80px)); }
.hero + .band { padding-top: 28px; padding-bottom: 0; }
.band-white { background: #fff; }
.band-gray { background: var(--gray); padding-top: 60px; padding-bottom: 60px; }
.band-purple {
  background: #5e1d57; color: #fff; text-align: center;
  min-height: 650px; display: flex; align-items: center; padding: 80px 0;
}
.band-cyan {
  background: #1296d0; color: #fff; text-align: center; padding: 80px 0;
  min-height: 650px; display: flex; align-items: center;
}
body.home .band-quotes > .wrap,
body.home .band-purple > .wrap,
body.home .band-cyan > .wrap { width: min(1170px, calc(100% - 80px)); padding-inline: 0; container-type: inline-size; }
.band-cyan .kicker { font-size: clamp(22px, 8.333cqw, 36px); font-weight: 300; line-height: 1.2; }
.band-quotes { background: rgba(94, 29, 87, 0.56); color: #fff; min-height: 600px; padding: 80px 0; }
.band-quotes.is-page h2 { text-align: center; }
.why .intro-media { padding: 20px 15px 55px; }
.why .intro-media img { margin-bottom: 60px; }
.why.split-intro > div:last-child { padding: 20px 15px; }
.why .btn { display: flex; width: fit-content; margin-inline: auto; }
@media (max-width: 1280px) and (min-width: 768px) {
  body.home .split-intro > div,
  body.home .why.split-intro > div:last-child { padding-right: 0; }
}
@media (max-width: 767px) {
  body.home .split-intro > div,
  body.home .why.split-intro > div:last-child,
  body.home .why .intro-media { padding-left: 0; padding-right: 0; }
}
.band-quotes h2, .band-purple h2, .band-cyan h2, .band-purple p, .band-cyan p, .band-cyan .kicker { color: #fff; }
.band-purple h2 { margin-bottom: 9px; }
.band-purple p { font-size: 20px; line-height: 30px; margin: 0 0 30px; }
.band-purple .btn { min-width: 300px; background: #009cde; border-color: #009cde; color: #fff; font-size: 16px; font-weight: 400; }
.band-purple .btn:hover { background: #2f2933; border-color: #2f2933; color: #fff; }
.band-cyan .kicker { margin: 0; }
.band-cyan h2 { margin-bottom: 46px; }
.band-cyan .btn { min-width: 300px; background: #2a2d2e; border-color: #2a2d2e; color: #fff; font-size: 16px; font-weight: 400; }
.band-cyan .btn:hover { background: #fff; border-color: #fff; color: #2a2d2e; }
.center { text-align: center; }
.split-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: start; }
.intro-media { display: grid; gap: 32px; justify-items: center; padding: 20px 15px 64px; }
.intro-media img { width: 100%; border-radius: 0; }
.intro-media .btn { width: 250px; min-width: 250px; min-height: 60px; height: 60px; padding: 0 8px; line-height: 58px; border-color: #e1e1e1; font-size: 16px; font-weight: 400; }
.intro-media .btn:hover { background: #008736; border-color: #008736; color: #fff; }
.split-intro > div:last-child { padding: 20px 15px 70px; }
.pillars { list-style: none; margin: 0 0 43px; padding: 0; display: grid; gap: 0; }
.pillars li {
  display: flex; gap: 10px; align-items: flex-start;
  border: 1px solid #dfdfdf; margin: 0 0 18px; padding: 0 14px 18px;
}
.pillar-icon {
  flex: 0 0 22px; height: 24px; border-radius: 0; background: transparent; color: #009cde;
  display: grid; place-items: center;
}
.pillar-icon .icon { width: 16px; height: 16px; stroke-width: 2.6; }
.pillars h3 {
  margin: 0; font-family: Roboto, sans-serif; font-size: 14px; font-weight: 700;
  line-height: 24px; letter-spacing: 0; text-transform: uppercase; color: #293340;
}
.pillars p { margin: 0; color: #6d7783; font-size: 14px; line-height: 24px; font-weight: 400; }

.cards-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.icon-card {
  display: flex; flex-direction: column; align-items: center; background: transparent;
  border-radius: 0; padding: 20px 15px; text-align: center; color: inherit; box-shadow: none;
}
.icon-card:hover { color: inherit; }
.circle {
  width: min(200px, 100%); height: auto; aspect-ratio: 1; margin: 0 auto 45px; border-radius: 50%;
  background: #af4c96; color: #fff; border: 1px solid #ededed;
  display: grid; place-items: center;
  transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}
.icon-card { min-width: 0; }
.icon-card:hover .circle,
.icon-card:focus-visible .circle {
  transform: translateY(-6px);
  background: #8d3574;
  box-shadow: 0 14px 28px rgba(94, 29, 87, 0.28);
}
.circle .icon { width: 46px; height: 46px; }
.icon-card h3 {
  margin: 0 0 22px; font-family: Roboto, sans-serif; font-size: 16px; font-weight: 600;
  line-height: 24px; color: #293340;
}
.icon-card p { color: #5a6570; font-size: 14px; line-height: 24px; font-weight: 400; margin: 0; }
.more {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 64px; min-width: 200px; padding: 0 22px; border-radius: 10px; border: 1px solid #e1e1e1;
  background: #029ad6; color: #fff; font-family: Roboto, sans-serif;
  font-size: 16px; font-weight: 400; line-height: 62px;
}
.icon-card:hover .more { background: #008736; border-color: #008736; color: #fff; }

.quotes { position: relative; margin: 0; min-height: 220px; text-align: left; }
.quote { display: none; position: relative; margin: 0; color: #fff; }
.quote.is-active { display: block; animation: fadeUp .45s ease; }
.quote::before {
  content: "\201C"; position: absolute; left: 0; top: 1px; width: 40px; height: 40px;
  font-family: Georgia, "Times New Roman", serif; font-weight: 900; font-style: normal;
  font-size: 65px; line-height: 59px; color: #fff; text-align: left;
}
.quote p {
  display: inline; margin: 0 0 18px; padding: 0 0 0 40px;
  font-family: "Roboto Light Italic", Roboto, sans-serif; font-size: 24px; font-weight: 300; font-style: italic;
  line-height: 40px; color: #fff;
}
.quote footer {
  position: relative; display: block; margin: 0; padding: 49px 0 2px;
  color: #edf0f7; font-style: normal; font-weight: 400;
}
.quote footer::before {
  content: ""; position: absolute; top: 14px; left: 0; width: 70px; height: 0;
  border-bottom: 2px solid #edf0f7; background: none; margin: 0;
}
.quote footer strong {
  display: block; color: #fff; font-weight: 700; font-style: normal;
  font-size: 19px; line-height: 24px; margin: 0 0 8px;
}
.quote footer span {
  display: block; color: #fff; font-size: 19px; font-weight: 700; font-style: normal; line-height: 24px;
}
.quote-controls { display: flex; align-items: center; justify-content: flex-start; gap: 6px; margin-top: 22px; }
.quote-controls > button { display: none; }
.quote-controls button {
  width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4);
  background: transparent; color: #fff; font-size: 22px;
}
.quote-dots { display: flex; gap: 8px; }
.quote-dots button {
  width: 24px; height: 24px; border: 0; padding: 0; background: transparent;
  background-image: radial-gradient(circle, rgba(255,255,255,.45) 4.5px, transparent 5px);
}
.quote-dots button.is-active { background-color: transparent; background-image: radial-gradient(circle, #fff 4.5px, transparent 5px); }

.why .btn { min-height: 64px; margin-top: 30px; padding: 0 15px; font-size: 25px; font-weight: 400; line-height: 62px; }
.why .btn:hover { background: #008736; border-color: #2f2933; color: #fff; }
.accordion { display: grid; gap: 10px; margin-bottom: 0; }
.accordion-item { border: 0; }
.accordion-item button {
  width: 100%; text-align: left; background: #f7f9fb; border: 1px solid #f4f4f4; border-radius: 4px; cursor: pointer;
  font-family: Roboto, sans-serif; font-size: 14px; font-weight: 500; line-height: 24px;
  padding: 8px 16px; min-height: 44px; color: #5a6570; display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
.accordion-item button::after { content: "+"; font-size: 20px; line-height: 1; color: #5a6570; font-weight: 400; }
.accordion-item.is-open button { background: #f4f4f4; color: #293340; border-color: #f4f4f4; }
.accordion-item.is-open button::after { content: "\2013"; color: #293340; }
.accordion-panel { display: none; color: #6d7783; padding: 8px 4px 4px; background: transparent; font-size: 15px; line-height: 24px; }
.accordion-item.is-open .accordion-panel { display: block; }

.band:has(.service-grid) { padding: 0; }
.service-grid.wrap { width: 100%; max-width: none; }
.service-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; }
.service-item {
  color: inherit; display: block; background: #f4f4f4; border: 1px solid #e7e6e6;
  padding: 20% 15%; text-align: center; transition: background .2s ease;
}
.service-item:hover { background: #fff; color: inherit; }
.service-icon { color: #2f2933; display: block; margin-bottom: 37px; transition: color .2s ease; }
.service-item:hover .service-icon { color: #009cde; }
.service-icon .icon { width: 60px; height: 60px; stroke-width: 1.15; }
.service-item h3 {
  margin: 0 0 22px; font-family: Roboto, sans-serif; font-size: 16px; font-weight: 600;
  line-height: 24px; color: #293340;
}
.service-item p { color: #5a6570; font-size: 14px; line-height: 24px; font-weight: 400; margin: 0; }

.page-shell { padding: 28px 0 72px; }
.page-shell.narrow { width: min(1170px, calc(100% - 40px)); }
.page-template-landing .block,
.page-template-landing .prose { text-align: center; font-size: 25px; line-height: 34px; color: #6d7783; }
.page-template-landing .prose.has-gallery { text-align: center; }
.page-template-landing .prose.has-gallery::after { content: ""; display: block; clear: both; }
.page-template-landing .prose.has-gallery > figure { margin: 8px; }
.page-template-landing .prose.has-gallery > figure:first-of-type {
  float: right; width: min(420px, 40%); margin: 0 0 12px 28px;
}
.page-template-landing .prose.has-gallery > .gallery {
  width: 100vw; margin-left: calc(50% - 50vw); clear: both;
  display: flex; gap: 6px; position: relative;
}
.page-template-landing .prose.has-gallery > .gallery figure { margin: 0; flex: 1 1 0; }
.page-template-landing .prose.has-gallery > .gallery figure[hidden] { display: none; }
.page-template-landing .prose.has-gallery > .gallery img {
  width: 100%; height: 320px; object-fit: cover; border-radius: 0; display: block;
}
.gallery-prev, .gallery-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 42px; height: 64px; border: 0; background: rgba(255,255,255,.82);
  color: #333; font-size: 28px; line-height: 1; cursor: pointer;
}
.gallery-prev { left: 0; }
.gallery-next { right: 0; }
.gallery-prev[hidden], .gallery-next[hidden] { display: none; }
.page-template-landing .book-cta { float: right; clear: right; width: min(420px, 40%); margin: 14px 0 18px 28px; text-align: center; }
.btn-green { background: #5f8f32; border-color: #5f8f32; color: #fff; min-width: 220px; }
.btn-green:hover { background: #4e7828; border-color: #4e7828; color: #fff; }
.page-template-landing article { display: flex; flex-wrap: wrap; align-items: stretch; }
.page-template-landing article > .block { flex: 1 1 100%; }
.price-row {
  display: flex; width: 100vw; margin-left: calc(50% - 50vw);
}
.price-row > .block.is-price {
  flex: 1 1 33.333%; display: flex; flex-direction: column;
  background: #5f1d57; color: #fff; padding: 42px 26px 0; text-align: center;
}
.price-row > .block.is-price .block-action { margin: 28px -26px 0; }
.price-row > .block.is-price .btn {
  width: 100%; border-radius: 0; min-height: 52px;
}
.page-template-landing article > .block.is-band-cyan {
  flex: 1 1 100%; width: 100vw; margin-left: calc(50% - 50vw);
  background: #139fdb; color: #fff; text-align: center; padding: 54px 24px 48px;
}
.page-template-landing article > .block.is-band-cyan :is(h2, h3, h4),
.page-template-landing article > .block.is-band-cyan .prose { color: #fff; }
.page-template-landing article > .block.is-band-cyan h3 {
  font-family: "Open Sans", sans-serif; font-size: 32px; font-weight: 400; margin-bottom: 12px;
}
.page-template-landing article > .block.is-band-cyan .prose a {
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 8px; min-height: 52px; padding: 0 28px; background: #5f1d57; color: #fff;
  font-weight: 700; letter-spacing: .4px; text-transform: uppercase;
}
.page-template-landing article > .block.is-price :is(h2, h3, h4),
.page-template-landing article > .block.is-price .prose { color: #fff; }
.page-template-landing article > .block.is-price .prose { font-size: 16px; line-height: 1.45; }
@media (max-width: 800px) {
  .page-template-landing .prose.has-gallery > figure:first-of-type,
  .page-template-landing .book-cta { float: none; width: 100%; margin: 12px 0; }
  .page-template-landing .prose.has-gallery > .gallery { grid-template-columns: 1fr 1fr; }
  .price-row { flex-direction: column; width: 100%; margin-left: 0; }
  .price-row > .block.is-price { flex-basis: 100%; }
}
.page-template-landing .block h2,
.page-template-landing .prose h2 { font-size: 36px; text-align: center; }
.header-contact.is-menu { display: none; }
.header-contact {
  display: inline-flex; align-items: center; justify-content: center;
  margin-left: 12px; box-sizing: border-box; min-width: 148px; min-height: 42px;
  padding: 0 18px; border-radius: 2px; border: 0;
  background: #5f1d57; color: #fff; font-family: Raleway, sans-serif;
  font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
  line-height: 36px;
}
.header-contact:hover { background: #4a1644; color: #fff; }
body.rumr-blog-chrome .topbar { display: none; }
.blog-index { width: calc((100% - 60px) * 10 / 12); margin: 108px auto 40px; }
.blog-index .block { margin: 0 0 8px; }
.blog-index .block h2 { margin: 0 0 12px; font-family: Roboto, sans-serif; font-weight: 500; font-size: 34px; line-height: 40px; color: #6d7783; }
.blog-index .prose { color: #6d7783; font-size: 14px; line-height: 22px; }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.blog-tile { margin: 0; }
.blog-tile-link { position: relative; display: block; aspect-ratio: 1; overflow: hidden; color: #fff; }
.blog-tile-link img { width: 100%; height: 100%; object-fit: cover; }
.blog-tile-body { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 5%; background: linear-gradient(180deg, rgba(18,14,24,.05), rgba(18,14,24,.72)); }
.blog-tile-body h2 { margin: 0 0 8px; color: #fff; font-family: Roboto, sans-serif; font-size: 28px; font-weight: 500; line-height: 36px; }
.blog-tile-body p { margin: 0 0 10px; color: #fff; font-size: 14px; line-height: 1.45; }
.blog-tile-more { color: #fff; font-size: 14px; }
.blog-load { margin: 12px 0 0; text-align: left; }
.blog-load a { color: #6d7783; font-size: 14px; }
.blog-close { min-height: 650px; display: grid; place-items: center; text-align: center; background: #5e1d57; color: #fff; }
.blog-close-inner { width: min(1170px, calc(100% - 80px)); }
.blog-close h2 { margin: 0 0 30px; color: #fff; font-family: "Open Sans", sans-serif; font-weight: 300; font-size: 36px; line-height: 1.2; letter-spacing: 3px; }
.blog-close .prose { color: #fff; font-size: 16px; line-height: 1.7; }
.blog-close .btn { min-width: 300px; min-height: 50px; height: 50px; padding: 0 24px; border-radius: 10px; border: 1px solid #009cde; background: #009cde; color: #fff; font-family: Roboto, sans-serif; font-size: 16px; font-weight: 400; line-height: 48px; }
.blog-close .btn:hover { background: #b04c97; border-color: #b04c97; }
@media (max-width: 980px) {
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
  .blog-close-inner { width: calc(100% - 30px); }
}
@media (max-width: 767px) {
  .blog-index { width: calc(100% - 60px); }
  .blog-grid { grid-template-columns: 1fr; }
  .blog-close-inner { width: calc(100% - 30px); }
}
@media (max-width: 480px) {
  .blog-close h2 { font-size: 30px; line-height: 36px; letter-spacing: 1px; }
}
.page-hero h1 { font-size: clamp(28px, 4vw, 40px); margin: 8px 0 12px; }
.lede, .meta { color: var(--muted); }
.meta { display: flex; flex-wrap: wrap; gap: 8px 14px; font-size: 14px; }
.crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 0 0 8px; font-size: 13px; color: var(--muted); }
.crumbs li:not(:last-child)::after { content: "/"; margin-left: 6px; color: #c5ced6; }
.crumbs a { color: var(--muted); }
.prose h2 { font-size: 28px; margin: 1.4em 0 .4em; }
.prose h3 { font-size: 22px; margin: 1.2em 0 .4em; }
.prose h4 { font-size: 18px; }
.prose a { text-decoration: underline; text-underline-offset: 2px; }
.prose ul, .prose ol { padding-left: 1.2em; }
.prose img, .hero-figure img, .section-figure img { border-radius: 8px; }
.hero-figure { margin: 0 0 18px; }
.block { margin: 0 0 8px; }
.tags a { display: inline-block; margin: 0 6px 6px 0; padding: 4px 8px; background: var(--gray); border-radius: 999px; color: var(--ink); font-size: 13px; }

.card-list { display: grid; gap: 48px; }
.post-card { display: block; padding: 0 0 12px; }
.post-card-media { display: block; background: var(--gray); border-radius: 2px; overflow: hidden; }
.post-card-media img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.post-card-title { margin: 18px 0 8px; font-size: 28px; font-weight: 500; }
.post-card-title a { color: var(--ink); }
.post-card .btn { min-width: 140px; margin-top: 8px; }
.sidebar h2 { font-size: 16px; font-weight: 500; color: var(--muted); margin: 28px 0 12px; }
.sidebar ul { list-style: none; margin: 0; padding: 0; }
.sidebar li { border-bottom: 1px solid var(--line); }
.sidebar li a { display: block; padding: 10px 0; color: var(--muted); }
.sidebar .search-form { width: 100%; margin: 0; }
.with-side { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 36px; }
.sidebar { background: var(--gray); border-radius: 12px; padding: 18px; align-self: start; }
.sidebar h2 { margin-top: 0; font-size: 18px; }
.sidebar ul { list-style: none; margin: 0; padding: 0; }
.sidebar a { color: var(--ink); display: block; padding: 6px 0; }

.contact-grid { display: grid; grid-template-columns: 1.4fr .8fr; gap: 28px; align-items: start; }
.contact-page { padding-bottom: 0; }
.is-contact .page-shell.narrow.contact-page { width: min(1170px, calc(100% - 80px)); }
.is-contact .page-hero-photo.is-plain .hero-inner { padding: 0 0 30px; width: min(1410px, calc(100% - 30px)); }
.is-email .page-hero-photo.is-plain .hero-inner { padding: 0; width: min(1410px, calc(100% - 30px)); }
.rumr-blog-chrome .page-hero-photo.is-plain .hero-inner { padding: 0 0 32px; width: min(1410px, calc(100% - 30px)); }
.is-email .page-hero-photo .hero-slide:not(.is-active),
.rumr-blog-chrome .page-hero-photo .hero-slide:not(.is-active) { position: absolute; left: 0; right: 0; top: 0; }
.is-email .hero-cta { margin-top: 30px; }
.is-contact .page-hero-photo.is-plain h1,
.is-contact .page-hero-photo.is-plain .hero-slide-title,
.is-email .page-hero-photo.is-plain h1,
.is-email .page-hero-photo.is-plain .hero-slide-title,
.rumr-blog-chrome .page-hero-photo.is-plain h1,
.rumr-blog-chrome .page-hero-photo.is-plain .hero-slide-title {
  font-size: clamp(22px, calc((100vw - 30px) / 12), 72px); letter-spacing: 3px;
}
.is-email .page-hero-photo.is-plain .hero-slide-title { letter-spacing: 0; }
.is-contact .page-hero-photo.is-plain .hero-sub,
.is-email .page-hero-photo.is-plain .hero-sub { font-size: 20px; line-height: 30px; }
.is-email .page-hero-photo.is-plain .hero-sub { font-family: Roboto, sans-serif; font-weight: 400; margin: 32px 0 0; }
.page-hero-photo.is-cyan-btn .btn {
  width: auto; min-width: 300px; min-height: 50px; height: 50px; padding: 0;
  font-family: Roboto, sans-serif; font-size: 16px; font-weight: 400; line-height: 48px;
  border-radius: 10px; background: #009cde; border-color: #009cde; color: #fff;
}
.page-hero-photo.is-cyan-btn .btn:hover { background: #2f2933; border-color: #2f2933; }
.page-hero-photo.is-cyan-btn .btn-arrow {
  display: inline-block; width: 0; height: 16px; margin-left: 0; overflow: hidden; vertical-align: -2px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 11h12.2l-4.6-4.6L13 5l7 7-7 7-1.4-1.4 4.6-4.6H4z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 11h12.2l-4.6-4.6L13 5l7 7-7 7-1.4-1.4 4.6-4.6H4z'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: width .2s ease, margin-left .2s ease;
}
.page-hero-photo.is-cyan-btn .btn:hover .btn-arrow,
.page-hero-photo.is-cyan-btn .btn:focus-visible .btn-arrow { width: 16px; margin-left: 8px; }
.is-email .hero-dots { display: none; }
.email-article { display: block; }
.email-shell { padding-bottom: 0; }
.is-email .page-shell.narrow.email-shell { width: min(1170px, calc(100% - 80px)); }
.email-intro.block { margin: 0; padding: 80px 0; }
.page-template-landing .email-intro .prose { margin: 0 0 35px; text-align: left; font-size: 25px; line-height: 1.7; color: #6d7783; }
.page-template-landing .email-intro .prose p { margin: 0 0 17px; text-align: left; }
.page-template-landing .email-intro .prose p:first-child { text-align: center; }
.page-template-landing .email-intro.is-center .prose p { text-align: center; }
.page-template-landing .email-intro .prose p:last-child { margin-bottom: 0; }
.email-stories { background: #f4f4f4; padding: 60px 0 10px; }
.email-story-grid, .email-services-grid {
  width: min(1200px, calc(100% - 50px)); margin: 0 auto;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
}
.email-story { padding: 0 15px; }
.page-template-landing .email-story h2 {
  margin: 0 0 31px; text-align: left; color: #6d7783;
  font-family: Roboto, sans-serif; font-size: 34px; font-weight: 500; line-height: 40px;
}
.page-template-landing .email-story .prose { text-align: left; color: #6d7783; font-size: 15px; line-height: 24px; }
.page-template-landing .email-story .prose { margin: 0 0 35px; }
.page-template-landing .email-story .prose p { margin: 0; }
.email-stories { margin-bottom: 24px; }
.email-services { background: #f4f4f4; padding: 60px 0; }
.email-services .wrap { width: min(1170px, calc(100% - 80px)); }
.email-services h2 {
  margin: 0 0 30px; text-align: left; color: #6d7783;
  font-family: Roboto, sans-serif; font-size: 34px; font-weight: 500; line-height: 40px;
}
.email-services .service-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 35px auto 0; }
.email-services .service-cards.is-thirds { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.email-services { overflow: hidden; }
.email-services .service-card { display: block; background: transparent; border: 0; padding: 20px 15px 0; text-align: center; }
.email-services .service-card > a { display: block; }
.email-services .block-action { text-align: center; }
.email-services .service-icon {
  width: 200px; height: 200px; margin: 0 auto 45px; border-radius: 50%;
  background: #009cde; border: 1px solid #009cde; color: #fff; display: grid; place-items: center;
}
.email-services .service-card .service-icon { color: #fff; }
.email-services .service-icon .icon { width: 42px; height: 42px; stroke-width: 2.4; }
.email-services .service-card:hover .service-icon {
  background: #fff; color: #2a2d2e; border-color: #ededed; box-shadow: 0 0 15px #e8e8e8;
}
.email-services .service-card h3 { margin: 0 0 22px; }
.email-services .service-card p { margin: 0 0 22px; color: #6d7783; font-size: 14px; line-height: 24px; }
.email-services .service-card .more {
  width: 200px; min-width: 200px; min-height: 64px; height: 64px; padding: 0; border: 0; border-radius: 10px;
  background: #3a78ff; color: #fff; font-family: Roboto, sans-serif; font-size: 14px; font-weight: 700;
  line-height: 64px; text-transform: uppercase;
}
.email-services .service-card:hover .more,
.email-services .service-card .more:hover { background: #4251f4; color: #fff; }
.contact-intro { padding: 80px 0 80px; }
.contact-intro .block,
.contact-intro .prose { text-align: center; font-size: 25px; line-height: 1.7; color: #6d7783; }
.contact-intro .prose { margin: 0 0 35px; }
.contact-intro .prose p { margin: 0; }
.contact-intro h2.screen-reader { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.contact-form-band { background: #dddddd; padding: 16px 0 26px; }
.contact-form-wrap { width: 50%; margin: 0 0 0 25%; }
.contact-form-wrap .form-card { background: transparent; border: 0; border-radius: 0; padding: 0; }
.contact-form-wrap h3 {
  font-family: Roboto, sans-serif; font-size: 18.75px; font-weight: 700;
  line-height: 36px; color: #293340; margin: 0 0 6px; text-align: left;
}
.contact-form-wrap .form-desc { margin: 0 0 21px; font-size: 15px; line-height: 24px; color: #6d7783; text-align: left; }
.contact-form-wrap .name-sub legend { line-height: 20px; }
.contact-form-wrap .req { color: #790000; font-weight: 700; }
.contact-form-wrap .rumr-form label,
.contact-form-wrap .rumr-form legend { display: block; color: #6d7783; font-size: 15px; font-weight: 700; line-height: 20px; }
.contact-form-wrap .rumr-form p { margin: 0 0 22px; }
.contact-form-wrap .rumr-form .message-label { margin-bottom: 0; }
.contact-form-wrap .rumr-form p:has(.message-label) { margin-bottom: 0; }
.contact-form-wrap .rumr-form > p:last-child { margin: 54px 0 0; }
.contact-form-wrap .name-sub { margin: 0 0 31px; border: 0; padding: 0; }
.contact-form-wrap .name-sub legend { margin: 0; }
.contact-form-wrap .name-sub p { margin: 0; }
.contact-form-wrap .name-sub label { font-size: 12px; font-weight: 400; line-height: 24px; margin: 1px 0 0; }
.contact-form-wrap .rumr-form .split { width: calc(100% - 16px); gap: 16px; align-items: start; grid-auto-rows: min-content; }
.contact-form-wrap .rumr-form input,
.contact-form-wrap .rumr-form textarea {
  display: block; width: calc((100% - 32px) / 2); height: 36px; margin-top: 9px; padding: 5px 4px;
  border: 1px solid #edf0f7; border-radius: 0; background: #fff; font-weight: 400; font-size: 15px;
}
.contact-form-wrap .name-sub input { width: 100%; }
.contact-form-wrap .rumr-form textarea {
  width: calc(100% - 16px); height: 160px; margin-top: 9px; padding: 6px 8px;
}
.contact-form-wrap .btn {
  width: 76px; min-width: 0; min-height: 0; height: 26px; padding: 1px 0; border-radius: 0; text-align: center;
  background: #efefef; border-color: #efefef; color: #666;
  font-family: "Open Sans", sans-serif; font-size: 14px; font-weight: 400; line-height: 24px;
}
.contact-form-wrap .btn::after { content: none; }
.contact-form-wrap .btn:hover { background: #e2e2e2; border-color: #e2e2e2; color: #333; }
@media (max-width: 980px) {
  .is-contact .page-shell.narrow.contact-page,
  .is-email .page-shell.narrow.email-shell,
  .email-services .wrap,
  .email-cta .wrap,
  .band-quotes.is-email-reviews > .wrap { width: min(1170px, calc(100% - 30px)); }
  .is-contact .page-hero-photo.is-plain .hero-inner,
  .is-email .page-hero-photo.is-plain .hero-inner { padding: 0; }
  .email-story-grid, .email-services-grid { width: 100%; }
}
@media (max-width: 980px) and (min-width: 641px) {
  .is-contact .page-hero-photo.is-plain .hero-inner { padding-top: 36px; }
}
@media (max-width: 767px) {
  .contact-form-wrap { width: 100%; margin: 0; }
}
@media (max-width: 640px) {
  .contact-form-wrap .rumr-form .split { grid-template-columns: 1fr; width: 100%; gap: 8px; }
  .contact-form-wrap .rumr-form input,
  .contact-form-wrap .rumr-form textarea { width: 100%; height: 42px; }
  .contact-form-wrap .rumr-form textarea { height: 120px; }
}
.form-card, .contact-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 22px; }
.rumr-form fieldset { border: 0; margin: 0 0 8px; padding: 0; }
.rumr-form legend { font-weight: 600; font-size: 14px; padding: 0; }
.rumr-form .split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rumr-form label { display: grid; gap: 6px; font-weight: 600; font-size: 14px; }
.rumr-form .check label { font-weight: 400; display: flex; gap: 8px; align-items: flex-start; }
.rumr-hp { position: absolute; left: -9999px; }
.form-note { background: #e8f7ef; padding: 10px 12px; border-radius: 8px; }

.site-footer { background: var(--footer); color: #aeb7c1; padding-top: 56px; }
.site-footer h2 {
  font-family: Roboto, sans-serif; font-size: 15px; font-weight: 700; line-height: 24px;
  color: #aeb7c1; text-transform: none; margin: 0 0 17px;
}
.site-footer a { color: #fff; }
.site-footer a:hover { color: #3a78ff; }
.footer-grid {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 40px; padding-bottom: 48px;
}
.footer-grid > div { flex: 1 1 0; min-width: 0; }
.footer-links { list-style: none; margin: 0; padding: 0; }
.footer-links a { display: inline-block; padding: 4px 0; }
.footer-badges {
  display: flex; flex-direction: row; align-items: center; justify-content: flex-end;
  gap: 28px; flex: 0 1 auto;
}
.footer-badges img { background: #fff; border-radius: 4px; padding: 0; width: auto; height: 80px; max-width: none; }
.footer-sub { background: var(--footer-sub); color: var(--muted); padding: 20px 0; min-height: 40px; font-size: 14px; }

.navigation.pagination, .page-shell .nav-links, .page-shell > .page-numbers { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 22px; }
.page-numbers { display: inline-flex; min-width: 36px; min-height: 36px; align-items: center; justify-content: center; border-radius: 8px; background: var(--gray); color: var(--ink); padding: 0 10px; }
.page-numbers.current { background: var(--purple); color: #fff; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
}

@media (max-width: 1100px) {
  .service-grid { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 980px) {
  :root { --header-h: 60px; }
  .nav-toggle {
    display: inline-grid; place-items: center; margin-left: auto;
    width: 20px; height: 60px; padding: 0; color: #6d7783;
  }
  .search-toggle { display: none; }
  .site-nav {
    display: none; position: absolute; top: 60px; left: 0; right: 0; background: #fff;
    border-bottom: 1px solid var(--line); max-height: calc(100vh - 60px); overflow: auto;
    padding: 0; flex-direction: column; align-items: stretch; z-index: 40;
  }
  .site-header.is-open .site-nav { display: flex; }
  .header-contact.is-bar { display: none; }
  .site-header.is-open .header-contact.is-menu { display: none; }
  .menu { flex-direction: column; align-items: stretch; width: 100%; gap: 0; }
  .menu a {
    box-sizing: border-box; min-height: 45px; width: 100%; justify-content: flex-start;
    font-family: Roboto, sans-serif; font-size: 15px; font-weight: 700; line-height: 24px;
    letter-spacing: 0; text-transform: none; color: #293340;
    padding: 10px 36px 10px 15px; border-top: 1px solid #f7f9fb;
  }
  .menu > li { border-bottom: 0; position: relative; }
  .menu li.menu-item-has-children > a::after { content: none; }
  .sub-menu, .sub-menu .sub-menu {
    position: static; opacity: 1; visibility: visible; transform: none;
    box-shadow: none; display: none; padding: 0; min-width: 0; border-radius: 0;
  }
  .menu > li.is-open > .sub-menu, .sub-menu li.is-open > .sub-menu { display: block; }
  .sub-menu a { font-size: 14px; font-weight: 500; color: #617186; padding-left: 30px; }
  .sub-menu .sub-menu a { padding-left: 45px; }
  .menu > li.is-open > a,
  .sub-menu li.is-open > a { color: #4251f4; }
  .menu > li.current-menu-item { border-left: 2px solid #3a78ff; }
  .menu > li.current-menu-item > a,
  .menu > li.current-menu-ancestor > a { color: #3a78ff; }
  .submenu-toggle {
    display: block; position: absolute; right: 0; top: 0; width: 40px; height: 45px;
    padding: 0; color: #293340; cursor: pointer;
  }
  .submenu-toggle::before, .submenu-toggle::after {
    content: ""; position: absolute; right: 15px; top: 50%; width: 12px; height: 2px;
    margin-top: -1px; background: currentColor; border: 0; transform: none;
  }
  .submenu-toggle::after { transform: rotate(-90deg); }
  .menu > li.is-open > .submenu-toggle,
  .sub-menu li.is-open > .submenu-toggle { color: #4251f4; }
  .menu > li.is-open > .submenu-toggle::before,
  .menu > li.is-open > .submenu-toggle::after,
  .sub-menu li.is-open > .submenu-toggle::before,
  .sub-menu li.is-open > .submenu-toggle::after { transform: rotate(0deg); }
  .site-header.is-open .nav-toggle-lines { background: transparent; }
  .site-header.is-open .nav-toggle-lines::before,
  .site-header.is-open .nav-toggle-lines::after { top: 0; opacity: 1; }
  .site-header.is-open .nav-toggle-lines::before { transform: rotate(45deg); }
  .site-header.is-open .nav-toggle-lines::after { transform: rotate(-45deg); }
  body.home .site-header.is-top,
  body.has-hero .site-header.is-top { position: sticky; background: #fff; }
  body.home .site-header.is-top .logo-white,
  body.has-hero .site-header.is-top .logo-white { display: none; }
  body.home .site-header.is-top .logo-dark,
  body.has-hero .site-header.is-top .logo-dark { display: block; }
  body.home .site-header.is-top .menu > li > a,
  body.home .site-header.is-top .search-toggle,
  body.home .site-header.is-top .nav-toggle,
  body.has-hero .site-header.is-top .menu > li > a,
  body.has-hero .site-header.is-top .search-toggle,
  body.has-hero .site-header.is-top .nav-toggle { color: var(--muted); }
  body.home .topbar,
  body.home .topbar.is-stuck { position: static; background: var(--purple); color: #fff; }
  body.home .site-header.is-top,
  body.home .site-header.is-stuck,
  body.has-hero .site-header.is-top {
    position: sticky; top: 0; height: var(--header-h); background: #fff; border-color: rgba(235,235,235,.8);
  }
  body.home .site-header.is-top .menu > li > a,
  body.home .site-header.is-stuck .menu > li > a,
  body.has-hero .site-header.is-top .menu > li > a,
  body.has-hero .site-header.is-stuck .menu > li > a { color: #293340; min-height: 45px; box-shadow: none; }
  body.home .site-header.is-top .menu > li.is-open > a,
  body.home .site-header.is-stuck .menu > li.is-open > a,
  body.has-hero .site-header.is-top .menu > li.is-open > a,
  body.has-hero .site-header.is-stuck .menu > li.is-open > a { color: #4251f4; }
  body.home .site-header.is-top .menu > li.current-menu-item > a,
  body.home .site-header.is-stuck .menu > li.current-menu-item > a,
  body.has-hero .site-header.is-top .menu > li.current-menu-item > a,
  body.has-hero .site-header.is-stuck .menu > li.current-menu-item > a,
  body.home .site-header.is-top .menu > li.current-menu-ancestor > a,
  body.has-hero .site-header.is-top .menu > li.current-menu-ancestor > a { color: #3a78ff; }
  body.home .site-header.is-top .nav-toggle,
  body.home .site-header.is-stuck .nav-toggle,
  body.has-hero:not(.home) .site-header.is-top .nav-toggle,
  body.has-hero:not(.home) .site-header.is-stuck .nav-toggle { color: #6d7783; }
  body.home .site-header.is-stuck .logo img,
  body.home .site-header.is-top .logo img { width: auto; height: 51px; max-height: 51px; max-width: 110px; object-fit: contain; }
  body.has-hero:not(.home) .topbar,
  body.has-banner .topbar { display: none; }
  body.has-hero:not(.home) .site-header.is-top,
  body.has-hero:not(.home) .site-header.is-stuck {
    position: sticky; top: 0; left: auto; right: auto; height: 60px;
    background: #fff; z-index: 60;
  }
  body.has-hero:not(.home) .site-header.is-top .logo img,
  body.has-hero:not(.home) .site-header.is-stuck .logo img {
    width: auto; height: 51px; max-height: 51px; max-width: 110px; object-fit: contain;
  }
  body.has-hero:not(.home) .site-header.is-top .logo-white,
  body.has-hero:not(.home) .site-header.is-stuck .logo-white { display: none; }
  body.has-hero:not(.home) .site-header.is-top .logo-dark,
  body.has-hero:not(.home) .site-header.is-stuck .logo-dark { display: block; }
  body.has-hero:not(.home) .site-header.is-top .nav-toggle,
  body.has-hero:not(.home) .site-header.is-top .search-toggle,
  body.has-hero:not(.home) .site-header.is-stuck .nav-toggle { color: #6d7783; }
  .with-side, .contact-grid, .post-card { grid-template-columns: 1fr; }
  .footer-grid { flex-direction: column; gap: 28px; }
  .footer-badges { justify-content: flex-start; }
  body.home .topbar { display: none; }
  body.home .hero { height: auto; min-height: 70vh; padding: 48px 15px 40px; }
  body.home .band > .wrap,
  body.home .band-quotes > .wrap,
  body.home .band-purple > .wrap,
  body.home .band-cyan > .wrap { width: calc(100% - 30px); }
  body.home .band-gray > .wrap,
  body.home .service-grid.wrap { width: 100%; }
  .page-hero-photo h1, .page-hero-photo .hero-slide-title { font-size: 40px; line-height: 1.15; }
  .page-hero-photo { min-height: 70vh; }
  .page-template-landing .prose, .page-template-landing .block { font-size: 18px; line-height: 1.45; }
  .band-quotes.is-page { min-height: 0; }
  .hero .btn, .band-purple .btn, .band-cyan .btn { min-width: 0; width: min(300px, 100%); }
  .why .btn { font-size: 18px; }
  h2 { font-size: 28px; }
}
@media (max-width: 767px) {
  .cards-4, .service-grid, body.home .split-intro { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .rumr-form .split { grid-template-columns: 1fr; }
  .topbar-inner { justify-content: center; text-align: center; }
  .band { padding: 48px 0; }
  body.home .band { padding: 60px 0; }
  body.home .hero + .band { padding-bottom: 0; }
  body.home .band-quotes, body.home .band-purple, body.home .band-cyan { padding: 80px 0; }
  body.home .band:has(.service-grid) { padding: 0; }
}

body:not(.has-hero) .page-hero-photo.is-compact { min-height: 75vh; }
body:not(.has-hero) .page-hero-photo.is-compact .hero-inner { padding: 48px 16px; }
body:not(.has-hero) .page-hero-photo.is-compact .hero-sub {
  margin-top: 32px; font-family: "Open Sans", sans-serif; font-weight: 400;
  font-size: 20px; line-height: 30px; color: #fff;
}
.workation-shell { padding-top: 0; padding-bottom: 0; }
.workation-article { display: block; }
.workation-layout {
  display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 30px; align-items: start; width: 100%;
}
.workation-main { padding: 80px 8px 60px 0; }
.workation-after { padding: 80px 0; }
.page-template-landing .workation-main .block,
.page-template-landing .workation-main .prose,
.page-template-landing .workation-aside .block,
.page-template-landing .workation-aside .prose,
.page-template-landing .workation-after .block,
.page-template-landing .workation-after .prose {
  text-align: left; font-size: 16px; line-height: 1.7; color: #5a6570;
}
.page-template-landing .workation-main .block,
.page-template-landing .workation-main .prose,
.page-template-landing .workation-after .block,
.page-template-landing .workation-after .prose { color: #6d7783; }
.page-template-landing .workation-main h2,
.page-template-landing .workation-main .prose h2,
.page-template-landing .workation-aside h2,
.page-template-landing .workation-aside .prose h2,
.page-template-landing .workation-after h2,
.page-template-landing .workation-after .prose h2 {
  font-family: Roboto, sans-serif; font-weight: 500; font-size: 34px; line-height: 40px;
  text-align: left; color: #6d7783; margin: 22px 0 31px;
}
.page-template-landing .workation-main .block:first-child h2 { margin-top: 0; }
.page-template-landing .workation-after h3,
.page-template-landing .workation-after .prose h3 {
  font-family: Roboto, sans-serif; font-weight: 500; font-size: 22px; line-height: 1.35;
  text-align: left; color: #6d7783; margin: 26px 0 14px;
}
.workation-aside {
  background: #b5b5b5; color: #2a2d2e; padding: 40px 22px 32px;
}
.workation-aside .form-card { background: transparent; border: 0; border-radius: 0; padding: 0; }
.workation-aside h3 {
  font-family: "Open Sans", sans-serif; font-size: 22px; font-weight: 400;
  line-height: 1.3; text-align: left; color: #2a2d2e; margin: 0 0 8px;
}
.workation-aside .form-desc { margin: 0 0 16px; font-size: 16px; line-height: 1.5; color: #2a2d2e; }
.page-template-landing .workation-aside .prose,
.page-template-landing .workation-aside h2,
.page-template-landing .workation-aside .prose h2,
.page-template-landing .workation-aside .prose strong { color: #2a2d2e; }
.workation-aside .rumr-form label,
.workation-aside .rumr-form legend { color: #2a2d2e; font-weight: 600; }
.workation-aside .rumr-form input {
  border-radius: 2px; padding: 6px 8px; min-height: 36px; background: #fff; border-color: #ddd;
}
.workation-aside .name-sub { margin-bottom: 12px; }
.workation-aside .name-sub legend { font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.workation-aside .name-sub label { font-weight: 400; font-size: 13px; color: #555; }
.workation-aside .name-sub input { margin-bottom: 4px; }
.workation-aside .rumr-form input[type="tel"],
.workation-aside .rumr-form input[type="email"] { max-width: 180px; }
.workation-aside .btn {
  min-height: 0; min-width: 0; height: auto; padding: 1px 6px; border: 0; border-radius: 2px;
  background: #e6e6e6; color: #333;
  font-size: 14px; font-weight: 400; line-height: 24px;
}
.workation-aside .btn::after { content: none; }
.workation-aside .btn:hover { background: #d5d5d5; border-color: #bbb; color: #222; }
.band-quotes.is-photo {
  background: #4c4c4c var(--review-photo) center / cover no-repeat;
  min-height: 0; padding: 48px 0 56px; position: relative;
}
.band-quotes.is-photo::before { content: none; }
.band-quotes.is-photo > .wrap {
  position: relative; z-index: 1; background: rgba(0, 0, 0, 0.44);
  width: min(1170px, calc(100% - 48px)); padding: 48px 36px 20px;
}
.band-quotes.is-photo h2 {
  font-family: "Open Sans", sans-serif; font-weight: 400; font-size: 36px;
  line-height: 1.2; text-align: center; margin: 0 0 48px; color: #fff;
}
.band-quotes.is-photo .quotes { text-align: left; min-height: 0; }
.band-quotes.is-photo .quote p {
  font-style: italic; font-weight: 300; font-size: 22px; line-height: 1.45; padding-left: 42px;
}
.band-quotes.is-photo .quote footer { padding: 10px 0 0 42px; }
.band-quotes.is-photo .quote footer::before { content: none; }
.band-quotes.is-photo .quote footer strong,
.band-quotes.is-photo .quote footer span {
  display: inline; font-size: 16px; font-weight: 400; font-style: italic; line-height: 1.4;
}
.band-quotes.is-photo .quote footer strong::before { content: "— "; }
.band-quotes.is-photo .quote footer span::before { content: " - "; }
.band-quotes.is-photo .quote-controls { justify-content: center; margin-top: 36px; }
.band-quotes.is-photo .quote-dots button {
  background-image: radial-gradient(circle, #c3c3c3 4.5px, transparent 5px);
}
.band-quotes.is-photo .quote-dots button.is-active {
  background-image: radial-gradient(circle, #111 4.5px, transparent 5px);
}
.workation-services { background: #f4f4f4; padding: 80px 0 50px; }
.workation-services > .wrap { width: min(1170px, calc(100% - 40px)); margin: 0 auto; }
.page-template-landing .workation-services .block,
.page-template-landing .workation-services .prose,
.page-template-landing .workation-services h2,
.page-template-landing .workation-services .prose h2,
.page-template-landing .workation-services .prose p { text-align: center; }
.page-template-landing .workation-services h2,
.page-template-landing .workation-services .prose h2 {
  font-family: "Open Sans", sans-serif; font-weight: 400; font-size: 36px;
  line-height: 1.2; color: #2a2d2e; margin: 0 0 18px;
}
.page-template-landing .workation-services .prose { font-size: 16px; line-height: 1.7; color: #5a6570; }
.service-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-top: 28px; }
.service-card {
  background: #fff; border: 1px solid #edf0f7; padding: 80px 15% 48px; text-align: center;
}
.service-card .service-icon { color: #b9b9b9; margin-bottom: 40px; }
.service-card .icon { width: 64px; height: 64px; }
.service-card h3 {
  margin: 0 0 22px; font-family: Roboto, sans-serif; font-size: 16px; font-weight: 600;
  line-height: 24px; color: #293340;
}
.service-card p { margin: 0 0 12px; color: #6d7783; font-size: 14px; line-height: 24px; }
.service-card .more {
  color: #293340; font-size: 14px; font-weight: 700; line-height: 40px;
  text-transform: uppercase; text-decoration: none;
}
.service-card:hover .service-icon { color: #5e1d57; }
.service-card:hover .more { color: #3a78ff; }
@media (max-width: 900px) {
  .service-cards { grid-template-columns: 1fr; }
  .service-card { padding: 48px 12% 32px; }
}
@media (max-width: 760px) {
  .workation-layout { grid-template-columns: 1fr; }
  .workation-main { padding: 36px 0 12px; }
  .band-quotes.is-photo h2 { font-size: 26px; margin-bottom: 28px; }
}

.page-hero-photo.is-plain { min-height: 80vh; }
.page-hero-photo.is-plain::before { content: none; }
.page-hero-photo.is-plain > .hero-photo { object-position: center center; }
.page-hero-photo.is-plain .hero-inner { padding: 90px 16px 70px; }
.page-hero-photo.is-plain h1,
.page-hero-photo.is-plain .hero-slide-title {
  font-weight: 300; font-size: 72px; line-height: 1.2; letter-spacing: 3px;
}
.page-hero-photo.is-plain .hero-sub {
  margin: 32px auto 0; font-weight: 400;
  font-size: 20px; line-height: 30px;
}
.ga4-article { display: block; }
.ga4-shell { padding-top: 80px; padding-bottom: 20px; }
.page-template-landing .ga4-intro .prose {
  text-align: center; font-size: 25px; line-height: 1.7; color: #6d7783;
}
.ga4-rule {
  display: block; width: 150px; height: 2px; margin: 20px auto;
  background: #3a78ff;
}
.ga4-split-grid, .ga4-form-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start;
}
.page-template-landing .ga4-split h2,
.page-template-landing .ga4-form h2 {
  text-align: left; font-size: 34px; font-weight: 500; color: #6d7783; margin: 0 0 14px;
}
.page-template-landing .ga4-split .prose,
.page-template-landing .ga4-form .prose {
  text-align: left; font-size: 18px; line-height: 1.8; color: #6d7783;
}
.ga4-article .section-figure { margin: 0; }
.ga4-article .section-figure img { width: 100%; height: auto; border-radius: 0; display: block; }
.offer-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; margin: 8px 0 28px; }
.offer-card {
  background: #eaeaea; padding: 40px 22px; text-align: center; color: #6d7783;
}
.offer-card:hover { background: #fff; }
.offer-icon { margin: 0 0 20px; color: #3a78ff; }
.offer-card:hover .offer-icon { color: #4251f4; }
.offer-card .icon { width: 40px; height: 40px; }
.page-template-landing .offer-card h3 {
  margin: 0 0 20px; font-family: Raleway, sans-serif; font-size: 14px; font-weight: 700;
  line-height: 24px; letter-spacing: 0; text-transform: uppercase; color: #293340;
}
.page-template-landing .offer-card .prose {
  text-align: center; font-size: 14px; line-height: 24px; color: #6d7783;
}
.offer-card .prose u { text-underline-offset: 2px; }
.ga4-form, .ga4-form .form-card, .ga4-form .rumr-form, .ga4-form label, .ga4-form legend { text-align: left; }
.ga4-form .form-card { background: transparent; border: 0; border-radius: 0; padding: 8px 0 0; }
.ga4-form .rumr-form label, .ga4-form .rumr-form legend { display: block; color: #2a2d2e; font-weight: 700; font-size: 15px; }
.ga4-form .rumr-form input, .ga4-form .rumr-form select { display: block; width: 100%; margin-top: 6px; }
.ga4-form .req { color: #c45c26; font-weight: 500; font-style: italic; margin-left: 4px; }
.ga4-form .name-sub { margin-bottom: 12px; }
.ga4-form .name-sub label { font-weight: 400; font-size: 13px; color: #666; text-align: left; }
.ga4-form .name-sub input { margin-bottom: 4px; }
.ga4-form select {
  width: 100%; min-height: 44px; margin-top: 6px; padding: 8px 12px;
  border: 1px solid #d5d5d5; border-radius: 2px; background: #fff; font: inherit; color: #333;
}
.ga4-form .check label { display: flex; align-items: flex-start; gap: 8px; font-weight: 400; }
.ga4-form .check input { width: auto; margin: 3px 0 0; }
.ga4-form .privacy-link { margin: 8px 0 16px; }
.ga4-form .privacy-link a { color: #1a73b8; text-decoration: underline; }
.ga4-form .btn {
  width: 100%; min-height: 46px; border-radius: 2px; background: #f4f4f4;
  border: 1px solid #e2e2e2; color: #555; font-size: 16px; font-weight: 400; text-transform: none;
}
.ga4-form .btn::after { content: none; }
.ga4-form .btn:hover { background: #e8e8e8; border-color: #ccc; color: #222; }
.pillar-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pillar { padding: 48px 32px 56px; color: #fff; }
.pillar-missie { background: #663366; }
.pillar-belofte { background: #936493; }
.pillar-doelen { background: #b04c97; }
.page-template-landing .pillar h3 {
  margin: 0 0 12px; text-align: left; color: #fff;
  font-family: "Open Sans", sans-serif; font-size: 16px; font-weight: 600;
}
.is-email .pillar { padding: 0; }
.is-email .pillar h3 {
  margin: 0; padding: 10% 10% 23px; line-height: 32px; font-weight: 600;
}
.is-email .pillar .prose { padding: 0 10% 10%; }
.page-template-landing .pillar .prose,
.page-template-landing .pillar .prose p {
  text-align: left; color: #fff; font-size: 15px; line-height: 1.65;
}
.band-quotes.is-cover {
  background: #f4f4f4 var(--review-photo) center / cover no-repeat;
  min-height: 0; padding: 80px 0; position: relative;
}
.band-quotes.is-cover::before {
  content: ""; position: absolute; inset: 0; background: rgba(20, 16, 24, 0.28);
}
.band-quotes.is-cover > .wrap { position: relative; z-index: 1; }
.band-quotes.is-cover h2 {
  font-family: "Open Sans", sans-serif; font-weight: 400; font-size: 36px;
  text-align: center; color: #fff; margin: 0 0 28px;
}
.band-quotes.is-cover .quote p { color: #fff; font-size: 18px; line-height: 1.6; }
.band-quotes.is-cover .quote footer, .band-quotes.is-cover .quote footer strong,
.band-quotes.is-cover .quote footer span { color: #fff; }
.ga4-cta {
  background: #0a9ddd; color: #fff; text-align: center;
  min-height: 450px; display: flex; align-items: center; padding: 64px 16px;
}
.ga4-cta .wrap { width: min(1170px, calc(100% - 40px)); }
.ga4-cta .ga4-kicker {
  margin: 0 0 12px; font-family: "Open Sans", sans-serif; font-weight: 300;
  font-size: 36px; line-height: 1.2; letter-spacing: 3px; color: #fff;
}
.page-template-landing .ga4-cta h2 {
  font-family: "Open Sans", sans-serif; font-weight: 300; font-size: 72px;
  line-height: 1.2; letter-spacing: 0; color: #fff; text-align: center; margin: 0 0 18px;
}
.page-template-landing .ga4-cta .prose,
.page-template-landing .ga4-cta .prose p {
  color: #fff; text-align: center; font-size: 18px; line-height: 1.6;
}
.ga4-cta .btn {
  min-width: 300px; min-height: 70px; margin-top: 8px; border: 0; border-radius: 10px;
  background: #5e1d57; font-size: 20px; font-weight: 700; text-transform: uppercase;
}
.ga4-cta .btn:hover { background: #4251f4; border-color: #4251f4; }
.email-cta { padding: 80px 0; }
.email-cta .wrap { width: min(1170px, calc(100% - 80px)); }
.email-cta .ga4-kicker { margin: 0; font-size: clamp(22px, calc((100vw - 30px) / 12), 36px); }
.page-template-landing .email-cta h2 {
  font-size: clamp(22px, calc((100vw - 30px) / 12), 72px); margin: 0 0 50px;
}
.page-template-landing .email-cta .prose,
.page-template-landing .email-cta .prose p { margin: 0; color: #fff; font-size: 18px; line-height: 24px; text-align: center; }
.email-cta .block-action { margin: 20px 0 0; line-height: 0; }
.email-cta .btn { margin-top: 0; }
.band-quotes.is-email-reviews { padding: 80px 0; }
.band-quotes.is-email-reviews > .wrap { width: min(1170px, calc(100% - 80px)); padding-inline: 0; }
.band-quotes.is-email-reviews h2 {
  margin: 0 0 65px; font-weight: 400;
  font-size: clamp(22px, calc((100vw - 30px) / 12), 36px);
}
.band-quotes.is-email-reviews .quote p {
  font-family: Roboto, sans-serif; font-weight: 300; font-size: 24px; line-height: 40px;
  padding: 0 0 0 40px; margin: 0 0 18px; text-align: left; color: #fff;
}
.band-quotes.is-email-reviews .quote footer strong {
  font-family: Roboto, sans-serif; font-size: 16px; font-weight: 700; font-style: normal;
}
@media (max-width: 980px) {
  .offer-row { grid-template-columns: 1fr 1fr; }
  .page-hero-photo.is-plain h1,
  .page-hero-photo.is-plain .hero-slide-title { font-size: 48px; }
  .page-template-landing .ga4-cta h2 { font-size: 48px; }
  .ga4-cta .ga4-kicker { font-size: 26px; }
}
@media (max-width: 760px) {
  .ga4-split-grid, .ga4-form-grid, .pillar-row, .offer-row { grid-template-columns: 1fr; }
  .page-hero-photo.is-plain h1,
  .page-hero-photo.is-plain .hero-slide-title { font-size: 36px; letter-spacing: 1px; }
  .page-hero-photo.is-plain .hero-sub { font-size: 16px; line-height: 24px; }
  .page-template-landing .ga4-intro .prose { font-size: 18px; }
  .email-services .service-cards,
  .email-services .service-cards.is-thirds,
  .email-story-grid { grid-template-columns: 1fr; }
  .email-story-grid { width: calc(100% - 30px); }
  .email-story { padding: 0; }
  .page-template-landing .ga4-cta h2 { font-size: 32px; }
  .ga4-cta { min-height: 0; }
  .ga4-cta .btn { min-width: 0; width: min(300px, 100%); }
  .email-services-grid { width: calc(100% - 30px); }
}
.email-cta .ga4-kicker { font-size: clamp(22px, calc((100vw - 30px) / 12), 36px); }
.page-template-landing .email-cta h2 { font-size: clamp(22px, calc((100vw - 30px) / 12), 72px); }
@media (max-width: 980px) {
  .email-cta .wrap,
  .band-quotes.is-email-reviews > .wrap { width: calc(100% - 30px); }
}

.page-hero-photo.is-course { min-height: 75vh; }
.page-hero-photo.is-course::before { content: none; }
.page-hero-photo.is-course > .hero-photo { object-position: center center; }
.page-hero-photo.is-course .hero-inner { padding: 48px 16px; transform: translateY(24px); }
.page-hero-photo.is-course h1 {
  font-family: "Open Sans", sans-serif; font-weight: 300;
  font-size: 36px; line-height: 1.2; letter-spacing: 3px;
}
.page-hero-photo.is-course .hero-sub {
  margin: 18px auto 30px; max-width: 820px;
  font-family: "Open Sans", sans-serif; font-weight: 400;
  font-size: 20px; line-height: 30px; color: #fff;
}
.page-hero-photo.is-course .btn {
  width: 300px; min-width: 300px; min-height: 50px; height: 50px; padding: 0 18px;
  box-sizing: border-box; font-family: Roboto, sans-serif; font-size: 16px; font-weight: 400;
  line-height: 48px; border-radius: 10px;
  background: #009cde; border-color: #009cde; color: #fff;
}
.page-hero-photo.is-course .btn:hover { background: #2f2933; border-color: #2f2933; }
.page-hero-photo.is-course .btn-arrow {
  width: 16px; height: 16px; margin-left: 8px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 11h12.2l-4.6-4.6L13 5l7 7-7 7-1.4-1.4 4.6-4.6H4z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 11h12.2l-4.6-4.6L13 5l7 7-7 7-1.4-1.4 4.6-4.6H4z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.workshop-shell { padding-top: 0; padding-bottom: 0; }
.page-shell.narrow.workshop-top { width: min(1200px, calc(100% - 40px)); }
.workshop-article { display: block; }
.workshop-layout {
  display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 0; align-items: start; margin-top: 28px;
}
.workshop-main { padding: 80px 15px 80px; }
.page-template-landing .workshop-main .block,
.page-template-landing .workshop-main .prose {
  text-align: left; font-size: 25px; line-height: 1.7; color: #6d7783;
}
.page-template-landing .workshop-main h2,
.page-template-landing .workshop-main .prose h2 {
  font-family: Roboto, sans-serif; font-weight: 500; font-size: 34px; line-height: 40px;
  text-align: left; color: #6d7783; margin: 22px 0 16px;
}
.workshop-aside { padding: 40px 15px; }
.workshop-aside .form-card { margin: 16px 0; }
.workshop-aside .rumr-form { margin-top: 16px; }
.workshop-aside .rumr-form > p:last-child { margin: 47px 0 0; padding: 16px 0 10px; }
.workshop-aside h3 {
  font-family: Roboto, sans-serif; font-size: 18.75px; font-weight: 700;
  line-height: 36px; color: #293340; margin: 0 0 6px;
}
.workshop-aside .form-desc { margin: 0 0 17px; font-size: 15px; line-height: 24px; color: #6d7783; }
.workshop-aside .rumr-form label,
.workshop-aside .rumr-form legend { color: #6d7783; font-size: 15px; font-weight: 700; }
.workshop-aside .name-sub label { font-weight: 400; font-size: 13px; color: #6d7783; }
.workshop-aside .rumr-form input {
  height: 36px; min-height: 36px; border: 1px solid #edf0f7; border-radius: 0; background: #fff;
}
.workshop-aside .name-sub { min-width: 0; max-width: 100%; }
.workshop-aside .name-sub .split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; min-width: 0; max-width: 100%; }
.workshop-aside .name-sub input { width: 100%; max-width: 169px; min-width: 0; }
.workshop-aside .rumr-form input[type="tel"],
.workshop-aside .rumr-form input[type="email"] { width: 100%; max-width: 169px; }
.workshop-aside .btn {
  width: auto; min-width: 0; height: 26px; min-height: 0; padding: 1px 6px; border-radius: 0;
  background: #efefef; border-color: #efefef; color: #666;
  font-family: "Open Sans", sans-serif; font-size: 14px; font-weight: 400; line-height: 24px;
}
.workshop-aside .btn:hover { background: #e2e2e2; border-color: #e2e2e2; color: #333; }
.workshop-story { background: #fff; }
.workshop-story .workshop-shell { padding: 80px 0; }
.page-template-landing .workshop-story .block,
.page-template-landing .workshop-story .prose {
  text-align: left; font-size: 15px; line-height: 24px; color: #6d7783;
}
.page-template-landing .workshop-story h2,
.page-template-landing .workshop-story .prose h2 {
  font-family: Roboto, sans-serif; font-weight: 500; font-size: 34px; line-height: 40px;
  text-align: left; color: #6d7783; margin: 0 0 31px;
}
.page-template-landing .workshop-story .prose p { margin: 0 0 17px; }
.page-template-landing .workshop-story h3,
.page-template-landing .workshop-story h4,
.page-template-landing .workshop-story .prose h3,
.page-template-landing .workshop-story .prose h4 {
  font-family: Roboto, sans-serif; font-weight: 500; font-size: 24px; line-height: 32px;
  text-align: left; color: #6d7783; margin: 8px 0 14px;
}
.workshop-story .block { margin: 0 0 35px; }
.workshop-story .block:last-child { margin-bottom: 0; }
.workshop-spacer { height: 160px; background: #fff; }
.workshop-band { background: #5e1d57; min-height: 160px; }
.workshop-services .service-card > a { display: block; }
.workation-services .service-card .block-action,
.workshop-services .service-card .block-action { height: 40px; line-height: 40px; text-align: center; }
.workation-services .service-card .more {
  display: inline-block; width: auto; min-width: 0; min-height: 0; height: auto;
  padding: 0; border: 0; border-radius: 0; background: none; color: #293340;
  font-size: 14px; font-weight: 700; line-height: 40px; text-transform: uppercase;
  text-decoration: none;
}
.workation-services .service-card:hover .more,
.workation-services .service-card .more:hover { background: none; color: #3a78ff; }
.page-template-landing .workshop-services h2,
.page-template-landing .workshop-services .prose h2 { color: #293340; }
.workshop-services .service-card { padding: 80px 15%; margin: 0; }
.workshop-services .service-card .service-icon { color: #2f2933; margin-bottom: 40px; }
.workshop-services .service-card .icon { width: 65px; height: 65px; }
.workshop-services .service-card p { margin: 0; }
.workshop-services .service-card .block-action { margin: 0; }
.band-quotes.is-course-reviews .quote::before { content: none; }
.band-quotes.is-course-reviews h2 { margin: 0 0 65px; }
.band-quotes.is-course-reviews .quotes { min-height: 306px; text-align: center; }
.band-quotes.is-course-reviews .quote p {
  display: block; padding: 0; margin: 0 0 18px;
  font-size: 22px; font-weight: 400; font-style: italic; line-height: 50px; color: #fff;
}
.band-quotes.is-course-reviews .quote footer { padding: 0; }
.band-quotes.is-course-reviews .quote footer::before { content: none; }
.band-quotes.is-course-reviews .quote footer strong,
.band-quotes.is-course-reviews .quote footer span {
  display: inline; font-size: 16px; font-weight: 400; font-style: italic; line-height: 24px;
}
.band-quotes.is-course-reviews .quote footer span::before { content: " "; }
@media (max-width: 900px) {
  .workshop-services .service-cards { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .workshop-layout { grid-template-columns: 1fr; }
  .workshop-main { padding: 36px 15px 24px; }
  .page-hero-photo.is-course h1 { font-size: 32px; letter-spacing: 2px; }
  .page-hero-photo.is-course .hero-sub { font-size: 18px; line-height: 26px; }
  .page-hero-photo.is-course .btn { min-width: 0; width: min(300px, 100%); }
  .workshop-story .workshop-shell { padding: 48px 0; }
  .workshop-services .service-cards { grid-template-columns: 1fr; }
}
.train-aside { background: #c9c9c9; color: #6d7783; }
.train-main { padding-right: 40px; }
.train-aside .rumr-form > p:last-child { margin-top: 61px; }
.train-aside .rumr-form textarea {
  width: 100%; max-width: 100%; min-height: 96px; border: 1px solid #edf0f7;
  border-radius: 0; background: #fff; font: inherit; color: #293340;
}
.train-wrap { width: min(1170px, calc(100% - 80px)); margin: 0 auto; }
.train-story { background: #fff; padding: 80px 0; }
.page-template-landing .train-story h2 {
  margin: 0 0 36px; font-family: "Open Sans", sans-serif; font-weight: 400;
  font-size: 36px; line-height: 1.2; text-align: center; color: #293340;
}
.page-template-landing .train-story .prose,
.page-template-landing .train-story .prose p {
  text-align: center; font-size: 15px; line-height: 24px; color: #6d7783;
}
.page-template-landing .train-story .block { margin: 0; }
.train-prices { display: flex; align-items: stretch; margin: 147px 0 0; }
.train-price { flex: 382 1 0; min-width: 0; display: flex; flex-direction: column; background: #5e1d57; }
.train-price.is-featured { flex: 406 1 0; background: #fff; }
.train-price-top {
  position: relative; box-sizing: border-box; min-height: 150px; margin: 0; padding: 24px 8px 30px;
  display: flex; align-items: center; justify-content: center; text-align: center; color: #fff;
  background: #5e1d57; font-family: Roboto, sans-serif;
}
.train-price.is-featured .train-price-top { background: #009cde; }
.train-price-top .currency { font-size: 22px; font-weight: 500; line-height: 24px; margin-right: 6px; vertical-align: 22px; }
.train-price-top .amount { font-size: 72px; font-weight: 700; line-height: 72px; }
.train-price-top::after {
  content: ""; position: absolute; left: 50%; bottom: -12px; transform: translateX(-50%);
  border-width: 12px 14px 0; border-style: solid; border-color: #5e1d57 transparent transparent;
}
.train-price.is-featured .train-price-top::after { border-top-color: #009cde; }
.train-price-sub { box-sizing: border-box; min-height: 300px; background: #f4f4f4; text-align: center; padding: 36px 11px 20px; }
.train-price-sub h3 {
  margin: 0 auto 6px; max-width: 286px; font-family: Roboto, sans-serif; font-weight: 700; font-size: 26px;
  line-height: 30px; color: #293340; text-transform: uppercase;
}
.train-price-kind, .train-price-desc { margin: 0; font-size: 14px; line-height: 24px; color: #aeb7c1; }
.train-price-desc { margin-top: 2px; }
.train-price-desc a { color: #0277a8; }
.train-price-features { list-style: none; margin: 0; padding: 0; background: #f9f9f9; flex: 1; }
.train-price-features li {
  box-sizing: border-box; min-height: 63px; margin: 0; padding: 18px 18px; border-top: 1px solid #edf0f7;
  display: flex; align-items: center; justify-content: center; text-align: center;
  color: #6d7783; font-size: 14px; line-height: 24px;
}
.train-price-action { margin: 0; padding: 53px 16px 100px; background: #f9f9f9; text-align: center; }
.train-price-action .btn {
  width: 180px; min-width: 180px; height: 50px; min-height: 50px; padding: 0 12px; border-radius: 0;
  background: #b04c97; border-color: #b04c97; color: #fff;
  font-family: Roboto, sans-serif; font-size: 16px; font-weight: 400; line-height: 48px;
}
.train-price-action .btn:hover { background: #9a3f84; border-color: #9a3f84; color: #fff; }
.train-cta { background: #5e1d57; min-height: 160px; display: flex; align-items: center; }
.train-cta-inner {
  width: min(1170px, calc(100% - 80px)); margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: center; gap: 0;
}
.train-cta h2 {
  margin: 0; max-width: 640px; color: #fff; font-family: "Open Sans", sans-serif; font-weight: 300;
  font-size: 30px; line-height: 36px; text-align: left;
}
.train-cta .btn {
  width: 300px; min-width: 300px; height: 50px; min-height: 50px; padding: 0; border-radius: 10px;
  background: #009cde; border-color: #009cde; color: #fff;
  font-family: Roboto, sans-serif; font-size: 16px; font-weight: 400; line-height: 48px;
}
.train-cta .btn:hover { background: #2f2933; border-color: #2f2933; }
.train-cta-action { margin: 0; text-align: right; }
.train-services { background: #f4f4f4; padding: 80px 0 50px; }
.page-template-landing .train-services h2 {
  margin: 0 0 36px; font-family: "Open Sans", sans-serif; font-weight: 400;
  font-size: 36px; line-height: 1.2; text-align: center; color: #293340;
}
.page-template-landing .train-services .prose,
.page-template-landing .train-services .prose p { text-align: center; color: #6d7783; }
.train-services .service-card .block-action {
  display: block; width: 100%; height: auto; margin: 18px 0 0;
  line-height: 24px; text-align: center;
}
.train-services .service-card .more {
  display: inline; min-width: 0; min-height: 0; width: auto; height: auto;
  padding: 0; border: 0; border-radius: 0; background: none;
  color: #0277a8; font-size: 14px; font-weight: 400; line-height: 24px;
  text-transform: none; text-decoration: underline;
}
.train-services .service-card:hover .more,
.train-services .service-card .more:hover { background: none; color: var(--purple); }
@media (max-width: 900px) {
  .train-prices { flex-direction: column; gap: 24px; }
  .train-price, .train-price.is-featured { flex-basis: auto; }
  .train-cta-inner { grid-template-columns: 1fr; gap: 16px; padding: 28px 0; }
  .train-cta h2 { max-width: none; }
  .train-cta-action { text-align: left; }
  .train-cta .btn { width: min(300px, 100%); min-width: 0; }
}
@media (max-width: 768px) {
  .train-wrap, .train-cta-inner { width: calc(100% - 30px); }
}
@media (max-width: 760px) {
  .page-shell.narrow.workshop-top.train-top { width: 100%; }
  .train-main { padding: 36px 20px 24px; }
  .train-aside { padding: 40px 20px 54px; }
  .train-reviews .band-quotes.is-course-reviews { min-height: 780px; }
}
@media (max-width: 480px) {
  .train-aside { padding-bottom: 92px; }
  .train-reviews .band-quotes.is-course-reviews { min-height: 1213px; }
}
@media (max-width: 480px) {
  .page-template-landing .train-story h2,
  .page-template-landing .train-services h2 { font-size: 30px; line-height: 36px; }
}

body.single-post .post-title-band {
  box-sizing: border-box; min-height: 100px; display: flex; align-items: center;
  border-bottom: 1px solid #ecf0f1; background: #fff;
}
body.single-post .post-title-inner { width: min(1170px, calc(100% - 80px)); margin: 0 auto; }
body.single-post .post-title-band h1 {
  width: fit-content; max-width: 50%; margin: 0;
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 28px; font-weight: 500;
  line-height: 49px; color: #293340; text-align: left;
  hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; word-break: break-word;
}
body.single-post .page-shell.with-side {
  width: min(1250px, 100%); max-width: 1250px; margin: 0 auto;
  padding: 60px 40px 60px; box-sizing: border-box;
  display: grid; grid-template-columns: minmax(0, 2.475fr) minmax(0, 1fr); gap: 65px; align-items: start;
}
body.single-post .hero-figure { margin: 0 0 40px; }
body.single-post .hero-figure img {
  width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover;
  border-radius: 0; display: block;
}
body.single-post .post-article .prose { color: #6d7783; font-size: 15px; line-height: 24px; padding-bottom: 40px; }
body.single-post .post-article .prose p { margin: 0 0 17px; }
body.single-post .post-article .prose h1,
body.single-post .post-article .prose h2,
body.single-post .post-article .prose h3,
body.single-post .post-article .prose h4,
body.single-post .post-article .prose h5 {
  clear: both;
}
body.single-post .post-article .prose h1 {
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 40px; font-weight: 500;
  line-height: 48px; color: #293340; margin: 0 0 28px;
}
body.single-post .post-article .prose h2 {
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 34px; font-weight: 500;
  line-height: 40px; color: #293340; margin: 0 0 31px;
}
body.single-post .post-article .prose h3 {
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 28px; font-weight: 500;
  line-height: 36px; color: #293340; margin: 0 0 18px;
}
body.single-post .post-article .prose h4 {
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 24px; font-weight: 500;
  line-height: 32px; color: #293340; margin: 0 0 18px;
}
body.single-post .post-article .prose h5 {
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 18px; font-weight: 700;
  line-height: 27px; color: #293340; margin: 0 0 19px;
}
body.single-post .post-article .prose blockquote {
  margin: 40px 0; padding: 16px 0 16px 68px;
  font-family: "Roboto Slab", serif; font-size: 22px; font-weight: 300;
  font-style: normal; line-height: 32px; color: #6d7783;
}
body.single-post .post-article .prose blockquote p {
  margin: 0; font-size: 22px; font-weight: 300; line-height: 32px;
}
body.single-post .post-article .prose figure { margin: 15px 40px; }
body.single-post .post-article .prose figure.wp-block-table { overflow: auto; }
body.single-post .post-article .prose table {
  border-collapse: collapse; width: 100%; margin: 0 0 22.5px;
}
body.single-post .post-article .prose td,
body.single-post .post-article .prose th {
  border: 1px solid #6d7783; padding: 5px; vertical-align: top;
}
body.single-post .post-article .prose figure img {
  width: auto; max-width: 100%; height: auto; display: inline-block; vertical-align: top; border-radius: 0;
}
body.single-post .post-article .prose figcaption {
  margin: 0.5em 0 1em; font-size: 15px; line-height: 24px;
}
body.single-post .post-article .prose figure.wp-caption:not(.alignleft):not(.alignright) {
  width: 100%; max-width: 100%; margin: 15px 40px 22.5px;
}
body.single-post .post-article .prose figure.wp-caption.alignleft {
  float: left; max-width: 100%; margin: 4px 20px 0 0;
}
body.single-post .post-article .prose figure.wp-caption.alignright {
  float: right; max-width: 100%; margin: 4px 0 0 20px;
}
body.single-post .post-article .prose div.wp-caption {
  margin: 0 0 22.5px;
}
body.single-post .post-article .prose div.wp-caption.alignnone img {
  display: block; margin: 0 auto;
}
body.single-post .post-article .prose div.wp-caption .wp-caption-text {
  margin: 0; padding: 5px;
  border-top: 1px solid #ebebeb; border-bottom: 1px solid #ebebeb;
  font-size: 13px; line-height: 24px; text-align: center;
}
body.single-post .post-article .prose figure.wp-caption img {
  width: 100%; max-width: 100%; height: auto; display: block;
}
body.single-post .post-article .prose figure.wp-caption figcaption {
  margin: 0; padding: 5px; border-top: 1px solid #ebebeb; border-bottom: 1px solid #ebebeb;
  font-size: 13px; line-height: 24px; text-align: center;
}
body.single-post .post-article .wp-block-columns {
  display: flex; box-sizing: border-box; flex-wrap: nowrap; align-items: center;
  gap: 30px; margin: 0 0 26.25px;
}
body.single-post .post-article .wp-block-columns > .wp-block-column {
  flex: 0 1 50%; min-width: 0; margin: 0;
}
body.single-post .post-article .prose p img {
  max-width: 100%; height: auto; display: inline-block; vertical-align: baseline;
  margin: 0; border-radius: 0;
}
body.single-post .post-article .prose img.alignleft {
  float: left; display: block; max-width: 100%; height: auto;
  margin: 4px 20px 0 0;
}
body.single-post .post-article .prose img.alignright {
  float: right; display: block; max-width: 100%; height: auto;
  margin: 4px 0 0 20px;
}
body.single-post .post-article .prose iframe {
  display: block; width: 100%; max-width: 100%; aspect-ratio: 16 / 9; height: auto;
  border: 0; margin: 0 0 17px;
}
body.single-post .yt-facade {
  position: relative; width: 100%; aspect-ratio: 16 / 9; margin: 0;
  overflow: hidden; background: #000;
}
body.single-post .post-article .prose .rumr-embed-gap {
  height: 0; margin: 0 0 17px;
}
body.single-post .post-article .prose header.entry-header {
  display: none;
}
body.single-post .post-article .prose .entry-content {
  padding-bottom: 40px;
}
body.single-post .post-article .prose .clearfix:has(.alignleft, .alignright)::after {
  content: "";
  display: table;
  clear: both;
}
body.single-post .yt-facade img {
  position: absolute; top: 0; left: 0; width: 100%; max-width: 100%; height: auto;
  display: block; border-radius: 0; transition: filter 0.4s;
}
body.single-post .yt-facade:hover img { filter: brightness(75%); }
body.single-post .yt-facade .yt-play {
  position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0;
  background: transparent url("../img/youtube.png") center center no-repeat;
  cursor: pointer;
}
body.single-post .yt-facade iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
body.single-post .post-navigation { margin: 40px 0 0; padding-bottom: 40px; }
body.single-post .post-navigation .nav-links { display: flex; }
body.single-post .post-navigation .nav-next { margin-left: auto; }
body.single-post .post-navigation a {
  display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
  width: 130px; height: 40px; padding: 0 15px; border: 1px solid #edf0f7; border-radius: 4px;
  color: #293340; font-family: Roboto, "Segoe UI", sans-serif; font-size: 15px; font-weight: 500;
  line-height: 40px; text-align: center; text-decoration: none;
}
body.single-post .comments-area {
  padding-top: 64px;
  color: var(--muted);
  font-family: Roboto, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 24px;
}
body.single-post .comments-title {
  margin: 0 0 21px;
  font-family: Roboto, "Segoe UI", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
  color: var(--ink);
}
body.single-post .comments-title a,
body.single-post .comments-title a:hover {
  color: var(--ink);
  text-decoration: none;
  font-weight: 500;
}
body.single-post .comment-list { list-style: none; margin: 0; padding: 0; }
body.single-post .comment-list .comment { margin: 0 0 5px; padding: 35px 0 0; }
body.single-post .comment-body { padding: 0 0 23px 32px; }
body.single-post .comment-author {
  display: block;
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}
body.single-post .comment-author a,
body.single-post .comment-author a:hover {
  color: var(--ink);
  text-decoration: none;
  font-weight: 500;
}
body.single-post .comment-date { display: block; margin: 0 0 18px; font-size: 13px; line-height: 16px; }
body.single-post .comment-date a,
body.single-post .comment-date a:hover { color: var(--muted); text-decoration: none; }
body.single-post .comment-text { font-size: 15px; line-height: 24px; color: var(--muted); }
body.single-post .comment-text p { margin: 0 0 17px; }
body.single-post .comments-closed { margin: 0 0 17px; font-size: 15px; line-height: 24px; color: var(--muted); }
@media (max-width: 780px) {
  body.single-post .comment-author { line-height: normal; }
}
body.single-post .post-article .prose ul,
body.single-post .post-article .prose ol { margin: 0 0 10px 10px; padding-left: 15px; }
body.single-post .post-article .prose li { margin: 0; line-height: 24px; padding: 3px 0; }
body.single-post .sidebar { background: transparent; border-radius: 0; padding: 0; }
body.single-post .sidebar .search-form { margin: 0 0 48px; }
body.single-post .sidebar h2 {
  font-family: Roboto, "Segoe UI", sans-serif; font-size: 16px; font-weight: 500;
  line-height: 24px; color: #293340; margin: 0 0 32px; background: none;
}
body.single-post .sidebar ul { list-style: none; margin: 0 0 48px; padding: 0; }
body.single-post .sidebar li {
  border-bottom: 1px solid #edf0f7; padding: 18px 0 18px 24px; box-sizing: border-box;
}
body.single-post .sidebar li:first-child { padding-top: 0; }
body.single-post .sidebar li a { display: inline; padding: 0; color: #0277a8; }
body.single-post .sidebar .recent-comment a { display: inline; }
body.single-post .sidebar .search-form input[type="search"] {
  width: 100%; height: 46px; margin: 0; padding: 0 16px; box-sizing: border-box;
  border: 1px solid #d5dbe1; border-radius: 0; background: #fff;
  font-size: 15px; color: #293340;
}
@media (max-width: 1024px) and (min-width: 981px) {
  body.single-post .page-shell.with-side { grid-template-columns: minmax(0, 628.3fr) minmax(0, 250.7fr); }
}
@media (max-width: 980px) {
  body.single-post .page-shell.with-side { grid-template-columns: minmax(0, 1fr); width: 100%; padding: 60px 15px 48px; gap: 36px; }
  body.single-post .post-title-inner { width: calc(100% - 30px); }
  body.single-post .post-title-band { padding: 20px 0; }
  body.single-post .post-title-band h1 { max-width: 100%; }
}
@media (max-width: 781px) {
  body.single-post .post-article .wp-block-columns { flex-wrap: wrap; }
  body.single-post .post-article .wp-block-columns > .wp-block-column { flex-basis: 100% !important; width: 100%; }
}
