/* ============================================================
   OpenNeux — consulting template (handwritten build)
   Design tokens follow the measured reference system.
   Colour roles: the reference's gold accent role and its two
   green brand steps are remapped to the OpenNeux lavender ramp
   (--neutral-500 / -900 / -600 below); every neutral stays exact.
   ============================================================ */
@font-face { font-family: "Newsreader"; src: url("/assets/fonts/Newsreader-Regular.woff") format("woff"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("/assets/fonts/Inter-Regular.woff") format("woff"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("/assets/fonts/Inter-Medium.woff") format("woff"); font-weight: 500; font-style: normal; font-display: swap; }

:root {
  --neutral-100: #f5f2ec;
  --neutral-200: #faf8f5;
  --neutral-300: #141312;
  --neutral-400: #6f6a60;
  --neutral-500: #AF9AC9; /* accent role (reference: gold) */
  --neutral-600: #7A6C8D; /* deep brand surface role (reference: deep green) */
  --neutral-700: #ece5d8;
  --neutral-800: #faf8f580;
  --neutral-900: #9583AB; /* mid brand step role (reference: green) */
  --neutral-1000: #e5ddcf;
  --muted: #666161; /* owner-added secondary muted tone */
  --space-xs: 1.25rem; --space-s: 3.125rem; --space-m: 5rem; --space-l: 6.25rem; --space-xl: 8.125rem;
  --gap-xxs: .313rem; --gap-xs: .625rem; --gap-s: 1.25rem; --gap-m: 1.875rem; --gap-l: 2.5rem; --gap-xl: 3.125rem; --gap-xxl: 5rem; --gap-xxxl: 6.25rem;
  --radius-small: .438rem; --radius-large: 5.625rem;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background-color: var(--neutral-100);
  color: var(--neutral-400);
  font-family: "Inter", sans-serif;
  font-size: 1.125rem;
  line-height: 130%;
  font-weight: 400;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3, h4, h5, h6, p { margin: 0; }

/* ---------- layout utilities ---------- */
.padding-global { padding-right: var(--space-s); padding-left: var(--space-s); }
.container-large { width: 100%; max-width: 80rem; margin-left: auto; margin-right: auto; }
.padding-section-large.padding-top { padding-top: var(--space-xl); }
.padding-section-large.padding-bottom { padding-bottom: var(--space-xl); }
.padding-section-small.padding-top { padding-top: var(--space-m); }
.page-wrapper { overflow: clip; }

/* ---------- type ---------- */
.heading-style-h1, .heading-style-h2, .heading-style-h3, .heading-style-h4, .heading-style-h5, .heading-style-h6 {
  font-family: "Newsreader", Arial, sans-serif; color: var(--neutral-300); font-weight: 400;
}
.heading-style-h1 { font-size: 4.37rem; line-height: 115%; letter-spacing: -.188rem; }
.heading-style-h2 { font-size: 3.75rem; line-height: 115%; letter-spacing: -.188rem; }
.heading-style-h3 { font-size: 2.4rem; line-height: 115%; letter-spacing: -.125rem; }
.heading-style-h4 { font-size: 2.188rem; line-height: 110%; }
.heading-style-h5 { font-size: 1.875rem; line-height: 110%; }
.heading-style-h6 { font-size: 1.563rem; line-height: 110%; }
.heading-style-h1.is-center, .heading-style-h2.is-center { text-align: center; }
.heading-style-h2.is-white, .heading-style-h3.is-white { color: var(--neutral-200); }
.text-size-large { font-family: "Newsreader", Arial, sans-serif; color: var(--neutral-300); font-size: 1.875rem; line-height: 120%; font-weight: 400; letter-spacing: -.063rem; }
.text-size-large.is-white { color: var(--neutral-200); }
.text-size-large.is-center { text-align: center; }
.text-size-medium { font-size: 1.125rem; line-height: 130%; }
.text-size-medium.is-black { color: var(--neutral-300); }
.text-size-medium.is-white { color: var(--neutral-200); }
.text-size-medium.is-center { text-align: center; }
.text-size-small { font-size: .875rem; line-height: 130%; text-decoration: none; }
.text-size-small.is-white { color: var(--neutral-200); }
.text-size-small.is-black { color: var(--neutral-300); }
.text-size-small.is-center { text-align: center; }
.text-size-small.is-tag { border-radius: var(--radius-large); background-color: var(--neutral-900); color: var(--neutral-200); padding: .625rem .938rem; display: inline-block; }
a.text-size-small { color: var(--neutral-400); }
.tagline { display: flex; align-items: center; gap: var(--gap-xxs); justify-content: flex-start; }
.tagline_dot { border-radius: var(--radius-large); background-color: var(--neutral-500); width: .5rem; height: .5rem; flex: none; }
.tagline_text { font-size: .875rem; line-height: 130%; color: var(--neutral-300); text-transform: uppercase; }
.tagline_text.is-white { color: var(--neutral-800); }
.tagline_text.is-center { text-align: center; }
.heading_wrapper { display: flex; flex-flow: column; align-items: flex-start; gap: var(--gap-m); }
.heading_wrapper.is-width-30 { width: 100%; max-width: 30rem; }
.heading_wrapper.is-width-40 { width: 100%; max-width: 40rem; }
.heading_wrapper.is-center.is-width-50 { width: 100%; max-width: 40rem; }
.heading_wrapper.is-width-55 { width: 100%; max-width: 55rem; }
.heading_wrapper.is-center { align-items: center; }
.text-group { display: flex; flex-flow: column; gap: var(--gap-xs); }

.button_wrapper.is-small { display: flex; }
.button-group { display: flex; }

/* ---------- icons ---------- */
.icon-embed-xsmall, .icon-embed-xxsmall { color: var(--neutral-300); display: flex; flex-flow: column; justify-content: center; align-items: center; }
.icon-embed-xsmall.is-white { color: var(--neutral-200); }
.icon-embed-small { color: var(--neutral-100); display: flex; }
.cases_meta-icon { color: var(--neutral-400); display: flex; }
.social-embed-small { color: var(--neutral-800); cursor: pointer; transition: all .35s; display: flex; }
.social-embed-small:hover { color: var(--neutral-200); }

/* ---------- button ---------- */
.button {
  display: flex; align-items: center; justify-content: space-between; gap: var(--gap-m);
  border-radius: var(--radius-small); background-color: var(--neutral-500);
  cursor: pointer; flex: none; width: 100%;
  padding: .313rem .313rem .313rem 1.875rem; text-decoration: none; transition: all .35s;
}
.button:hover { transform: scale(.98); }
.button_text-wrapper { flex: 0 auto; height: 1.3rem; overflow: hidden; display: flex; flex-flow: column; }
.button_text { font-size: 1rem; line-height: 130%; color: var(--neutral-300); text-decoration: none; transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1); flex: none; }
.button:hover .button_text { transform: translateY(-100%); }
.button .icon-embed-xsmall { transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1); }
.button:hover .icon-embed-xsmall { transform: rotate(45deg); }
.button_text.is-white { color: var(--neutral-200); }
.button_text.is-small { font-size: .875rem; }
.button_text.is-link { transition: all .35s; }
.button_text.is-white.is-link:hover { color: var(--neutral-800); }
.button_icon { border-radius: var(--radius-small); background-color: var(--neutral-200); display: flex; flex-flow: column; justify-content: center; align-items: center; width: 3.125rem; height: 3.125rem; flex: none; }
.button_mobile {
  display: flex; align-items: center; justify-content: space-between; gap: var(--gap-m);
  border-radius: var(--radius-small); background-color: var(--neutral-500);
  cursor: pointer; flex: none; padding: .688rem .938rem .688rem 1.875rem; text-decoration: none; transition: all .35s;
}
.button_mobile:hover { transform: scale(.98); }
.button_text-wrapper.is-small { height: 1.3rem; }

/* ---------- navbar ---------- */
.header { height: 0; }
.navbar_component {
  z-index: 100; border-radius: var(--radius-small); background-color: var(--neutral-300);
  width: 50rem; margin-left: auto; margin-right: auto;
  position: fixed; inset: .625rem 0% auto;
}
.navbar_bar { display: flex; justify-content: space-between; align-items: center; padding: .625rem .938rem; }
.navbar_brand { cursor: pointer; display: flex; align-items: center; }
.navbar_brand img { height: 2.25rem; width: auto; }
.navbar_menu { display: flex; align-items: center; gap: var(--gap-l); justify-content: flex-start; }
.navbar_menu-left { display: flex; align-items: center; }
.navbar_link { color: var(--neutral-200); font-size: 1rem; cursor: pointer; padding: 0 1rem; transition: all .35s; text-decoration: none; }
.navbar_link:hover, .navbar_link[aria-current="page"] { color: var(--neutral-500); }
.navbar_menu-button { display: none; background: none; border: 0; cursor: pointer; padding: .5rem; }
.navbar_menu-icon { display: block; width: 1.5rem; height: 2px; background: var(--neutral-200); position: relative; }
.navbar_menu-icon::before, .navbar_menu-icon::after { content: ""; position: absolute; left: 0; width: 1.5rem; height: 2px; background: var(--neutral-200); }
.navbar_menu-icon::before { top: -7px; } .navbar_menu-icon::after { top: 7px; }
.main-wrapper { padding-top: 5rem; }
.main-wrapper.no-pad { padding-top: 0; }

/* ---------- hero ---------- */
.hero_component { display: grid; grid-template-columns: 1fr 1fr; grid-auto-columns: 1fr; gap: var(--gap-l); justify-content: center; align-items: stretch; padding-top: var(--space-l); padding-bottom: var(--space-m); }
.hero_content { display: flex; flex-flow: column; justify-content: center; align-items: flex-start; gap: var(--gap-xxxl); }
.hero_social-proof { display: flex; align-items: center; gap: var(--gap-xs); }
.hero_avatars { display: flex; align-items: center; }
.hero_avatar { border-radius: var(--radius-large); width: 2.813rem; height: 2.813rem; margin-left: -1rem; overflow: hidden; flex: none; }
.hero_avatar.first-avatar { margin-left: 0; }
.hero_avatar img { width: 100%; height: 100%; object-fit: cover; }
.hero_avatar-counter { border-radius: var(--radius-large); background-color: var(--neutral-500); display: flex; flex-flow: column; justify-content: center; align-items: center; width: 2.813rem; height: 2.813rem; margin-left: -.8rem; overflow: hidden; flex: none; }
.hero_tagline-text { font-size: .875rem; line-height: 130%; color: var(--neutral-300); text-transform: uppercase; }
.hero_image-wrapper { border-radius: var(--radius-small); display: flex; justify-content: center; align-items: stretch; position: relative; overflow: hidden; }
.hero_image-wrapper .image, .about_image-wrapper .image { width: 100%; height: 100%; object-fit: cover; }
.image.is-scale { transition: all .5s; }
.image.is-scale:hover { transform: scale(1.05); }
.image-cutout_block { border-radius: var(--radius-small); background-color: var(--neutral-100); position: absolute; }
.image-cutout_block.is-top-right { width: 8rem; height: 8rem; inset: 1rem 1rem auto auto; }
.image-cutout_block.is-bottom-right { width: 5.625rem; height: 5.625rem; inset: auto 1rem 1rem auto; }
.image-cutout_block.is-bottom-left { width: 3.125rem; height: 3.125rem; inset: auto 7.5rem 1rem auto; }
.image-cutout_block.is-top-left { width: 8rem; height: 8rem; inset: 1rem auto auto 1rem; }
.image-cutout_block.is-bottom-left-down { width: 3.125rem; height: 3.125rem; inset: auto auto 1rem 7.5rem; }
.image-cutout_block.is-bottom-right-down { width: 5.625rem; height: 5.625rem; inset: auto auto 1rem 1rem; }

/* ---------- stats ---------- */
.stats_component { display: flex; flex-flow: column; justify-content: center; align-items: stretch; gap: var(--gap-l); width: 100%; max-width: 60rem; margin-left: auto; }
.stats_list { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-auto-columns: 1fr; gap: var(--gap-s); justify-content: flex-start; align-items: stretch; }
.stats_item { display: flex; flex-flow: column; align-items: flex-start; gap: var(--gap-xxl); border-radius: var(--radius-small); background-color: var(--neutral-600); padding: 1.563rem; }
.stats_icon-wrapper { border-radius: var(--radius-large); background-color: var(--neutral-900); display: flex; flex-flow: column; justify-content: flex-start; align-items: flex-start; padding: 1.125rem; }
.stats_item-content { display: flex; flex-flow: column; gap: var(--gap-xxs); width: 100%; max-width: 10rem; }
.stats_item-content.is-full { max-width: 100%; }

/* ---------- about (shared) ---------- */
.about_component { display: grid; grid-template-columns: 1fr 1fr; grid-auto-columns: 1fr; gap: var(--gap-l); place-items: stretch stretch; }
.about_image-wrapper { border-radius: var(--radius-small); display: flex; justify-content: center; align-items: stretch; position: relative; overflow: hidden; }
.about_content { display: flex; flex-flow: column; justify-content: space-between; align-items: flex-start; gap: var(--gap-xxxl); }
.about_content-bottom { display: flex; flex-flow: column; gap: var(--gap-s); }
.about_list { display: flex; flex-flow: column; gap: var(--gap-xs); }
.about_list-item { display: flex; align-items: flex-start; gap: var(--gap-xs); }
.about_list-icon { display: flex; color: var(--neutral-300); flex: none; margin-top: .15rem; }

/* ---------- logos marquee ---------- */
.logos_component { display: flex; flex-flow: column; justify-content: center; align-items: center; gap: var(--gap-m); }
.marquee { width: 100%; display: flex; overflow: hidden; }
.marquee_track { display: flex; flex: none; justify-content: center; gap: var(--gap-m); will-change: transform; }
.marquee_group { display: flex; gap: var(--gap-m); }
.marquee_item { flex: none; height: 1.7rem; display: flex; align-items: center; }
.marquee_logo { filter: grayscale(1); object-fit: contain; height: 100%; width: auto; transition: all .35s; }
.marquee_logo:hover { filter: none; }

/* ---------- services cards ---------- */
.services_component { display: flex; flex-flow: column; justify-content: flex-start; gap: var(--gap-xl); }
.services_list { display: flex; flex-flow: column; }
.services_card {
  display: grid; grid-template-columns: 1fr 1fr; grid-auto-columns: 1fr; gap: var(--gap-m);
  border-radius: var(--radius-small); background-color: var(--neutral-200);
  cursor: pointer; padding: 1.563rem; text-decoration: none; transition: all .35s;
  position: sticky; top: 1rem;
}
.services_card:hover { transform: scale(1.03); }
.services_image-wrapper { aspect-ratio: 3 / 2; border-radius: var(--radius-small); position: relative; overflow: hidden; }
.services_image-wrapper .image { width: 100%; height: 100%; object-fit: cover; }
.services_content { display: flex; flex-flow: column; justify-content: center; gap: var(--gap-m); }
.services_tags-list { display: flex; flex-flow: row; flex-wrap: wrap; gap: var(--gap-xxs); }

/* ---------- cta ---------- */
.cta_component { display: flex; flex-flow: column; justify-content: center; align-items: center; gap: var(--gap-xxl); border-radius: var(--radius-small); background-color: var(--neutral-600); padding: 5rem 3.125rem; }
.cta_content { display: flex; flex-flow: column; align-items: center; width: 100%; max-width: 52rem; }
.cta_video-wrapper { z-index: 1; border-radius: var(--radius-small); width: 100%; height: 35rem; position: relative; overflow: hidden; }
.cta_video, .cta_video video { width: 100%; height: 100%; }
.cta_video video { object-fit: cover; display: block; }

/* ---------- cases ---------- */
.cases_component { display: flex; flex-flow: column; align-items: center; gap: var(--gap-xl); }
.cases_header { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--gap-xxxl); width: 100%; }
.cases_layout { display: grid; grid-template-columns: 1fr 1fr; grid-auto-columns: 1fr; gap: var(--gap-m); justify-content: space-between; width: 100%; }
.cases_featured-card { display: flex; flex-flow: column; align-items: flex-start; gap: var(--gap-s); border-radius: var(--radius-small); background-color: var(--neutral-200); padding: 1.563rem; position: relative; height: 100%; }
.cases_featured-image-wrapper { border-radius: var(--radius-small); width: 100%; max-width: 36rem; overflow: hidden; }
.cases_featured-image-wrapper .image, .cases_side-image-wrapper .image { width: 100%; height: 100%; object-fit: cover; }
.cases_meta { display: flex; flex-flow: wrap; justify-content: flex-start; align-items: stretch; gap: var(--gap-s) var(--gap-s); row-gap: var(--gap-xxs); }
.cases_meta-item { display: flex; justify-content: flex-start; align-items: center; gap: var(--gap-xxs); }
.cases_side-wrapper { height: 100%; }
.cases_side-list { display: flex; flex-flow: column; justify-content: space-between; align-items: stretch; gap: var(--gap-m); height: 100%; }
.cases_side-item { display: flex; flex-flow: column; position: relative; }
.cases_side-card { display: flex; flex-flow: row; justify-content: flex-start; align-items: stretch; gap: var(--gap-s); border-radius: var(--radius-small); background-color: var(--neutral-200); padding: 1.563rem; height: 100%; }
.cases_side-image-wrapper { border-radius: var(--radius-small); width: 100%; max-width: 8rem; overflow: hidden; flex: none; }
.cases_side-content { display: flex; flex-flow: column; justify-content: space-between; align-items: flex-start; gap: var(--gap-s); }
.cases_side-link { cursor: pointer; position: absolute; inset: 0%; z-index: 2; }
.cases_featured-card .cases_side-link { z-index: 2; }

/* ---------- testimonials ---------- */
.section_testimonials { background-color: var(--neutral-700); }
.testimonials_component { display: flex; flex-flow: column; align-items: center; gap: var(--gap-xl); }
.testimonials_header { width: 100%; max-width: 36rem; }
.testimonials_slider { width: 100%; position: relative; }
.testimonials_mask { overflow: hidden; }
.testimonials_track { display: flex; transition: transform .5s ease; will-change: transform; }
.testimonials_slide { width: 34%; flex: none; padding-right: 1.25rem; }
.testimonials_card-text { display: flex; flex-flow: column; justify-content: space-between; align-items: stretch; border-radius: var(--radius-small); background-color: var(--neutral-100); height: 32.5rem; padding: 1.563rem; }
.testimonials_card-video { border-radius: var(--radius-small); height: 32.5rem; position: relative; overflow: hidden; }
.testimonials_video-image, .testimonials_video-image video { width: 100%; height: 100%; }
.testimonials_video-image video { object-fit: cover; display: block; }
.testimonials_video-label { z-index: 2; border-radius: var(--radius-small); background-color: var(--neutral-200); padding: .5rem .938rem; position: absolute; inset: 3% auto auto 3%; }
.testimonials_rating { display: flex; justify-content: flex-start; align-items: center; gap: var(--gap-xs); }
.testimonials_stars { display: flex; align-items: center; gap: var(--gap-xxs); margin-bottom: .5rem; color: var(--neutral-500); }
.testimonials_stars .icon-embed-xxsmall { color: var(--neutral-500); }
.testimonials_quote { display: flex; flex-flow: column; gap: var(--gap-m); }
.testimonials_author { display: flex; align-items: center; gap: var(--gap-xs); }
.testimonials_author-image-wrapper { border-radius: var(--radius-large); width: 2.938rem; height: 2.938rem; overflow: hidden; flex: none; }
.testimonials_author-image-wrapper .image { width: 100%; height: 100%; object-fit: cover; }
.testimonials_arrow {
  border-radius: var(--radius-small); background-color: var(--neutral-100); border: 0; cursor: pointer;
  display: flex; flex-flow: column; justify-content: center; align-items: center;
  width: 3.125rem; height: 3.125rem; position: absolute; inset: auto 44% -15% auto; z-index: 3;
}
.testimonials_arrow.is-left { right: 50%; }
.testimonials_slider { padding-bottom: 0; }
.slide-nav { display: none; }
.slide-dot { width: .8125rem; height: .8125rem; border-radius: 50%; background-color: rgba(255, 255, 255, .4); }
.slide-dot.is-active { background-color: #fff; }

/* ---------- why ---------- */
.why_component { display: flex; flex-flow: column; gap: var(--gap-xl); }
.why_header { width: 100%; max-width: 53rem; margin-left: auto; }
.why_content { display: grid; grid-template-columns: 1fr 2fr; grid-auto-columns: 1fr; gap: var(--gap-xl); justify-content: space-between; overflow: hidden; }
.why_sidebar { display: flex; flex-flow: column; justify-content: space-between; align-items: stretch; }
.why_sidebar-top { display: flex; flex-flow: column; gap: var(--gap-xs); width: 100%; max-width: 11.875rem; }
.why_sidebar-bottom { display: flex; flex-flow: column; gap: var(--gap-s); width: 100%; max-width: 18rem; }
.why_card { border-radius: var(--radius-small); background-color: var(--neutral-600); flex: 0 auto; width: 100%; padding: 1.563rem; position: relative; overflow: hidden; }
.why_card-inner { display: flex; gap: var(--gap-s); }
.why_card-left { display: flex; flex-flow: column; justify-content: space-between; gap: var(--gap-xl); }
.why_card-content { display: flex; flex-flow: column; gap: var(--gap-m); }
.why_card-text { display: flex; flex-flow: column; gap: var(--gap-xs); }
.why_card-image-wrapper { aspect-ratio: 1; border-radius: var(--radius-small); overflow: hidden; flex: none; }
.why_card-image-wrapper .image { width: 100%; height: 100%; object-fit: cover; }

/* ---------- faq ---------- */
.section_faq { background-color: var(--neutral-700); }
.section_faq.is-white { background-color: var(--neutral-100); }
.faq_component { display: flex; flex-flow: column; align-items: center; gap: var(--gap-xl); }
.faq_header { width: 100%; max-width: 40rem; }
.faq_layout { width: 100%; max-width: 53.125rem; }
.faq_list { display: flex; flex-flow: column; gap: var(--gap-l); }
.faq_accordion { display: flex; flex-flow: column; gap: var(--gap-s); border-bottom: .063rem solid var(--neutral-400); }
.faq_trigger { cursor: pointer; display: flex; justify-content: space-between; align-items: center; background: none; border: 0; padding: 0; width: 100%; text-align: left; font: inherit; }
.faq_title-left { display: flex; align-items: center; }
.faq_icon-wrapper { margin-bottom: .2rem; display: flex; flex: none; }
.faq_icon-wrapper { transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.faq_accordion.is-open .faq_icon-wrapper { transform: rotate(-180deg); }
.faq_content { overflow: hidden; height: 0; }
.faq_content-text-wrapper { padding-top: var(--gap-xs); padding-bottom: var(--gap-s); }

/* ---------- rich text ---------- */
.rich_text h1 { margin-top: 1rem; margin-bottom: 2rem; }
.rich_text h2 { margin-top: 2rem; margin-bottom: 2rem; }
.rich_text h3 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
.rich_text h4, .rich_text h5 { margin-top: .5rem; margin-bottom: 1.5rem; }
.rich_text h6 { margin-top: .5rem; margin-bottom: 1.3rem; }
.rich_text p { margin-bottom: 1rem; }
.rich_text blockquote { margin-top: 1.5rem; margin-bottom: 1.5rem; }
.rich_text ol { margin-bottom: .5rem; padding-left: 2.5rem; }
.rich_text ul { margin-bottom: .5rem; padding-left: 2.5rem; }
.rich_text li { margin-bottom: .5rem; }

/* ---------- blog cards ---------- */
.blog_component { display: flex; flex-flow: column; align-items: flex-start; gap: var(--gap-xl); }
.blog_header { display: flex; flex-flow: wrap; justify-content: space-between; align-items: flex-end; gap: var(--gap-m) var(--gap-xxxl); width: 100%; }
.blog_list { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-auto-columns: 1fr; gap: var(--gap-s); width: 100%; }
.blog_card { display: flex; flex-flow: column; gap: var(--gap-xs); position: relative; }
.blog_image-wrapper { aspect-ratio: 1; border-radius: var(--radius-small); position: relative; overflow: hidden; }
.blog_image-wrapper .image { width: 100%; height: 100%; object-fit: cover; transition: all .5s; }
.blog_card:hover .blog_image-wrapper .image { transform: scale(1.05); }
.blog_categories-item { position: absolute; inset: auto auto 1rem 1rem; z-index: 2; }
.blog_content { display: flex; flex-flow: column; gap: var(--gap-xs); }
.blog_meta { display: flex; gap: var(--gap-s); flex-wrap: wrap; }
.blog_link { z-index: 1; cursor: pointer; position: absolute; inset: 0%; }

/* ---------- footer ---------- */
.footer { padding-bottom: 0; }
.footer_component { border-radius: var(--radius-small); background-color: var(--neutral-600); }
.footer_card { display: flex; flex-flow: column; gap: var(--gap-xxl); padding: 5rem 3.125rem 1.25rem; }
.footer_top { display: flex; justify-content: space-between; align-items: stretch; gap: var(--gap-m) var(--gap-xxxl); }
.footer_parallax { aspect-ratio: 16 / 9; border-radius: var(--radius-small); position: relative; overflow: hidden; }
.footer_parallax-image { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0% auto auto 0%; }
.footer_middle { display: flex; justify-content: space-between; gap: var(--gap-xxxl); }
.footer_brand { display: flex; flex-flow: column; gap: var(--gap-s); }
.footer_logo { width: 100%; max-width: 11.625rem; text-decoration: none; display: block; }
.footer_logo img { height: 3rem; width: auto; }
.footer_info { display: flex; flex-flow: column; gap: var(--gap-s); }
.footer_info-group { display: flex; flex-flow: column; gap: var(--gap-xs); }
.footer_socials { display: flex; gap: var(--gap-xxs); }
.footer_nav { display: flex; gap: var(--gap-m); }
.footer_nav-column { display: flex; flex-flow: column; gap: var(--gap-s); min-width: 11.25rem; }
.footer_nav-list { display: flex; flex-flow: column; gap: var(--gap-xs); }
.footer_link { cursor: pointer; text-decoration: none; }
.footer_bottom { display: flex; justify-content: space-between; align-items: stretch; padding-top: var(--gap-s); border-top: .063rem solid var(--neutral-800); }

/* ---------- about hero ---------- */
.about-hero_component { display: flex; flex-flow: column; justify-content: center; align-items: center; gap: var(--gap-xl); padding-top: var(--space-l); padding-bottom: var(--space-m); }
.about-hero_header { display: flex; flex-flow: column; justify-content: center; align-items: center; gap: var(--gap-xxxl); width: 100%; max-width: 58.125rem; }
.about-hero_grid-wrapper { display: flex; flex-flow: column; gap: var(--gap-s); width: 100%; }
.about-hero_grid { display: grid; grid-template-columns: 2fr 1fr; grid-auto-columns: 1fr; gap: var(--gap-s); }
.about-hero_grid.is-four { grid-template-columns: 1fr 1fr 1fr 1fr; }
.about-hero_image-wrapper { border-radius: var(--radius-small); height: 100%; overflow: hidden; }
.about-hero_image-wrapper .image { width: 100%; height: 100%; object-fit: cover; }
.about-hero_note { border-radius: var(--radius-small); background-color: var(--neutral-200); display: flex; flex-flow: column; justify-content: space-between; align-items: stretch; gap: var(--gap-s); padding: 1.563rem; }
.about-hero_note-bottom { display: flex; flex-flow: column; gap: var(--gap-xs); }
.about-hero_stat { border-radius: var(--radius-small); background-color: var(--neutral-600); display: flex; flex-flow: column; justify-content: space-between; align-items: stretch; gap: var(--gap-xxxl); padding: 1.563rem; overflow: hidden; }
.about-hero_stat-content { display: flex; flex-flow: column; gap: var(--gap-m); }
.about-hero_stat-top { display: flex; flex-flow: column; gap: var(--gap-xxs); }
.about-hero_cta { display: flex; flex-flow: column; justify-content: space-between; align-items: stretch; gap: var(--gap-xxl); padding: 1.563rem; }
.about-hero_cta-content { display: flex; flex-flow: column; gap: var(--gap-s); }

/* ---------- impact ---------- */
.impact_component { display: flex; flex-flow: column; gap: var(--gap-xl); }
.impact_header { display: flex; justify-content: flex-start; align-items: flex-end; gap: var(--gap-xxxl); }
.impact_grid { display: grid; grid-template-columns: 1fr 1.5fr 1fr; grid-template-rows: auto auto; grid-auto-flow: dense; gap: var(--gap-s); }
.impact_stat { border-radius: var(--radius-small); background-color: var(--neutral-200); display: flex; flex-flow: column; justify-content: center; align-items: center; gap: var(--gap-xxs); padding: 1.563rem; text-align: center; }
.impact_stat.is-green { background-color: var(--neutral-600); }
.impact_featured { border-radius: var(--radius-small); background-color: var(--neutral-200); display: flex; flex-flow: column; gap: var(--gap-m); padding: 1.563rem; grid-row: span 2; }
.impact_featured-image-wrapper { aspect-ratio: 3 / 2; border-radius: var(--radius-small); overflow: hidden; }
.impact_featured-image-wrapper .image { width: 100%; height: 100%; object-fit: cover; }
.impact_featured-content { display: flex; flex-flow: column; gap: var(--gap-m); }
.impact_tags { display: flex; flex-flow: wrap; gap: var(--gap-xxs); }
.impact_featured-text-group, .about_list-content { display: flex; flex-flow: column; gap: var(--gap-xs); }

/* ---------- principles ---------- */
.principles_component { display: flex; flex-flow: column; justify-content: flex-start; align-items: stretch; gap: var(--gap-xl); }
.principles_header { display: flex; flex-flow: column; align-items: center; width: 100%; max-width: 42.5rem; margin-left: auto; margin-right: auto; }
.principles_list { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--gap-s); justify-content: center; align-items: stretch; }
.principles_item { border-radius: var(--radius-small); background-color: var(--neutral-200); display: flex; flex-flow: column; justify-content: space-between; align-items: flex-start; gap: var(--gap-xxl); padding: 1.563rem; }
.principles_item.is-green { background-color: var(--neutral-600); }

/* ---------- team ---------- */
.team_component { display: flex; flex-flow: column; align-items: center; gap: var(--gap-xl); }
.team_header { width: 100%; max-width: 35rem; }
.team_list { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--gap-s); width: 100%; }
.team_card { display: block; border-radius: var(--radius-small); cursor: pointer; text-decoration: none; transition: all .35s; position: relative; overflow: hidden; }
.team_card:hover { transform: scale(1.03); }
.team_card_image-wrapper { width: 100%; max-width: 25.813rem; height: 32.375rem; }
.team_card_image-wrapper .image { width: 100%; height: 100%; object-fit: cover; }
.team_info { border-radius: var(--radius-small); background-color: var(--neutral-600); display: flex; flex-flow: column; gap: var(--gap-xxs); padding: 1.25rem; position: absolute; inset: auto 0% 0%; }

/* ---------- services hero / benefits / service cards ---------- */
.services-hero_component { display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto; gap: var(--gap-xl); justify-content: center; align-items: flex-end; padding-top: var(--space-l); }
.services-hero_component.is-three { grid-template-rows: auto auto auto; }
.services-hero_header { display: flex; flex-flow: column; justify-content: center; align-items: center; gap: var(--gap-xxxl); width: 100%; max-width: 50rem; margin-left: auto; margin-right: auto; }
.services-hero_grid-wrapper { display: flex; flex-flow: column; gap: var(--gap-xxl); }
.service-hero_header { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--gap-xxxl); width: 100%; }
.service-hero_bottom { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--gap-xl); width: 100%; }
.service-hero_stats { display: flex; gap: var(--gap-l); }
.service-hero_stat { display: flex; flex-flow: column; gap: var(--gap-xxs); }
.benefits_component { display: flex; flex-flow: column; gap: var(--gap-xl); }
.benefits_header { display: flex; align-items: flex-end; gap: var(--gap-xxxl); }
.full-image_wrapper { aspect-ratio: 16 / 9; border-radius: var(--radius-small); overflow: hidden; }
.full-image_wrapper .image { width: 100%; height: 100%; object-fit: cover; }
.benefits_stats { display: flex; justify-content: space-between; align-items: stretch; gap: var(--gap-s); }
.benefits_stat { display: flex; flex-flow: column; justify-content: center; align-items: center; gap: var(--gap-xxs); border-radius: var(--radius-small); padding: 3rem; text-align: center; }
.service-cards_list { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--gap-s); justify-content: center; }
.service-cards_item { border-radius: var(--radius-small); background-color: var(--neutral-200); display: flex; flex-flow: column; justify-content: flex-start; align-items: flex-start; gap: var(--gap-xxl); padding: 1.563rem; }
.service-cards_item.is-green { background-color: var(--neutral-600); }
.service-cards_item.is-photo { padding: 0; overflow: hidden; }
.service-cards_content { display: flex; flex-flow: column; gap: var(--gap-s); }
.service-cards_text-group { display: flex; flex-flow: column; gap: var(--gap-xs); }
.service-cards_metric { border-bottom: .063rem solid var(--neutral-400); padding-bottom: .625rem; }
.service-cards_checklist { display: flex; flex-flow: column; gap: var(--gap-xs); }
.services_card_image-wrapper { border-radius: var(--radius-small); display: flex; justify-content: center; align-items: stretch; height: 100%; overflow: hidden; }
.services_card_image-wrapper .image { width: 100%; height: 100%; object-fit: cover; }
.services_content-wrapper { display: flex; flex-flow: column; gap: var(--gap-s); }
.about_content-component { display: flex; gap: var(--gap-l); }
.service-principle_text { display: flex; flex-flow: column; gap: var(--gap-xs); }

/* ---------- breadcrumbs / filters ---------- */
.breadcrumbs { display: flex; flex-flow: wrap; justify-content: flex-start; align-items: center; gap: .313rem; }
.breadcrumbs_link { display: flex; align-items: center; gap: .313rem; cursor: pointer; text-decoration: none; transition: all .35s; }
.breadcrumbs_link:hover { text-decoration: underline; }
.breadcrumbs_current { display: flex; align-items: center; }
.filter_nav { display: flex; flex-flow: wrap; justify-content: center; gap: var(--gap-s); padding: .313rem 0; border-top: .063rem solid var(--neutral-1000); border-bottom: .063rem solid var(--neutral-1000); }
.filter_link { display: block; border-radius: var(--radius-small); background-color: var(--neutral-600); color: var(--neutral-200); cursor: pointer; padding: .813rem; text-decoration: none; transition: all .35s; }
.filter_link .text-size-small { color: var(--neutral-200); display: block; line-height: 1.3; }
.filter_link .text-size-small:hover { color: var(--neutral-800); }
.cases_featured-list.is-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-s); width: 100%; }
.cases_featured-list.is-related { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-s); }

/* ---------- article ---------- */
.article-header_component { display: grid; grid-template-columns: 1.5fr 1fr; gap: var(--gap-xl); justify-content: space-between; align-items: start; padding-top: var(--gap-xxxl); padding-bottom: var(--gap-xl); }
.article-header_component.is-blog { display: block; }
.article-header_component.is-blog .article-header_left { max-width: 55rem; }
.article-header_left { display: flex; flex-flow: column; gap: var(--gap-m); }
.article-header_right { display: flex; flex-flow: column; gap: var(--gap-s); }
.article-header_meta { display: flex; gap: var(--gap-s); align-items: center; }
.article-stats_list { display: flex; flex-flow: row; justify-content: space-between; align-items: center; gap: var(--gap-l); border-radius: var(--radius-small); background-color: var(--neutral-700); padding: var(--space-s); }
.article-stats_item { display: flex; flex-flow: column; justify-content: center; align-items: center; gap: var(--gap-xxs); border-radius: var(--radius-small); padding: 1rem; text-align: center; }
.article-body_component { display: flex; flex-flow: column; gap: var(--space-m); }
.article-body_layout { display: grid; grid-template-columns: 4fr 1.25fr; gap: var(--gap-m); justify-content: space-between; align-items: start; position: relative; }
.article-body_main { display: flex; flex-flow: column; justify-content: flex-start; align-items: stretch; gap: var(--gap-xl); }
.article-body_takeaways { border-radius: var(--radius-small); background-color: var(--neutral-700); display: flex; flex-flow: column; gap: var(--gap-s); padding: 1.563rem; }
.article-body_gallery { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-s); }
.article-body_gallery-image-wrapper { aspect-ratio: 1; border-radius: var(--radius-small); overflow: hidden; }
.article-body_gallery-image-wrapper.is-large { aspect-ratio: 16 / 9; grid-column: span 2; position: relative; }
.article-body_gallery-image-wrapper .image { width: 100%; height: 100%; object-fit: cover; }
.article-body_sidebar { border-radius: var(--radius-small); background-color: var(--neutral-700); display: flex; flex-flow: column; justify-content: flex-start; align-items: stretch; gap: var(--gap-m); width: 100%; padding: 1.875rem; position: sticky; top: 0; }
.article-body_sidebar-block { display: flex; flex-flow: column; gap: var(--gap-s); border-bottom: .063rem solid var(--neutral-400); padding-bottom: 1.875rem; }
.article-body_sidebar-block.is-last { border-bottom-width: 0; padding-bottom: 0; }
.article-body_author { display: flex; flex-flow: wrap; justify-content: flex-start; align-items: center; gap: var(--gap-xs); }
.article-body_author-image-wrapper { aspect-ratio: 1; border-radius: var(--radius-small); width: 100%; max-width: 5.563rem; overflow: hidden; }
.article-body_author-image-wrapper .image { width: 100%; height: 100%; object-fit: cover; }
.article-body_author-content { display: flex; flex-flow: column; gap: var(--gap-xxs); width: 100%; max-width: 8rem; }
.article-body_author-content .button_text { font-size: 1rem; color: var(--neutral-300); text-decoration: none; }
.article-body_socials { display: flex; gap: var(--gap-xxs); }
.article-body_socials .social-embed-small { color: var(--neutral-400); }
.article-body_socials .social-embed-small:hover { color: var(--neutral-300); }
.social-embed-small.is-black { color: var(--neutral-300); }
.article-related_component { display: flex; flex-flow: column; gap: var(--gap-xl); }
.article-related_header { display: flex; flex-flow: column; gap: var(--gap-s); }

/* ---------- pricing ---------- */
.pricing_header { width: 100%; max-width: 50rem; }
.pricing_component { display: flex; flex-flow: column; gap: var(--gap-s); }
.pricing_list { display: flex; gap: var(--gap-s); }
.pricing_item { flex: 1; display: flex; }
.pricing_card { border-radius: var(--radius-small); background-color: var(--neutral-700); display: flex; flex-flow: column; justify-content: flex-start; align-items: stretch; gap: var(--gap-m); padding: 1.563rem; width: 100%; }
.pricing_icon-wrapper { border-radius: var(--radius-large); background-color: var(--neutral-600); width: 3.75rem; height: 3.75rem; padding: 1.125rem; display: flex; align-items: center; justify-content: center; }
.pricing_icon-wrapper .image { width: 100%; height: 100%; }
.pricing_content { display: flex; flex-flow: column; gap: var(--gap-m); }
.pricing_text-group { display: flex; flex-flow: column; gap: var(--gap-xs); }
.pricing_price-group { display: flex; flex-flow: row; justify-content: flex-start; align-items: center; gap: var(--gap-xxs); }
.pricing_features { display: flex; flex-flow: column; gap: var(--gap-xs); }
.button_text.is-plan { font-size: 1.125rem; color: var(--neutral-300); }

/* ---------- contact / forms ---------- */
.contact_component { display: flex; flex-flow: column; justify-content: center; align-items: center; gap: var(--gap-l); padding-top: var(--space-l); padding-bottom: var(--space-m); }
.contact_header { width: 100%; max-width: 36rem; }
.form_component { display: flex; flex-flow: column; gap: var(--space-m); }
.contact_info { border-radius: var(--radius-small); background-color: var(--neutral-700); display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-s); justify-content: space-between; align-items: center; padding: 3.125rem; }
.contact_content-left { display: flex; flex-flow: column; gap: var(--space-m); }
.contact_list { display: flex; flex-flow: column; gap: var(--gap-m); }
.form_input-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-s); }
.contact-body_form, .article-body_form { display: flex; flex-flow: column; gap: var(--gap-xxs); }
.form_input { border: 1px solid #ccc; border-radius: var(--radius-small); background-color: var(--neutral-100); min-height: 3.125rem; margin-bottom: 0; padding: .5rem 1rem; font: inherit; font-size: 1rem; color: var(--neutral-300); width: 100%; }
.form_input:focus { border-color: var(--neutral-500); outline: none; }
.form_input.is-area { min-height: 12rem; padding: .7rem 1rem; resize: vertical; }
.form_submit { border: 0; border-radius: var(--radius-small); background-color: var(--neutral-900); min-height: 3.125rem; color: var(--neutral-200); font-size: .875rem; cursor: pointer; transition: all .2s; padding: .5rem 1.5rem; }
.form_submit:hover { background-color: var(--neutral-600); }
.form_message-success, .form_message-error { border-radius: var(--radius-small); background-color: var(--neutral-500); padding: 1.3rem; margin-top: var(--gap-xs); }
.form_message-success .text-size-small, .form_message-error .text-size-small { color: var(--neutral-300); }
.form_text { font-size: .875rem; font-weight: 400; color: var(--neutral-300); }

/* ---------- process / deliverables ---------- */
.process_component { display: flex; flex-flow: column; gap: var(--gap-xl); }
.process_header { display: flex; justify-content: flex-start; align-items: flex-end; gap: var(--gap-xxxl); }
.process_list { display: flex; flex-flow: column; gap: var(--gap-m); }
.process_item { display: flex; flex-flow: column; gap: var(--gap-s); border-top: .063rem solid var(--neutral-400); padding-top: 1.875rem; }
.process_trigger { display: flex; justify-content: space-between; align-items: center; cursor: pointer; background: none; border: 0; padding: 0; width: 100%; text-align: left; font: inherit; }
.process_title-group { display: flex; justify-content: space-between; align-items: center; gap: var(--gap-xxxl); }
.process_icon-wrapper { border-radius: var(--radius-large); background-color: var(--neutral-100); display: flex; flex-flow: column; justify-content: center; align-items: center; width: 4.375rem; height: 4.375rem; flex: none; }
.process_content-wrapper { display: flex; flex-flow: column; gap: var(--gap-xl); overflow: hidden; }
.process_content { display: flex; flex-flow: column; gap: var(--gap-xl); padding-top: var(--gap-l); }
.process_content-inner { display: flex; flex-flow: column; gap: var(--gap-s); width: 100%; max-width: 35rem; }
.process_text-group { display: flex; align-items: center; gap: var(--gap-xxs); flex-wrap: wrap; }
.process_images { display: flex; gap: var(--gap-s); }
.process_image-wrapper { aspect-ratio: 1; border-radius: var(--radius-small); overflow: hidden; flex: 1; }
.process_image-wrapper .image { width: 100%; height: 100%; object-fit: cover; }
.deliverables_component { display: flex; flex-flow: column; gap: var(--gap-xl); }
.section_deliverables { background-color: transparent; }
.deliverables_header { display: flex; flex-flow: column; align-items: center; width: 100%; max-width: 40.625rem; margin-left: auto; margin-right: auto; }
.deliverables_list { display: flex; flex-flow: column; gap: var(--gap-s); }
.deliverables_item { border-radius: var(--radius-small); background-color: var(--neutral-600); display: flex; flex-flow: row; justify-content: space-between; align-items: center; gap: var(--gap-m); padding: 1.875rem; transition: all .35s; }
.deliverables_item:hover { background-color: var(--neutral-300); }
.deliverables_description { display: flex; flex-flow: column; align-items: center; width: 100%; max-width: 30rem; }

/* ---------- system pages (licenses / style guide) ---------- */
.system_component { display: flex; flex-flow: column; justify-content: center; align-items: stretch; gap: var(--gap-xxl); padding-top: var(--space-l); padding-bottom: var(--space-m); }
.system_list { display: flex; flex-flow: column; gap: var(--gap-xl); }
.system_item { display: flex; flex-flow: column; align-items: flex-start; gap: var(--gap-s); }
.system_link { cursor: pointer; text-decoration: underline; color: var(--neutral-300); }
.system_images { display: flex; gap: var(--gap-s); }
.system_images-wrapper { aspect-ratio: 1; border-radius: var(--radius-small); width: 100%; overflow: hidden; }
.system_font { display: flex; flex-flow: column; align-items: flex-start; gap: var(--gap-s); }
.color { aspect-ratio: 1; width: 100%; height: 100%; }
.color._01 { background-color: var(--neutral-200); }
.color._02 { background-color: var(--neutral-300); }
.color._03 { background-color: var(--neutral-500); }
.color._04 { background-color: var(--neutral-600); }
.color._05 { background-color: var(--neutral-400); }
.color._06 { background-color: var(--neutral-700); }
.color._07 { background-color: var(--neutral-900); }
.color._08 { background-color: var(--neutral-1000); }

/* ---------- team single ---------- */
.team-single_component { display: flex; flex-flow: column; justify-content: center; align-items: flex-start; gap: var(--gap-m); }
.team-single_content-top { display: flex; flex-flow: column; align-items: flex-start; gap: var(--space-xs); border-bottom: .063rem solid var(--neutral-400); padding-bottom: var(--space-s); width: 100%; }
.team-single_content-center { display: flex; flex-flow: column; gap: var(--gap-s); }

/* ---------- password ---------- */
.section_password { background-color: var(--neutral-100); }
.password_component { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 100vh; padding: 1.25rem; }
.password_form-content { display: flex; flex-flow: column; gap: var(--gap-xs); width: 100%; max-width: 25rem; }

/* ---------- responsive (reference breakpoints 991 / 767 / 479) ---------- */
@media screen and (max-width: 991px) {
  .navbar_menu { display: none; }
  .navbar_component { width: calc(100% - 2rem); }
  .navbar_menu.is-open { display: flex; flex-flow: column; align-items: stretch; gap: var(--gap-s); position: absolute; top: calc(100% + .5rem); left: 0; right: 0; background-color: var(--neutral-300); border-radius: var(--radius-small); padding: 1rem; }
  .navbar_menu-button { display: block; }
  .hero_component, .about_component { grid-template-columns: 1fr 1fr; }
  .about-hero_grid.is-four { grid-template-columns: 1fr 1fr 1fr 1fr; }
  .impact_header { flex-flow: column; gap: var(--gap-s); align-items: flex-start; }
  .impact_grid { grid-template-columns: 1fr 1.5fr; }
  .cta_video-wrapper { height: 30rem; }
  .benefits_header { flex-flow: column; gap: var(--gap-m); align-items: flex-start; }
  .benefits_stats { display: grid; grid-template-columns: 1fr 1fr; }
  .article-body_layout { grid-template-columns: 1fr; }
  .article-body_sidebar { position: static; }
  .pricing_list { flex-flow: column; }
  .contact_info { grid-template-columns: 1fr; padding: 1.875rem; }
  .service-hero_stats { flex-wrap: wrap; }
}
@media screen and (max-width: 767px) {
  .heading-style-h1 { font-size: 3.2rem; letter-spacing: -.12rem; }
  .heading-style-h2 { font-size: 2.8rem; letter-spacing: -.12rem; }
  .hero_component, .about_component, .why_content { grid-template-columns: 1fr; }
  .stats_list, .blog_list, .principles_list, .team_list { display: flex; flex-flow: column; }
  .about-hero_grid { grid-template-columns: 2fr; }
  .about-hero_grid.is-four { grid-template-columns: 1fr 1fr; }
  .services_card, .cases_layout, .cases_featured-list.is-grid, .cases_featured-list.is-related { grid-template-columns: 1fr; }
  .cta_component { padding: 3rem 1.25rem; }
  .cta_video-wrapper { height: 20rem; }
  .footer_card { padding: 3rem 1.25rem 1.25rem; }
  .footer_top, .footer_middle, .footer_bottom { flex-flow: column; gap: var(--gap-l); }
  .footer_nav { flex-wrap: wrap; }
  .testimonials_slide { width: 85%; }
  .service-cards_list { grid-template-columns: 1fr; }
  .process_images { flex-flow: column; }
  .article-header_component { grid-template-columns: 1fr; }
  .article-stats_list { flex-flow: column; align-items: stretch; }
  .system_images { flex-wrap: wrap; }
  .rich_text ol, .rich_text ul { padding-left: 1.5rem; }
}
@media screen and (max-width: 479px) {
  .padding-global { padding-right: 1.25rem; padding-left: 1.25rem; }
  .about-hero_image-wrapper { aspect-ratio: 3 / 2; }
  .about-hero_image-wrapper.is-two-column { aspect-ratio: 1; }
  .impact_grid { display: flex; flex-flow: column; }
  .benefits_stats { display: flex; flex-flow: column; }
  .form_input-wrapper { grid-template-columns: 1fr; }
}
.service-hero_details { display: flex; flex-flow: column; gap: var(--gap-l); width: 100%; }
.service-hero_intro { width: 100%; max-width: 73.75rem; margin-left: auto; margin-right: auto; }

/* ---------- round-1 calibration fixes ---------- */
.section_process { background-color: var(--neutral-700); }
.process_trigger { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.service-hero_details { background-color: var(--neutral-700); border-radius: var(--radius-small); padding: 3.125rem; }
button.process_trigger { background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.why_card-image-wrapper { aspect-ratio: 1; border-radius: var(--radius-small); overflow: hidden; position: relative; flex: 1; }
.why_card-image-wrapper img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.why_card-left { flex: 1.15; }
.cases_featured-image-wrapper { aspect-ratio: 576/356; position: relative; }
.cases_featured-image-wrapper img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ---------- round-2 calibration fixes ---------- */
.about_content-component .about_image-wrapper { aspect-ratio: auto; height: 100%; }
.rich_text h2 { font-family: "Newsreader", serif; font-weight: 400; font-size: 3.75rem; line-height: 1.15; margin: 2rem 0; }
.rich_text h3 { font-family: "Newsreader", serif; font-weight: 400; font-size: 2.4rem; line-height: 1.15; margin: 1.5rem 0; }
.rich_text blockquote { margin: 1.5rem 0; padding: 1.5rem 1.3rem; }
.rich_text ul, .rich_text ol { margin: 0 0 .5rem; padding-left: 2.5rem; }
.rich_text li { margin: 0; }
.article-body_takeaways .rich_text ul { margin-bottom: 0; }
.article-body_gallery-item { min-width: 0; }
.article-body_gallery-item:has(> .article-body_gallery-image-wrapper.is-large) { grid-column: 1 / -1; }
.deliverables_item { display: flex; flex-flow: row; justify-content: space-between; align-items: center; gap: var(--gap-m); padding: 1.875rem; }
.system_grid { border-radius: var(--radius-small); background-color: var(--neutral-1000); grid-template-rows: auto auto; grid-template-columns: repeat(7, 1fr); grid-auto-columns: 1fr; justify-content: flex-start; gap: 16px; padding: 2rem; display: flex; flex-flow: wrap; }
.system_grid-item { border-radius: var(--radius-small); background-color: var(--neutral-700); flex-flow: column; justify-content: center; align-items: center; gap: var(--gap-s); padding: 1rem; display: flex; }
.footer_nav-title { padding-bottom: var(--gap-xs); border-bottom: .063rem solid var(--neutral-800); }
.cases_side-top { flex-flow: column; justify-content: flex-start; align-items: stretch; gap: var(--gap-s); display: flex; }
.services_tags-item { flex-flow: wrap; gap: var(--gap-xxs); display: flex; }
.icon-embed-medium { width: 2rem; height: 2rem; }
.password_contact-form { width: 40rem; max-width: 100%; display: flex; flex-direction: column; text-align: center; }
.password_form-content { max-width: 100%; text-align: left; }
.password_image-wrapper { width: 100%; max-width: 10rem; margin-left: auto; margin-right: auto; }
.password_image-wrapper img { width: 100%; height: auto; }
.testimonials_slider { position: relative; }

/* fix round: footer socials 30px (F1), breadcrumb chevron 20px (F2), process last item (F4), services about (F4) */
.footer .footer_social-link { display: flex; width: 1.875rem; height: 1.875rem; }
.footer .footer_social-link .social-embed-small, .footer .footer_social-link svg { width: 1.875rem; height: 1.875rem; }
.breadcrumbs .icon-embed-xxsmall, .breadcrumbs .icon-embed-xxsmall svg { width: 1.25rem; height: 1.25rem; }
.process_item.is-border { padding-bottom: 1.875rem; border-bottom: .063rem solid var(--neutral-400); }
.about_content-wrapper { display: flex; flex-flow: column; gap: var(--gap-xl); }
.about_header { max-width: 40.625rem; }

/* fix round 2: services about row equal columns (image ratio drives 628.8), /cases header centring */
.about_content-component > * { flex: 1 1 0; min-width: 0; }
.section_cases .cases_component > .heading_wrapper.is-center { margin-left: auto; margin-right: auto; }

/* --- state-fix round: rules measured from the reference --- */
blockquote { background-color: var(--neutral-1000); color: var(--neutral-300); font-family: "Inter", sans-serif; font-size: 1.125rem; line-height: 130%; font-style: italic; font-weight: 400; letter-spacing: 0; border-left: 5px solid #e2e2e2; }
.blog_categories-wrapper { position: absolute; inset: .625rem auto auto .625rem; }
.about-hero_grid.is-four .about-hero_image-wrapper { grid-column: span 2; }
.process_icon-wrapper { transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.process_item.is-open .process_icon-wrapper { transform: rotate(90deg); }

.rich_text h2 { color: var(--neutral-300); }

.services-hero_stat-content { display: flex; flex-flow: column; justify-content: space-between; align-items: stretch; height: 100%; gap: var(--gap-m); }

.authors_item { display: flex; flex-flow: column; gap: var(--gap-s); cursor: pointer; }
.cases_categories-item { cursor: pointer; }
.cases_featured-item { position: relative; }
.team_item { position: sticky; top: 1rem; }

.cases_grid { display: flex; flex-flow: column; gap: var(--gap-m); }
.cases_featured { display: flex; }
.cases_side { display: flex; }
.cases_featured-wrapper, .cases_side-wrapper { width: 100%; }
.breadcrumbs a { text-decoration: none; }
