/* =========================================================
   google-ads-agency.css  –  Scoped stylesheet
   Extracted from style.css; only rules used on this page.
   Sections:
     1.  Fonts
     2.  Reset & Base
     3.  CSS Custom Properties
     4.  Typography
     5.  Spacing (margins & padding)
     6.  Layout & Containers
     7.  Navigation
     8.  Buttons
     9.  Components (hero, testimonials, faq, logo strip…)
    10.  Utilities
    11.  Responsive — 991px
    12.  Responsive — 767px
    13.  Responsive — 479px
    14.  Webflow Grid Utilities
   ========================================================= */

/* ---------------------------------------------------------
   1. FONTS
   --------------------------------------------------------- */
@font-face {
  font-family: Matter;
  src: url(../fonts/65beba87334196f9c5a264df_Matter-Regular.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Matter;
  src: url(../fonts/65beba87f133b685ef5bee28_Matter-RegularItalic.ttf) format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: Matter;
  src: url(../fonts/65beba876f35d10f14b32b37_Matter-Medium.ttf) format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Matter;
  src: url(../fonts/65beba87060ee7802625627c_Matter-SemiBold.ttf) format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Matter;
  src: url(../fonts/65beba8777b20b5b0935c5e7_Matter-Bold.ttf) format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Calsans;
  src: url(../fonts/65beb965a94e99cffce1d466_CalSans-SemiBold.otf) format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* ---------------------------------------------------------
   2. RESET & BASE
   --------------------------------------------------------- */
*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  font-family: sans-serif;
  height: 100%;
}

body {
  color: #333;
  background-color: #fff;
  min-height: 100%;
  margin: 0;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
}

/* Webflow body texture overlay */
body.body {
  background-image: url(../images/65bebd76803e405540f87a00_noise-texture.png);
  background-position: 0 0;
  background-size: 320px;
}

a { background-color: transparent; text-decoration: underline; }
a:active, a:hover { outline: 0; }

img {
  border: 0;
  max-width: 100%;
  vertical-align: middle;
  display: inline-block;
}

h1 { margin: 0.67em 0; font-size: 38px; line-height: 44px; }
h1, h2, h3 { margin-top: 20px; margin-bottom: 10px; }
h2 { font-family: Calsans, sans-serif; font-size: 2.5rem; line-height: 1.1; }
h3 { font-size: 24px; line-height: 30px; }

h1, h2, h3, label, strong { font-weight: 700; }

ol, ul { padding-left: 40px; margin-top: 0; margin-bottom: 10px; }
p { margin-top: 0; margin-bottom: 10px; }
figure { margin: 0 0 10px; }
label { margin-bottom: 5px; display: block; }
small { font-size: 80%; }

button, input, select, textarea { color: inherit; font: inherit; margin: 0; }
button { overflow: visible; cursor: pointer; border: 0; }
button, select { text-transform: none; }
[type="button"], button, html input[type="button"] { -webkit-appearance: button; cursor: pointer; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
input { line-height: normal; }
input.w-button { -webkit-appearance: button; }
textarea { overflow: auto; }
table { border-collapse: collapse; border-spacing: 0; }
svg:not(:root) { overflow: hidden; }
article, details, figure, footer, header, main, menu, nav, section { display: block; }

/* ---------------------------------------------------------
   3. CSS CUSTOM PROPERTIES
   --------------------------------------------------------- */
:root {
  --raisin-black: #1f2021;
  --off-white:    #f9f6f1;
  --pale-blue:    #acc1fc;
  --white:        white;
  --dark-navy:    #1f274e;
  --grey:         #3b3b3b;
  --black:        black;
}

/* ---------------------------------------------------------
   4. TYPOGRAPHY
   --------------------------------------------------------- */

/* --- Heading scale --- */
.heading.l,
.heading.m,
.heading.r,
.heading.s,
.heading.xs,
.heading-5.r,
.button-block-17 {
  font-family: Calsans, sans-serif;
  font-weight: 600;
  letter-spacing: 0.05rem;
  text-transform: capitalize;
  line-height: 1.1;
  color: var(--raisin-black);
}

.heading.l  { margin-top: 0; font-size: 6rem; }
.heading.m  { margin-top: 0; font-size: 3rem; }
.heading.r  { margin-top: 0; font-size: 4rem; }
.heading.s  { margin-top: 0; margin-bottom: 0; font-size: 2.5rem; }
.heading.xs { font-size: 1.5rem; }
.heading-5.r { margin-top: 0; font-size: 4rem; }

.heading.s.white { font-size: 2rem; color: var(--white); }
.heading.s.white.xs { font-size: 1rem; font-family: Matter, sans-serif; font-weight: 400; letter-spacing: 0.05rem; text-transform: capitalize; }
.heading.s.navy, .heading.r.navy { color: var(--dark-navy); }
.heading.s.light-blue { color: var(--pale-blue); }
.heading.s.xs-headings { font-size: 1rem; }

.heading.l.off-white,
.heading.l.white    { color: var(--off-white); margin-top: 0; }
.heading.r.off-white { color: var(--off-white); }
.heading.r.white    { color: var(--white); }

.heading.xs.left-align { text-align: left; margin-top: 0; font-size: 2rem; }
.heading.xs.left-align.white { color: var(--off-white); text-transform: capitalize; }
.heading.xs.white { color: var(--off-white); margin-top: 0; margin-bottom: 10px; }

/* --- Heading variants used in this page --- */
.heading-3.xs,
.heading-4.xs,
.heading-5.xs {
  color: #1f2021;
  font-family: Calsans, sans-serif;
  font-size: 1.5rem;
  line-height: 1.1;
}
.heading-3.xs.left-align,
.heading-4.xs.left-align,
.heading-5.xs.left-align { text-align: left; margin-top: 0; font-size: 2rem; }
.heading-3.xs.left-align.white,
.heading-4.xs.left-align.white,
.heading-5.xs.left-align.white { color: #f9f6f1; text-transform: capitalize; }
.heading-5.r { letter-spacing: 0.05rem; text-transform: capitalize; font-weight: 600; }

/* --- Body text sizes --- */
.text-size-medium {
  font-family: Matter, sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1.5;
  color: var(--raisin-black);
  text-wrap: pretty;
}
.text-size-medium.white        { color: var(--off-white); }
.text-size-medium.white.no-margin { margin-bottom: 0; }

.text-size-regular {
  font-family: Matter, sans-serif;
  color: var(--raisin-black);
  font-size: 1.4rem;
  line-height: 1.5;
  text-wrap: pretty;
}
.text-size-regular.white     { color: var(--off-white); }
.text-size-regular.white.no-margin { margin-bottom: 0; }
.text-size-regular.left-align { text-align: left; }

.text-size-regular-5,
.text-size-regular-6,
.text-size-regular-7 {
  color: #1f2021;
  font-family: Matter, sans-serif;
  font-size: 1.4rem;
  line-height: 1.5;
}
.text-size-regular-5.white,
.text-size-regular-6.white,
.text-size-regular-7.white { color: #f9f6f1; }
.text-size-regular-5.white.no-margin,
.text-size-regular-6.white.no-margin,
.text-size-regular-7.white.no-margin { margin-bottom: 0; }

.text-size-medium-4 {
  color: #1f2021;
  font-family: Matter, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
}
.text-size-medium-4.white { color: #f9f6f1; }

.text-size-small { font-size: 0.875rem; }

/* --- Inline text helpers --- */
.light-blue-text,
.light-blue-text-2 { color: var(--pale-blue); font-weight: 500; }
.bold-text { font-weight: 700; }

/* --- Person description --- */
.person-desc   { color: var(--off-white); margin-bottom: 0; font-size: 1rem; font-family: Matter, sans-serif; }
.person-desc.dark { color: var(--raisin-black); font-size: 1.125rem; }
.person-desc-2 { color: #f9f6f1; margin-bottom: 0; font-size: 1rem; font-family: Matter, sans-serif; }

.text-weight-semibold { color: #f9f6f1; margin-bottom: 0; font-size: 1rem; font-family: Matter, sans-serif; font-weight: 500; align-self: center; }

/* ---------------------------------------------------------
   5. SPACING — MARGINS & PADDING
   --------------------------------------------------------- */

/* Margin reset pattern */
.margin-top,
.margin-bottom,
.margin-vertical {
  margin-left: 0;
  margin-right: 0;
}
.margin-top                    { margin-bottom: 0; }
.margin-bottom                 { margin-top: 0; }
.margin-vertical               { /* shared resets only */ }

.margin-top.margin-small       { margin-top: 1rem; }
.margin-top.margin-medium      { margin: 2rem 0 0; }
.margin-top.margin-xlarge      { margin: 7rem 0 0; }
.margin-top.margin-xlarge.text-align-center.bottom { margin-top: 0; margin-bottom: 7rem; }

.margin-bottom.margin-xsmall   { margin-bottom: 0.5rem; }
.margin-bottom.margin-small    { margin: 0 0 1rem; }
.margin-bottom.margin-medium   { margin: 0 0 2rem; }
.margin-bottom.margin-large    { margin: 0 0 3rem; }
.margin-bottom.margin-xlarge   { margin-bottom: 5rem; }
.margin-bottom.margin-xxlarge  { margin-bottom: 7rem; /* matches xlarge usage on page */ }
.margin-bottom.margin-large.none { margin-bottom: 0; }
.margin-bottom.margin-xlarge.margin-horizontal { margin-left: auto; margin-right: auto; }

.margin-vertical.margin-medium { margin-top: 2rem; margin-bottom: 2rem; }

/* Padding sections */
.padding-section-large,
.padding-section-large-2,
.padding-section-large-3,
.padding-section-large-4 {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 7rem;
  padding-bottom: 7rem;
  display: flex;
}
.padding-section-large.smaller-margins,
.padding-section-medium { padding-top: 5rem; padding-bottom: 5rem; }
.padding-section-large.medium { padding-top: 4rem; padding-bottom: 4rem; }
.padding-section-large.half-bottom,
.padding-section-large.half-margins { padding-top: 3.5rem; padding-bottom: 3.5rem; }
.padding-section-large.no-margins { padding-top: 0; padding-bottom: 0; }
.padding-section-large.no-bottom { padding-bottom: 0; }
.padding-section-medium.smaller-margins { padding-top: 4rem; padding-bottom: 4rem; }
.padding-section-medium.small { padding-top: 1rem; padding-bottom: 1rem; }

/* .padding-global { padding-left: 5%; padding-right: 5%; } */

.padding-bottom,
.padding-bottom.padding-xhuge { padding-top: 0; padding-left: 0; padding-right: 0; }
.padding-bottom.padding-xhuge.align-center {
  flex-flow: row;
  justify-content: center;
  padding-top: 3.5rem;
  display: flex;
}

/* ---------------------------------------------------------
   6. LAYOUT & CONTAINERS
   --------------------------------------------------------- */
.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.container-large,
.container-large-4 {
   width: 100%; 
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
.
.smaller { max-width: 80rem; }

.container-medium         { width: 100%; max-width: 54rem; margin-left: auto; margin-right: auto; }
.container-medium.more-wide { max-width: 62rem; }

.container-small          { width: 100%; max-width: 60rem; margin-left: auto; margin-right: auto; }
.container-small.dark-bg  {
  border-radius: 30px;
  max-width: 54rem;
  background-color: var(--raisin-black);
}

.max-width-large          { width: 100%; max-width: 48rem; }
.max-width-large.align-left { display: flex; }
.max-width-large.align-center {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}
.max-width-large.align-center.wider { max-width: 64rem; }
.max-width-large.xlarge   { max-width: 60rem; }

.max-width-xlarge         { width: 100%; max-width: 64rem; }
.max-width-xlarge.align-center { max-width: 80rem; flex-direction: column; justify-content: center; align-items: center; display: flex; }

.max-width-medium         { width: 100%; max-width: 35rem; }
.max-width-medium.align-center.wider { max-width: 43rem; }

/* ---------------------------------------------------------
    6. LAYOUT & UTILITIES (Continued)
   --------------------------------------------------------- */

/* Alignment utilities */
.align-left {
  text-align: left;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
}

.align-center {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Spacing modifier standalone classes */
.margin-small {
  margin-bottom: 1rem;
}

.margin-xlarge {
  margin-top: 7rem;
  margin-bottom: 7rem;
}

.margin-xxlarge {
  margin-bottom: 3rem;
}

/* Text color utility */
.dark {
  color: var(--raisin-black);
}

/* Hidden utility (already exists but ensure consistency) */
.hidden {
  display: none !important;
}

/* FAQ content wrapper */
.faq3_content {
  /* Flex defaults if needed */
  display: flex;
  flex-direction: column;
}

/* page wrapper */
.page-wrapper { /* no custom styles needed; overflow set in 767px */ }

/* ---------------------------------------------------------
   7. NAVIGATION
   ---------------------------------------------------------
   (Navigation is now handled globally in style.css)
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   8. BUTTONS
   --------------------------------------------------------- */
.w-button {
  color: #fff;
  line-height: inherit;
  cursor: pointer;
  background-color: #3898ec;
  border: 0;
  border-radius: 0;
  padding: 9px 15px;
  display: inline-block;
  text-decoration: none;
}
.w-inline-block { max-width: 100%; display: inline-block; text-decoration: none; }

.button {
  font-family: Matter, sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1;
  padding: 0.75rem 1.5rem;
  text-decoration: none;
}
.button.light {
  background-color: var(--pale-blue);
  border: 1px solid var(--off-white);
  color: var(--raisin-black);
  border-radius: 6px;
}
.button.light.white-text { color: var(--white); background-color: #acc1fc00; }
.button.light.hidden,
[hidden]                  { display: none; }

/* Primary CTA button  (blue pill) */
 .button-block-16 {
   grid-column-gap: 1rem;
   grid-row-gap: 1rem;
   border: 1px solid var(--dark-navy);
   background-color: var(--pale-blue);
   color: var(--dark-navy);
   text-transform: capitalize;
   border-radius: 100vw;
   justify-content: center;
   align-items: center;
   padding: 1rem 2rem;
   font-family: Matter, sans-serif;
   font-size: 1rem;
   font-weight: 500;
   line-height: 1.1rem;
   display: flex;
   gap: 1rem;
   position: relative;
   overflow: hidden;
   text-decoration: none;
 }
.button-block-16.nav-bar { padding-top: 0.75rem; padding-bottom: 0.75rem; }

/* Variant used in testimonials section */
.button-block-16-2 {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  color: #1f274e;
  text-transform: capitalize;
  background-color: #acc1fc;
  border: 1px solid #1f274e;
  border-radius: 100vw;
  justify-content: center;
  align-items: center;
  padding: 1rem 2rem;
  font-family: Matter, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.1rem;
  display: flex;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}

.button-text-16 {
  z-index: 1;
  justify-content: flex-start;
  display: flex;
  position: relative;
  font-size: 1rem;
  font-weight: 500;
}
.button-text-16-icon-2,
.button-text-16-icon-3 {
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  transform: rotate(0);
}
.button-icon-wrap-16 {
  z-index: 1;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}
 .button-hover-box-16 {
   background-color: #fffd63;
   height: 0%;
   position: absolute;
   inset: auto 0% 0%;
   transition: height 0.3s ease;
 }

 .button-block-16:hover .button-hover-box-16,
 .button-block-16:focus .button-hover-box-16 {
   height: 100%;
 }

.button-group {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
  display: flex;
}
.button-group.is-center { justify-content: center; }
.button-group.is-left   { justify-content: flex-start; }

/* ---------------------------------------------------------
   9. PAGE COMPONENTS
   --------------------------------------------------------- */

/* --- Section backgrounds --- */
.section_header23,
.section_faq3,
.section_layout440-2,
.section_layout225,
.section_layout237,
.whole-wrapper { background-color: var(--raisin-black); }

/* Section base styles */
.section_layout225,
.section_layout237 {
  width: 100%;
  display: block;
  position: relative;
}

/* logo strip and layout440 have no image */
.section_logo3,
.section_layout440 {
  background-color: var(--pale-blue);
  background-image: none;
  background-size: auto;
}
.section_logo3.dark { background-color: var(--dark-navy); }
.section_logo3.dark.round { border-radius: 100vw; margin-bottom: 10px; }
.section_faq3.white-bg { background-color: var(--white); }

/* --- Logo strip (marquee-style) --- */
.logo3_component { display: flex; }
.logo3_list {
  grid-column-gap: 8rem;
  grid-row-gap: 1rem;
  white-space: nowrap;
  flex-wrap: wrap;
  grid-template-rows: auto;
  grid-template-columns: auto auto auto auto auto auto auto auto;
  grid-auto-columns: 1fr;
  justify-content: flex-end;
  place-items: center start;
  margin-right: 2rem;
  display: grid;
}
.logo3_list.small { grid-column-gap: 2rem; margin-right: 0; }
.logo3_wrapper {
  flex-direction: row;
  justify-content: space-around;
  align-items: flex-start;
  display: flex;
}

/* --- Layout 440 (2-col split, dark) --- */
.layout440_component-2 {
  grid-column-gap: 5rem;
  grid-row-gap: 5rem;
  grid-template-rows: auto;
  grid-auto-columns: 1fr;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  height: 100%;
  display: grid;
}
.layout440_content-left {
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
}
.layout440_content-right-2 {
  flex-direction: column;
  justify-content: flex-end;
  margin-top: 6rem;
  margin-left: 0;
  margin-right: 0;
  display: flex;
}
.layout440_component-2.lighter-bg { background-color: var(--raisin-black); } /* section keeps bg */

/* --- Layout 16 — icon + text list --- */
.layout16_item-list {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-auto-columns: 1fr;
  grid-template-columns: 1fr;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  display: grid;
}
.layout16_item {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}
.layout16_item-icon-wrapper { flex: none; align-self: center; margin-right: 1rem; }
.layout16_item-icon-wrapper.small-margin { margin-right: 0.125rem; }
.layout16_item-text-wrapper { align-self: center; }

/* --- Layout 237 — services grid (dark bg cards) --- */
.layout237_component { flex-direction: column; align-items: center; display: flex; }
.layout237_list {
  grid-column-gap: 3rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: start center;
  display: grid;
}
.layout237_list.g-ads { grid-column-gap: 2rem; grid-row-gap: 2rem; }
.layout237_item {
  text-align: center;
  flex-direction: column;
  align-items: flex-start;
  background-color: var(--grey);
  border-radius: 12px;
  width: 100%;
  padding: 2rem;
  display: flex;
}

/* --- Layout 225 — 2-col "why us" section --- */
.layout225_component {
  grid-column-gap: 5rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: center;
  display: grid;
}
.layout225_item-list {
  grid-column-gap: 1.5rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  display: grid;
}
.layout225_item {
  background-color: var(--grey);
  border-radius: 12px;
  padding: 2rem;
  display: flex;
}
.layout225_item-icon-wrapper { flex: none; align-self: flex-start; margin-right: 1.5rem; }

/* Dark-bg card variant (237 items on google-ads page) */
.layout225_item-2 {
  background-color: #3b3b3b;
  border-radius: 12px;
  padding: 2rem;
  display: flex;
}
.layout225_item-2.g-ads {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
}

/* --- Layout 1 — standard 2-col card (used in section_layout225) --- */
.layout1_content { /* inherits flex from parent */ }

/* --- Testimonial 1 — small inline quote --- */
.testimonial1_component { text-align: center; flex-direction: column; align-items: center; display: flex; }
.testimonial1_client-image-wrapper { margin-bottom: 1rem; }
.testimonial1_client-image {
  object-fit: cover;
  border-radius: 100%;
  width: 5rem;
  min-width: 5rem;
  height: 5rem;
  min-height: 5rem;
}
.testimonial-bottom { display: flex; align-items: center; justify-content: center; flex-direction: column; }

/* --- Testimonial 32 — stacked card testimonials --- */
.testimonial32_component {
  grid-column-gap: 5rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: start;
  display: grid;
}
.testimonial32_content-left { position: sticky; top: 10%; }
.testimonial32_content-item-2 {
  background-color: #1f2021;
  border: 1px solid #1f2021;
  border-radius: 10px;
  margin-bottom: 2rem;
  padding: 2rem;
  position: static;
}
.testimonial32_rating-wrapper-2 { margin-bottom: 0.25rem; display: flex; }
.testimonial32_rating-wrapper-3 { margin-bottom: 1.5rem; display: flex; }
.testimonial32_rating-icon-2 {
  color: #ffe234;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-right: 0.25rem;
  display: flex;
}
.testimonial32_rating-icon-3 {
  color: #acc1fc;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-right: 0.25rem;
  display: flex;
}
.testimonial32_client { text-align: left; align-items: center; display: flex; }
.testimonial32_client-image-wrapper { margin-right: 1rem; }
.testimonial32_customer-image {
  object-fit: cover;
  border-radius: 100%;
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  min-height: 3rem;
}
.testimonial32_client-info { /* text inside */ }

/* --- FAQ 3 --- */
.faq3_component {
  grid-column-gap: 5rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-auto-columns: 1fr;
  grid-template-columns: 0.75fr 1fr;
  align-items: start;
  display: grid;
}
.faq3_list { border-bottom: 0.25px solid var(--off-white); }
.faq3_accordion {
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
}
.faq3_question {
  border-top: 0.25px solid var(--off-white);
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  display: flex;
}
.faq3_answer { overflow: hidden; }
.faq3_icon-wrapper { align-self: flex-start; width: 2rem; margin-left: 1.5rem; display: flex; }
.faq-wrapper { background-color: var(--grey); border-radius: 1.5rem; padding: 4rem; }

/* --- CTA section "whole-wrapper" --- */
.section_cta25 {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}
.whole-wrapper {
  border-radius: 30px;
  width: 100%;
  max-width: 90rem;
  margin-bottom: 2.5rem;
  margin-left: 2.5rem;
  margin-right: 2.5rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

/* --- Hero trusted-by bar --- */
.hero-trusted-by-wrapper {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  align-items: center;
  display: flex;
}
.hero-trusted-by-wrapper.align-center { justify-content: center; align-items: center; }
.hero-trusted-text {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: row;
  align-self: center;
  align-items: center;
  display: flex;
}

/* --- Divider lines --- */
.line         { background-color: #1f202133; width: 100%; height: 1px; }
.line-divider { color: var(--white); background-color: #ffffff4d; width: 100%; height: 1px; }
.line-divider.margin-bo { margin-bottom: 2rem; }
.line.test    { margin-bottom: 0; }

/* --- Footer logo --- */
.footer { /* container */ }
.logo-end { padding-bottom: 0; }
.image-4  { width: 100%; position: relative; }

/* --- Text align helpers --- */
.text-align-center   { text-align: center; justify-content: center; align-items: center; display: flex; }
.text-align-center-2,
.text-align-center-4,
.text-align-center-5 { text-align: center; }

/* --- Work tags --- */
.work-tag {
  font-family: Matter, sans-serif;
  color: var(--dark-navy);
  background-color: var(--pale-blue);
  border-radius: 6px;
  margin-right: 0.5rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05rem;
  text-transform: capitalize;
  text-decoration: none;
}

/* --- Icon embed helpers --- */
.icon-embed-xsmall,
.icon-embed-xsmall-5 {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
}
.icon-embed-xsmall-5.smaller { width: 1.25rem; height: 1.25rem; }
.icon-embed-xsmall-6 {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 1.25rem;
  height: 1.25rem;
  display: flex;
}
.icon-embed-small {
  color: var(--off-white);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  display: flex;
}
.icon-embed-medium {
  color: var(--pale-blue);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  display: flex;
}

/* --- Webflow JS helpers --- */
.w-embed::before, .w-embed::after { content: " "; grid-area: 1/1/2/2; display: table; }
.w-embed::after { clear: both; }
.w-dyn-bind-empty { display: none !important; }

/* ---------------------------------------------------------
   10. UTILITIES
   --------------------------------------------------------- */
.sc-d2d71ba2-9 { /* Webflow internal — keep empty */ }

/* ---------------------------------------------------------
   11. RESPONSIVE — 991px (tablet landscape)
   --------------------------------------------------------- */
@media screen and (max-width: 991px) {
  /* Webflow nav collapse */
  .w-nav[data-collapse="medium"] .w-nav-menu  { display: none; }
  .w-nav[data-collapse="medium"] .w-nav-button { display: block; }

  /* Section padding reduction */
  .padding-section-large,
  .padding-section-large-2,
  .padding-section-large-3,
  .padding-section-large-4 { padding-top: 6rem; padding-bottom: 6rem; }
  .padding-section-medium  { padding-top: 4rem; padding-bottom: 4rem; }

  /* Margin resets */
  .margin-top    { margin-bottom: 0; margin-left: 0; margin-right: 0; }
  .margin-bottom { margin-top: 0;    margin-left: 0; margin-right: 0; }
  .margin-vertical { margin-left: 0; margin-right: 0; }

  /* Nav menu (mobile overlay) */
  .navbar_menu-buttons {
    flex-direction: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    align-items: stretch;
    margin-top: 1.5rem;
    margin-left: 0;
  }
  .navbar_link { width: auto; padding: 0.75rem 0; font-size: 1.125rem; }
  .navbar12_menu {
    border-bottom: 1px solid #4e4e4e;
    background-color: var(--raisin-black);
    padding: 1rem 5% 2rem;
    position: absolute;
    overflow: auto;
  }
  .navbar12_menu.is-page-height-tablet { padding-bottom: 2rem; transition: height 0.5s; }
  .navbar12_dropdown-toggle { align-items: center; padding-top: 0.75rem; padding-bottom: 0.75rem; padding-left: 0; display: flex; }
  .navbar12_menu-dropdown   { width: 100%; font-size: 1.125rem; }
  .navbar1_dropdown-list-2  { position: static; overflow: hidden; }
  .dropdown-chevron         { inset: auto 0% auto auto; }

  /* Hamburger lines */
  .menu-icon_line-middle-inner { width: 4px; height: 0; padding-bottom: 0; padding-right: 0; }
  .menu-icon1_line-bottom-2,
  .menu-icon1_line-top-2 { width: 24px; height: 2px; padding-bottom: 0; padding-right: 0; }
  .menu-icon1-2 { width: 48px; height: 48px; margin-right: -0.5rem; padding-bottom: 0; padding-right: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; }
  .menu-icon1_line-middle-2 { width: 24px; height: 2px; margin-top: 6px; margin-bottom: 6px; padding-bottom: 0; padding-right: 0; display: flex; justify-content: center; align-items: center; }

  /* Layout grid collapses */
  .faq3_component,
  .testimonial32_component { grid-column-gap: 3rem; grid-template-columns: 1fr 1fr; grid-auto-flow: row; min-height: auto; }
  .layout440_component-2   { grid-column-gap: 3rem; grid-row-gap: 3rem; }
  .layout237_list          { grid-column-gap: 2rem; grid-template-columns: 1fr; }
  .layout225_component     { grid-column-gap: 3rem; grid-template-columns: 1fr; grid-auto-flow: row; min-height: auto; }
}

/* ---------------------------------------------------------
   12. RESPONSIVE — 767px (tablet portrait / large mobile)
   --------------------------------------------------------- */
@media screen and (max-width: 767px) {
  /* Nav */
  .w-nav[data-collapse="small"] .w-nav-menu  { display: none; }
  .w-nav[data-collapse="small"] .w-nav-button { display: block; }
  .w-nav-brand { padding-left: 10px; }
  .navbar_component  { height: auto; min-height: 4rem; }
  .navbar_logo-link  { padding-left: 0; }
  .navbar12_menu.is-page-height-tablet { padding-bottom: 6rem; }

  /* Page layout */
  .page-wrapper { overflow: hidden; }

  /* Typography */
  .text-size-medium,
  .text-size-medium-4 { font-size: 1rem; }
  .heading.r.off-white { color: var(--off-white); }

  /* Section padding */
  .padding-section-large,
  .padding-section-large-2,
  .padding-section-large-3,
  .padding-section-large-4 { padding-top: 4rem; padding-bottom: 4rem; }
  .padding-section-medium,
  .padding-section-medium.smaller-margins { padding-top: 3rem; padding-bottom: 3rem; }
  .padding-bottom { padding-top: 0; padding-left: 0; padding-right: 0; }

  /* Margin resets */
  .margin-top    { margin-bottom: 0; margin-right: 0; margin-left: 0; }
  .margin-bottom { margin-top: 0;    margin-right: 0; margin-left: 0; }
  .margin-vertical { margin-left: 0; margin-right: 0; }

  /* Logo strip */
  .logo3_list    { grid-column-gap: 1rem; grid-template-columns: auto auto auto auto auto auto auto auto; padding-top: 0; }
  .logo3_wrapper { padding: 0.75rem 1rem; }

  /* Grid collapses to single column */
  .faq3_component,
  .layout237_list,
  .testimonial32_component,
  .layout225_component { grid-row-gap: 3rem; grid-template-columns: 1fr; }
  .layout440_component-2 { grid-column-gap: 1.25rem; grid-row-gap: 1.25rem; grid-template-rows: auto; grid-template-columns: 1fr; }
  .layout225_component { flex-direction: column-reverse; display: flex; }

  /* Testimonials */
  .testimonial32_content-left { position: static; }
  .testimonial32_client { flex-direction: column; align-items: flex-start; width: 100%; }
  .testimonial32_client-image-wrapper { margin-bottom: 1rem; margin-right: 0; }
  .layout440_content-right-2 { margin-top: 0; }

  /* Inline elements */
  .content-right.hidden { display: none; }
  .section_layout225.mobile { display: block; }

  /* Misc */
  .logo-end { justify-content: center; align-items: center; display: flex; }
  .image-4,
  .whole-wrapper { max-width: 90%; }
  .faq-wrapper  { padding: 2rem; }
  .faq3_question { padding-top: 1rem; padding-bottom: 1rem; }
  .faq3_icon-wrapper { width: 1.75rem; }
  .layout225_item,
  .layout225_item-2 { flex-direction: column; }
}

/* ---------------------------------------------------------
   13. RESPONSIVE — 479px (small mobile)
   --------------------------------------------------------- */
@media screen and (max-width: 479px) {
  /* Margins */
  .margin-top, .margin-bottom, .margin-vertical { margin-left: 0; margin-right: 0; }
  .margin-top { margin-bottom: 0; }
  .margin-top.margin-medium  { margin-top: 1.25rem; }
  .margin-top.margin-xlarge  { margin-top: 3.5rem; }
  .margin-bottom { margin-top: 0; }
  .margin-bottom.margin-xlarge { margin-bottom: 2.5rem; }
  .margin-bottom.margin-xlarge.margin-horizontal { margin-left: 2rem; margin-right: 2rem; }

  /* Line divider */
  .line-divider.margin-bo { margin-bottom: 0; }

  /* Typography scale-down */
  .text-size-medium,
  .text-size-medium-4,
  .text-size-medium-4.white,
  .text-size-medium.white,
  .text-size-regular,
  .text-size-regular-5,
  .text-size-regular-5.white.no-margin,
  .text-size-regular-6,
  .text-size-regular-6.white.no-margin,
  .text-size-regular-7,
  .text-size-regular-7.white.no-margin,
  .text-size-regular.white.no-margin { font-size: 1.125rem; }

  .heading.l    { font-size: 3rem; }
  .heading.l.white { margin-top: 0; font-size: 3rem; }
  .heading.l.off-white.hidden { display: none; }
  .heading.m    { font-size: 2rem; }
  .heading.r,
  .heading-5.r  { margin-top: 0; font-size: 2.5rem; }
  .heading.s.navy { font-size: 1.5rem; }
  .heading.s.white.xs.bottom-margin { margin-bottom: 0.5rem; }
  .button-text-16 { font-size: 0.875rem; }

  /* Layout */
  .faq3_component,
  .layout225_component,
  .layout225_item-list,
  .layout237_list,
  .testimonial32_component { grid-template-columns: 1fr; }

  /* Logo & wrapper */
  .navbar_logo    { max-width: 75%; }
  .logo-end       { margin-bottom: 24px; }
  .whole-wrapper  { margin-bottom: 1.5rem; }
  .max-width-large.align-center { max-width: 80rem; }
  .logo3_list     { justify-content: center; }
  .logo3_wrapper  { justify-content: center; align-items: flex-start; }

  /* Padding */
  .padding-section-medium.small           { padding-top: 0.5rem; padding-bottom: 0.5rem; }
  .padding-section-medium.smaller-margins { padding-top: 2rem;   padding-bottom: 2rem; }
  .padding-bottom { padding-top: 0; padding-left: 0; padding-right: 0; }

  /* Hero trust bar */
  .hero-trusted-text,
  .hero-trusted-text.vertical { grid-column-gap: 8px; grid-row-gap: 8px; flex-flow: column; }
  .hero-trusted-by-wrapper.align-center { flex-flow: column; }

  /* Nav dropdown */
  .navbar12_dropdown-link { padding-left: 0; }

  /* Misc */
  .content-bottom { align-self: flex-start; }
  .work-tag       { margin-top: 0.5rem; }
}

/* ---------------------------------------------------------
   14. WEBFLOW GRID UTILITIES (inline placement hints)
   --------------------------------------------------------- */
.wf-grid-util-1  { align-self: start; }
.wf-grid-util-2  { grid-area: span 1 / span 1 / span 1 / span 1; }
.wf-grid-util-3  { grid-area: span 1 / span 1 / span 1 / span 1; justify-self: center; }
.wf-grid-util-4  { justify-self: center; }
.wf-grid-util-10 { align-self: stretch; }

/* Rolling Marquee Animation */
.rolling-container {
    width: 100%;
    overflow: hidden;
}

.section_logo3 .container-large {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

.rolling-track {
    display: flex;
    align-items: center;
    white-space: nowrap;
    animation: scroll-pill 35s linear infinite;
}

@keyframes scroll-pill {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.rolling-item {
    display: flex;
    align-items: center;
    padding-right: 35px;
    flex-shrink: 0;
}

/* Redesigned Section Layout440-2 */
.section_layout440-2.lighter-bg {
    background-color: var(--pale-blue) !important;
    position: relative;
    overflow: hidden;
}

.section_layout440-2.lighter-bg::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(159, 168, 255, 0.15) 0%, rgba(159, 168, 255, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
}

.section_layout440-2 .layout440_component-2.redesign {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.section_layout440-2 .layout440_content-left .heading.r.dark {
    color: var(--dark-navy) !important;
    font-size: clamp(2.5rem, 5vw, 4rem);
    line-height: 1.1;
}

.section_layout440-2 .layout440_content-right .text-size-medium.off-white {
    color: var(--dark-navy) !important;
    font-size: 1.25rem;
    margin-bottom: 3rem;
    opacity: 0.8;
    line-height: 1.6;
}

.section_layout440-2 .redesign-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.section_layout440-2 .redesign-grid .layout16_item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.section_layout440-2 .redesign-grid .layout16_item-icon-wrapper {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(159, 168, 255, 0.15);
    border-radius: 12px;
    padding: 0.75rem;
}

.section_layout440-2 .redesign-grid .layout16_item-icon-wrapper svg {
    width: 100%;
    height: 100%;
}

.section_layout440-2 .redesign-grid .layout16_item-text-wrapper {
    flex: 1;
}

.section_layout440-2 .redesign-grid .text-size-medium.dark {
    color: var(--dark-navy) !important;
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.4;
    margin: 0;
}

.section_layout440-2 .layout440_content-left .button-block-16.nav-bar {
    margin-top: 1rem;
}

@media screen and (max-width: 991px) {
    .section_layout440-2 .layout440_component-2.redesign {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    
    .section_layout440-2 .redesign-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .section_layout440-2 .layout440_content-left .heading.r.dark {
        text-align: center;
    }
    
    .section_layout440-2 .layout440_content-left {
        text-align: center;
    }
    
    .section_layout440-2 .layout440_content-left .button-block-16.nav-bar {
        margin: 1rem auto 0;
    }
}

@media screen and (max-width: 480px) {
    .section_layout440-2 .redesign-grid {
        grid-template-columns: 1fr;
    }
    
    .section_layout440-2 .redesign-grid .layout16_item {
        flex-direction: column;
        text-align: center;
    }
    
    .section_layout440-2 .layout440_content-right .text-size-medium.off-white {
        text-align: center;
    }
}

  .wf-grid-util-11 { grid-area: span 1 / span 1 / span 1 / span 1; }
  .wf-grid-util-12 { order: -9999; }
}
