/* ==========================================================================
   Beam Reach Labs — site styles
   Ported from the Webflow export. Class names are kept as-is so the markup
   stays recognizable if you compare against the Webflow Designer.
   ========================================================================== */

:root {
  --black-2: #2b2b31;
  --medium-slate-blue: #7567f8;
  --light-slate-grey: #7b88a8;
  --brl-green: #005051;
  --purple: #4300af;
  --purple-bright: #5d00f5;
  --white: #fff;
  --ghost-white-2: #fafaff;
  --light-coral: #ff6e6e;
  --sky-blue: #66d4ff;

  --font-sans: "DM Sans", sans-serif;
  --font-serif: "IBM Plex Serif", serif;
  --font-body: "Mulish", "Muli", sans-serif;
  /* "Butler" was referenced in Webflow but never loaded, so it always fell back. */
  --font-ui: sans-serif;
}

/* ---- Base ---------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  min-height: 100%;
  background-color: #fff;
  color: #111;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}
a { background-color: transparent; }
img { max-width: 100%; vertical-align: middle; display: inline-block; border: 0; }
strong, b { font-weight: bold; }

h1, h2, h3, h4, h5, h6 { margin-bottom: 10px; }
h1 { margin-top: 20px; font-size: 38px; font-weight: 700; line-height: 44px; }
h2 { margin-top: 20px; font-size: 32px; font-weight: 700; line-height: 36px; }
h3 { margin-top: 20px; font-size: 24px; font-weight: 700; line-height: 30px; }
h4 { margin-top: 10px; font-size: 18px; font-weight: 600; line-height: 24px; }
h5 { margin-top: 10px; font-size: 14px; font-weight: 600; line-height: 20px; }
h6 { margin-top: 10px; font-size: 12px; font-weight: 600; line-height: 18px; }
p {
  margin-top: 0;
  margin-bottom: 10px;
  color: var(--black-2);
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 300;
  line-height: 24px;
}
ul, ol { margin-top: 0; margin-bottom: 10px; padding-left: 40px; }
li { color: #919196; padding-top: 2px; padding-bottom: 2px; }
blockquote {
  width: 100%;
  margin: 0 0 10px;
  padding: 10px 20px 10px 30px;
  border-left: 3px solid var(--medium-slate-blue);
  color: var(--light-slate-grey);
  text-align: left;
  font-family: var(--font-ui);
  font-size: 28px;
  font-weight: 300;
  line-height: 32px;
}
figure { margin: 30px 0; }
figcaption { text-align: center; margin-top: 5px; }
label { display: block; margin-bottom: 5px; font-weight: bold; }

.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link { position: absolute; left: 16px; top: -100px; z-index: 2000; background: #fff; color: var(--purple); padding: 10px 16px; border-radius: 20px; }
.skip-link:focus { top: 16px; }

/* ---- Layout primitives (Webflow base, reduced) --------------------------- */
.w-inline-block { max-width: 100%; display: inline-block; }
.w-container { max-width: 940px; margin-left: auto; margin-right: auto; }
.w-container::before, .w-container::after,
.w-row::before, .w-row::after { content: " "; display: table; grid-area: 1 / 1 / 2 / 2; }
.w-container::after, .w-row::after { clear: both; }
.w-container .w-row { margin-left: -10px; margin-right: -10px; }
.w-col { position: relative; float: left; width: 100%; min-height: 1px; padding-left: 10px; padding-right: 10px; }
.w-col-4 { width: 33.3333%; }
.w-col-6 { width: 50%; }

.w-richtext::before, .w-richtext::after { content: " "; display: table; grid-area: 1 / 1 / 2 / 2; }
.w-richtext::after { clear: both; }
.w-richtext ol, .w-richtext ul { overflow: hidden; }
.w-richtext figure { position: relative; max-width: 60%; }
.w-richtext figure img { width: 100%; }
.w-richtext figure.w-richtext-align-fullwidth { clear: both; display: block; width: 100%; max-width: 100%; margin-left: auto; margin-right: auto; text-align: center; }

/* Buttons + inputs base */
.w-button { display: inline-block; padding: 9px 15px; border: 0; border-radius: 0; background-color: #3898ec; color: #fff; line-height: inherit; text-decoration: none; cursor: pointer; font: inherit; }
input.w-button { -webkit-appearance: button; appearance: button; }
.w-input {
  display: block; width: 100%; height: 38px; margin-bottom: 10px; padding: 8px 12px;
  border: 1px solid #ccc; background-color: #fff; color: #333;
  font-size: 14px; line-height: 1.42857; vertical-align: middle;
}
.w-input::placeholder { color: #999; }
.w-input:focus { border-color: #3898ec; outline: 0; }
textarea.w-input { height: auto; }
.w-form { margin: 0 0 15px; }
.w-form-done, .w-form-fail { display: none; }
.w-form.is-success form { display: none; }
.w-form.is-success .w-form-done, .w-form.is-error .w-form-fail { display: block; }

@media screen and (max-width: 991px) {
  .w-container { max-width: 728px; }
}
@media screen and (max-width: 767px) {
  .w-row, .w-container .w-row { margin-left: 0; margin-right: 0; }
  .w-col { width: 100%; left: auto; right: auto; }
}
@media screen and (max-width: 479px) {
  .w-container { max-width: none; }
}

/* ---- Navigation ---------------------------------------------------------- */
.navigation {
  position: fixed; inset: 0 0 auto; z-index: 999;
  display: flex; justify-content: space-between; align-items: center;
  width: 100%; min-height: 90px; padding: 10px 2%;
  background-color: var(--purple);
}
.brand {
  order: -1; position: relative;
  display: flex; align-items: center;
  color: #fff; text-decoration: none;
  font-size: 22px; font-weight: 700; line-height: 21px;
}
.image-101 { margin-right: 28px; }
.text-block-2 { color: rgba(255, 255, 255, .98); font-family: var(--font-serif); font-weight: 400; }
.second-part { order: 1; display: flex; align-items: center; gap: 16px; }
.button-2 {
  padding: 9px 24px;
  border: 1px solid rgba(255, 255, 255, .51);
  border-radius: 20px;
  background-color: transparent;
  transition: background-color .2s, border-color .2s;
}
.button-2:hover { background-color: var(--purple-bright); border-color: var(--purple-bright); }

/* ---- Buttons ------------------------------------------------------------- */
.button {
  padding: 15px 30px;
  border-radius: 25px;
  background-color: var(--medium-slate-blue);
  color: #fff;
  font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
  transition: background-color .2s;
}
.button:hover { background-color: #8275fa; color: #fff; }
.button-small {
  display: flex; justify-content: center; align-items: center;
  color: #919197; text-decoration: none;
  font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
}
.button-small.left { justify-content: flex-start; }
.button-small-text { margin-right: 4px; color: var(--medium-slate-blue); line-height: 17px; }
.button-small-text.white { color: #fff; }
.button-icon { position: relative; transition: transform .2s; }
a:hover .button-icon { transform: translateX(3px); }

/* ---- Hero banners -------------------------------------------------------- */
.page-content { margin-left: auto; margin-right: auto; }

.banner {
  position: relative;
  display: flex; justify-content: center; align-items: center;
  height: 97vh;
  margin-left: auto; margin-right: auto;
  padding: 90px 5% 0;
  background-color: var(--purple);
  border-bottom-left-radius: 350px;
}
.banner.sub {
  height: auto; min-height: 560px;
  background-color: #ece8e5;
  background-image: linear-gradient(rgba(67, 1, 175, .49), rgba(67, 1, 175, .49)), var(--banner-image, url("/images/bg-yeshi-kangrang.jpg"));
  background-position: 0 0, 50% 100%;
  background-repeat: repeat, no-repeat;
  background-size: auto, cover;
  background-attachment: scroll, fixed;
}
/* Blog posts set their own photo; Webflow showed it without the purple tint. */
.banner.sub.photo { background-image: var(--banner-image); background-position: 50% 50%; }

.sub-header {
  height: 440px;
  background-color: var(--brl-green);
  background-image: linear-gradient(rgba(67, 0, 175, .5), rgba(67, 0, 175, .5)), url("/images/bg-mwangi-gatheca.jpg");
  background-position: 0 0, 50% 50%;
  background-size: auto, cover;
  background-attachment: scroll, fixed;
  border-bottom-left-radius: 300px;
}
.container-2 { margin-top: 90px; padding-top: 0; }

.div-block-11 { /* Projects header */
  min-height: 600px;
  background-image: url("/images/bg-yeshi-kangrang.jpg");
  background-position: 50% 50%;
  background-size: cover;
}
.div-block-12 { /* Blog header */
  min-height: 600px;
  background-image: linear-gradient(rgba(67, 1, 175, .5), rgba(67, 1, 175, .5)), url("/images/bg-mwangi-gatheca.jpg");
  background-position: 0 0, 0 0;
  background-size: auto, cover;
  border-bottom-left-radius: 300px;
}
.div-block-14 { padding-top: 79px; }
.div-block-16, .div-block-17 { display: flex; align-items: center; }

.testimonials-grid {
  display: grid; grid-template-columns: 1.5fr 1.5fr; gap: 16px 30px;
  place-items: stretch center;
  width: 100%; max-width: 1200px; margin-top: -35px;
}
.banner-info { display: block; margin-left: auto; margin-right: auto; }
.banner-info.center { margin: 150px auto 0; padding-bottom: 150px; text-align: center; }
.banner-image { object-fit: scale-down; }

.top-heading {
  margin-top: 0; margin-bottom: 26px;
  color: #fff;
  font-family: var(--font-serif); font-size: 52px; font-weight: 500; line-height: 57px;
}
.top-heading.with-percent { width: 70%; margin-left: auto; margin-right: auto; text-shadow: 1px 1px 12px rgba(34, 30, 65, .17); }
.sub-heading {
  width: 100%; margin: 0 auto 10px 0;
  color: var(--white);
  font-family: var(--font-body); font-size: 18px; font-weight: 300; line-height: 27px;
}
.sub-heading.left { max-width: 80%; }

.top-margin { margin-top: 30px; }
.top-margin._15px { margin-top: 15px; }
.top-margin.flex-top { display: flex; align-items: center; }
.top-margin.for-the-blog.flex-top.centerize-top { margin-top: 32px; }

/* Scroll-hint animation + decorative dots */
.flex-lottie { position: relative; inset: auto 0 60px; display: flex; flex-direction: column; align-items: center; }
.lottie-animation { width: 40px; }
.circle-shape { position: absolute; z-index: 2; top: 150px; left: 50px; width: 20px; height: 20px; border-radius: 100%; background-color: var(--light-coral); }
.circle-shape._2 { top: auto; bottom: 90px; left: 83px; width: 30px; height: 30px; background-color: var(--sky-blue); }

/* ---- Sections ------------------------------------------------------------ */
.section { position: relative; margin-bottom: 0; padding: 31px 5% 57px; background-color: var(--white); }
.section.gray { background-color: var(--ghost-white-2); border-top-right-radius: 350px; }
.section.gray.top-right { background-color: transparent; border-radius: 0; padding-bottom: 55px; }
.section.gray.more-bottom { background-color: var(--purple); padding-top: 72px; padding-bottom: 0; }
.section._220px-bottom { padding-bottom: 220px; }
.container { display: block; flex: 0 1 auto; max-width: 100%; margin: 0 auto; padding-top: 0; padding-bottom: 0; }
.container.negative { position: relative; max-width: 1200px; margin-top: 41px; padding-top: 16px; }
.div-block-2 { max-width: 1200px; margin: 23px auto 0; }
.div-block-3 { margin-top: 32px; }
.div-block-5 { margin-bottom: 80px; }
.div-block-6, .div-block-7 { margin-bottom: 90px; }
.div-block-10 { width: 70%; margin-left: auto; margin-right: auto; }
.collection-list { margin-bottom: 51px; }

.top-title { position: relative; display: flex; justify-content: center; align-items: center; margin-bottom: 56px; }
.top-title.half { margin-top: 72px; margin-bottom: 43px; }
.top-title-font {
  position: relative; margin: 0;
  color: var(--purple); text-align: center;
  font-family: var(--font-serif); font-size: 45px; font-weight: 500; line-height: 50px;
}
.top-title-font.on-dark { color: #feffff; }
.divider-title { width: 13%; height: 1px; margin: 0 30px; background-color: #e3e2ef; }
.section.more-bottom .divider-title { background-color: rgba(255, 255, 255, .25); }
.section.more-bottom .top-title-font { color: #feffff; }

._80-percent p + p { margin-top: 24px; }
._80-percent { position: relative; width: 80%; margin-left: auto; margin-right: auto; }
._70 { width: 70%; }
._70.center { margin-left: auto; margin-right: auto; }
.align-center, .algin-center { position: relative; text-align: center; }

/* Feature cards (Clients / Focus) */
.specialization-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px 40px; }
.features-wrapper {
  display: flex; flex-direction: column; justify-content: flex-start; align-items: center;
  padding: 40px 39px;
  border: 3px solid transparent; border-radius: 20px;
  background-color: transparent; text-align: center;
  transition: background-color .2s, border-color .2s;
}
.features-wrapper:hover { border-color: var(--medium-slate-blue); background-color: #fff; }
.features-circle { display: flex; justify-content: center; align-items: center; width: 100px; height: 100px; margin-bottom: 30px; border-radius: 100%; background-color: #fff; }
.features-title {
  margin: 0 0 15px;
  color: var(--brl-green);
  font-family: var(--font-serif); font-size: 21px; font-weight: 700; line-height: 25px;
}

/* ---- Cards: blog + projects --------------------------------------------- */
.blog-wrapper { display: block; width: 97%; color: #121217; text-decoration: none; transition: color .2s; }
.blog-wrapper.center { border-radius: 30px; background-color: var(--ghost-white-2); text-align: center; }
.blog-wrapper.center:hover { color: var(--medium-slate-blue); }
.blog-image { position: relative; overflow: hidden; border-top-left-radius: 20px; border-top-right-radius: 20px; }
.blog-image img { aspect-ratio: 3 / 2; object-fit: cover; }
.image-100 { width: 100%; }
.blog-content-gray { padding: 30px 44px; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; background-color: var(--ghost-white-2); }
.blog-title { margin-top: 0; font-family: var(--font-serif); }

.category {
  position: relative; display: inline-block;
  margin-bottom: 10px; padding: 7px 17px 5px;
  border-radius: 30px;
  background-color: var(--medium-slate-blue); color: #fff;
}
.category.absolute {
  position: absolute; z-index: 2; inset: 10px 10px auto auto;
  background-color: var(--brl-green);
  font-family: var(--font-serif); font-size: 14px; font-weight: 300;
}

.project-wrapper-second { display: block; width: 97%; margin-bottom: 25px; overflow: hidden; border-radius: 20px; text-align: center; text-decoration: none; }
.project-image { position: relative; }
.project-image img { display: block; width: 100%; }
.gradient-overlay { position: absolute; inset: 0; z-index: 2; background-image: linear-gradient(360deg, rgba(0, 0, 0, .2), rgba(255, 255, 255, 0)); }
.project-content { position: relative; display: flex; justify-content: center; align-items: center; padding: 30px 20px; background-color: #fff; color: #121217; }
.project-title { margin: 0; color: #121217; font-size: 24px; line-height: 30px; }
.project-wrapper-second:hover .project-title { color: var(--medium-slate-blue); }
.image-radius { width: 100%; border-radius: 30px; }

/* ---- Forms --------------------------------------------------------------- */
.submit-project-wrapper { display: block; width: 55%; margin-left: auto; margin-right: auto; }
.field-label { margin-bottom: 10px; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
/* On white backgrounds (Contact page) Webflow's labels were white-on-white. */
.on-light .field-label { color: var(--black-2); }
.text-field { height: 52px; padding-top: 10px; border: 0; background-color: var(--ghost-white-2); font-family: var(--font-serif); font-weight: 600; }
.text-field::placeholder { color: var(--light-slate-grey); font-size: 15px; font-weight: 600; }
.text-field.white { background-color: #fff; font-size: 14px; }
.text-field.white::placeholder { color: var(--light-slate-grey); }
.text-field.area { height: auto; min-height: 182px; padding-top: 15px; resize: vertical; }
.text-field:focus { outline: 2px solid var(--medium-slate-blue); outline-offset: 0; }

fieldset.services { margin: 0; padding: 0; border: 0; min-width: 0; }
fieldset.services legend { padding: 0; }
.grid-radio { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.radio-wrapper { display: block; margin: 0; padding: 30px; background-color: #fff; text-align: center; font-weight: inherit; cursor: pointer; }
.radio-wrapper.gray-radio { background-color: var(--ghost-white-2); }
.radio-1 { display: block; margin: 0 auto 15px; }
.services-title { margin: 0 0 10px; color: var(--light-slate-grey); font-family: var(--font-serif); font-size: 15px; font-weight: 600; line-height: 20px; }
.radio-dot {
  display: block; width: 12px; height: 12px; margin: 5px auto 0;
  border: 2px solid var(--medium-slate-blue); border-radius: 50%;
  transition: border-width .15s;
}
.radio-wrapper input:checked ~ .radio-dot { border-width: 4px; }
.radio-wrapper:has(input:focus-visible) { outline: 2px solid var(--medium-slate-blue); outline-offset: 2px; }
.radio-wrapper:has(input:checked) { box-shadow: inset 0 0 0 2px var(--medium-slate-blue); }

.success-message { width: 100%; padding: 22px; border-radius: 30px; background-color: #37b16d; color: #fff; text-align: center; font-size: 16px; font-weight: 600; }
.error-message { margin-top: 10px; padding: 14px; border-radius: 20px; background-color: #f71818; color: #ffdede; text-align: center; font-size: 16px; font-weight: 600; }
.button[disabled] { opacity: .6; cursor: progress; }

/* ---- Footer + back-to-top ------------------------------------------------ */
.section.footer { padding: 1px 5% 40px; border-radius: 0; background-color: var(--purple); }
.left-copyright-flex { display: flex; align-items: center; justify-content: flex-start; margin-top: 34px; }
.image-105 { margin-right: 32px; }
.copyright { align-self: flex-end; margin-bottom: 0; color: #fff; font-family: var(--font-serif); font-size: 15px; font-weight: 400; line-height: 20px; }

.go-top {
  position: fixed; inset: auto 10px 10px auto; z-index: 10;
  display: flex; justify-content: center; align-items: center;
  width: 55px; height: 55px; border-radius: 100%;
  background-color: var(--medium-slate-blue);
  opacity: 0; pointer-events: none; transform: translateY(10px);
  transition: opacity .25s, transform .25s, background-color .2s;
}
.go-top.is-visible { opacity: 1; pointer-events: auto; transform: none; }
.go-top:hover { background-color: #121217; }

/* ---- Rich text (posts & projects) --------------------------------------- */
.w-richtext h4 { margin-top: 30px; }
.w-richtext a { color: var(--medium-slate-blue); }

/* ---- Scroll reveal (replaces Webflow Interactions) ----------------------- */
.js .reveal { opacity: 0; transition: opacity .9s ease, transform .9s ease; }
.js .reveal.reveal-up { transform: translate3d(0, 50px, 0); }
.js .reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js .reveal { opacity: 1; transform: none; transition: none; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media screen and (max-width: 991px) {
  .top-margin.for-the-blog.flex-top.centerize-top { justify-content: center; }
  .banner { height: auto; padding-top: 137px; padding-bottom: 86px; }
  .banner.sub { min-height: 400px; padding-top: 0; padding-bottom: 0; background-position: 50% 100%; border-bottom-left-radius: 250px; }
  .navigation { padding-right: 4%; }
  .brand { margin-right: 10px; }
  .top-title-font { font-size: 40px; line-height: 45px; }
  .divider-title { display: none; }
  .specialization-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .features-wrapper { padding: 25px 25px 30px; }
  .testimonials-grid { grid-template-columns: 1fr; }
  .top-heading.with-percent { width: 90%; font-size: 50px; line-height: 54px; }
  .sub-heading { width: 70%; margin-left: auto; margin-right: auto; }
  .sub-heading.left { max-width: none; }
  ._80-percent.normal { width: 100%; }
  .submit-project-wrapper { width: 100%; }
  .blog-content-gray { padding-left: 22px; padding-right: 22px; }
  .blog-wrapper.center { width: 100%; margin-bottom: 20px; }
  .banner-image { width: 600px; margin: 40px auto 0; }
  .banner-info { text-align: center; }
  .banner-info.center { margin-top: 141px; }
  .project-item, .blog-item { width: 50%; }
  ._70 { width: 100%; }
  /* Fixed backgrounds are janky / unsupported on most touch devices */
  .banner.sub, .sub-header { background-attachment: scroll, scroll; }
}

@media screen and (max-width: 767px) {
  .banner { min-height: 600px; padding-bottom: 84px; }
  .banner.sub { min-height: auto; max-height: 410px; margin-bottom: 39px; padding-top: 90px; }
  .section { padding-top: 0; padding-bottom: 0; }
  .section.gray.more-bottom { border-top-right-radius: 140px; }
  .section._220px-bottom { padding-bottom: 180px; }
  .flex-lottie { display: block; margin: 0 auto; }
  .lottie-animation { margin-left: auto; margin-right: auto; }
  .specialization-grid { grid-template-columns: 1fr; }
  .top-heading { font-size: 45px; line-height: 45px; }
  .top-heading.with-percent { z-index: 10; font-size: 40px; line-height: 44px; }
  .project-wrapper-second { width: 100%; }
  .project-content { padding-top: 40px; padding-bottom: 40px; }
  ._80-percent { width: 100%; margin-top: 30px; }
  .blog-wrapper, .blog-wrapper.center { margin-bottom: 30px; }
  .banner-image { width: 410px; margin-top: 60px; }
  .banner-info.center { margin-top: 127px; padding-bottom: 147px; }
  .project-item, .blog-item { width: 100%; }
  .text-block-2 { display: none; }
  .sub-header { height: 500px; }
  .container-2 { margin-top: 0; padding-top: 90px; }
  .div-block-10 { width: auto; }
  .div-block-12 { margin-bottom: 53px; }
  .grid-radio { grid-template-columns: 1fr 1fr; }
}

@media screen and (max-width: 479px) {
  .top-margin.for-the-blog.flex-top.centerize-top { flex-direction: column; margin-top: 20px; }
  .banner { min-height: 400px; padding: 115px 16px 69px; border-bottom-left-radius: 100px; }
  .banner.sub { min-height: 380px; padding-top: 34px; background-position: 50% 50%; border-bottom-left-radius: 150px; }
  .navigation { min-height: 80px; padding-left: 4%; padding-right: 7%; }
  .brand { margin-right: 0; }
  .container { padding-bottom: 32px; }
  .section { margin-top: 20px; padding-bottom: 60px; }
  .section.gray.more-bottom { border-top-right-radius: 70px; }
  .section.footer { margin-top: 0; padding-top: 32px; }
  .top-title { margin-bottom: 50px; }
  .top-title.half { margin-top: 0; }
  .flex-lottie { display: none; }
  .top-title-font { font-size: 30px; line-height: 36px; }
  .testimonials-grid { grid-template-columns: 1fr; gap: 16px 20px; }
  .top-heading { margin-bottom: 32px; font-size: 35px; line-height: 38px; }
  .top-heading.with-percent { width: 100%; margin-top: 60px; font-size: 30px; line-height: 34px; }
  .sub-heading { width: 90%; font-size: 18px; line-height: 22px; }
  .banner-image { width: 100%; margin-top: 30px; }
  .banner-info.center { margin-top: 70px; padding-bottom: 80px; }
  .image-radius { border-radius: 20px; }
  .grid-radio { grid-template-columns: 1fr; }
  .left-copyright-flex { justify-content: center; margin-top: 0; }
  .blog-wrapper { width: 100%; }
  .blog-item { padding-left: 0; padding-right: 0; }
  .button-2 { padding-left: 14px; padding-right: 14px; }
  .sub-header { height: 370px; border-bottom-left-radius: 120px; }
  .container-2 { padding-top: 0; }
  .div-block-10 { width: 100%; }
}

/* Org charts in "Building your first B2B sales team" */
.w-richtext figure.org-chart { max-width: 100%; margin: 24px 0 32px; }
.org-chart img { display: block; width: 100%; border: 1px solid #e3e2ef; border-radius: 16px; }
.org-chart figcaption { margin-top: 10px; color: var(--light-slate-grey); font-family: var(--font-body); font-size: 14px; }

/* Card lists wrap in clean rows even when cards differ in height */
.w-row[role="list"] { display: flex; flex-wrap: wrap; row-gap: 24px; }
.w-row[role="list"]::before, .w-row[role="list"]::after { display: none; }
.w-row[role="list"] > .w-col { float: none; }

/* Blog posts: slightly larger opening paragraph */
article.div-block-10 > .w-richtext > p:first-of-type { font-size: 19px; line-height: 30px; }
@media screen and (max-width: 479px) {
  article.div-block-10 > .w-richtext > p:first-of-type { font-size: 18px; line-height: 28px; }
}
