/* Styles used only on home. */
@media (max-width:479px)  {
html.w-mod-js:not(.w-mod-ix) [data-w-id="93470015-53f2-3cf1-0bb9-ca96f16fdc53"]  {
opacity:0;
}
html.w-mod-js:not(.w-mod-ix) [data-w-id="93470015-53f2-3cf1-0bb9-ca96f16fdc5f"]  {
opacity:0;
}
html.w-mod-js:not(.w-mod-ix) [data-w-id="93470015-53f2-3cf1-0bb9-ca96f16fdc86"]  {
opacity:0;
}

}


@font-face {
    font-family: Switzer;
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: url("/assets/fonts/Switzer-Regular.otf") format("opentype");
  }
  @font-face {
    font-family: Switzer;
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    src: url("/assets/fonts/Switzer-Medium.otf") format("opentype");
  }

  .gm-root {
    --dark-blue: var(--nx-dark);
    --whitebase: #ffffff;
    --body-muted: #c7c7c7;
    --grid-gap: 0.5rem;
    --page-x: 1.5rem;
    --radius-card: 1.5rem;
  }

  html, body { margin: 0; width: 100%; }
  .gm-root, .gm-root * { box-sizing: border-box; }
  .gm-root {
    position: relative;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: var(--whitebase);
    color: var(--whitebase);
    font-family: Switzer, Inter, "Helvetica Neue", Arial, sans-serif;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }

  .gm-band-top,
  .gm-band-bot {
    position: relative;
    width: 100%;
    background: var(--whitebase);
    height: 4rem;
  }
  /* bottom gap removed */
  .gm-band-bot { height: 0; }

  .gm-band-mid {
    width: 100%;
    background: var(--whitebase);
  }

  .gm-section {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--grid-gap);
    justify-content: center;
    padding: 0 var(--page-x);
    background: var(--whitebase);
    width: 100%;
  }

  .gm-card {
    grid-column: 1 / -1;
    background: var(--dark-blue);
    border-radius: var(--radius-card);
    overflow: hidden;
    min-width: 0;
    position: relative;
  }

  .gm-bridge {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--grid-gap);
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 60dvh;
    padding: 1.5rem 0;
  }

  .gm-visual {
    grid-column: 1 / -1;
    justify-self: center;
    width: 75%;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    position: relative;
    min-width: 0;
  }

  #gm-stage {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    touch-action: none;
  }
  #gm-stage canvas {
    display: block;
    width: 100%;
    height: 100%;
    touch-action: none;
  }

  .gm-copy {
    grid-column: 2 / span 6;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    text-align: center;
    min-width: 0;
    width: 100%;
    padding: 0;
  }

  .gm-copy h1 {
    color: var(--whitebase);
    margin: 0;
    width: 100%;
    font-family: Switzer, sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    letter-spacing: -0.03em;
    line-height: 1.05;
  }

  .gm-copy p {
    margin: 0;
    width: 100%;
    font-family: Switzer, sans-serif;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.45;
    letter-spacing: -0.02em;
    color: var(--body-muted);
  }

  @media (max-width: 359px) {
    .gm-band-top { height: 3rem; }
    .gm-section { padding-inline: 1.25rem; }
    .gm-visual { width: 80%; }
  }

  @media (orientation: landscape) and (max-height: 500px) {
    .gm-band-top { height: 2.5rem; }
    .gm-bridge {
      min-height: 0;
      padding-block: 0.75rem;
    }
    .gm-visual {
      width: 50%;
      grid-column: 3 / span 4;
    }
    .gm-copy { gap: 0.75rem; }
  }

  @media (min-width: 768px) {
    .gm-band-top { height: 8rem; }
    .gm-section {
      grid-template-columns: repeat(12, minmax(0, 150px));
      padding: 0 var(--page-x);
    }
    .gm-card { grid-column: 1 / span 12; }
    .gm-bridge {
      grid-template-columns: repeat(10, minmax(0, 150px));
      justify-content: center;
      min-height: 60dvh;
      padding-block: 1.5rem;
    }
    .gm-visual {
      grid-column: 2 / span 4;
      justify-self: stretch;
      width: 100%;
      max-width: none;
    }
    .gm-copy {
      grid-column: 7 / span 3;
      justify-self: stretch;
      width: 100%;
      max-width: none;
      align-items: flex-start;
      text-align: left;
      padding: 1.5rem 0;
    }
    .gm-copy h1 {
      font-size: 2rem;
      line-height: 2.5rem;
    }
    .gm-copy p {
      font-size: 1rem;
      line-height: 1.5;
    }
  }

  @media (min-width: 768px) and (max-height: 850px) {
    .gm-band-top { height: 4.5rem; }
    .gm-bridge { min-height: 56dvh; padding-block: 1rem; }
  }

  @media (min-width: 1501px) {
    .gm-card { grid-column: 2 / span 10; }
    .gm-copy h1 {
      font-size: 2rem;
      line-height: 2.5rem;
    }
  }


section.lc{
    --lc-pad-y: 96px;
    --lc-pad-x: 3vw;
    --lc-ink:  var(--nx-dark);
    --lc-card-front: #ffffff;
    --lc-card-back:  #e6e8ec;
    --lc-line:  #dedede;
    --lc-pulse: #8a8a8a;
    --lc-stage-h: min(88vh, 1100px);
    box-sizing:border-box;
    padding: var(--lc-pad-y) var(--lc-pad-x) !important;
    margin:0 !important;min-height:0 !important;height:auto !important;width:100% !important;max-width:none !important;
    display:block !important;position:relative;overflow:hidden;
    background:#fff;
    font-family:'Switzer','Switzer Variable',Inter,system-ui,-apple-system,sans-serif;
    color:var(--lc-ink);
  }
  .lc *,.lc *::before,.lc *::after{box-sizing:border-box;}
  section.lc .lc-inner{
    max-width:none;margin:0 auto;display:grid;width:100%;
    grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);
    align-items:center;gap:2vw;
  }
  section.lc .lc-stage{
    position:relative;width:100%;margin:0;padding:0;height:auto;aspect-ratio:1/1;max-height:var(--lc-stage-h);min-height:480px;
    overflow:visible;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;
  }
  .lc-stage.is-grabbing{cursor:grabbing;}
  section.lc .lc-edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible;}
  section.lc .lc-edges line{fill:none;stroke-linecap:round;}
  section.lc .lc-card{
    position:absolute;margin:0;padding:0;top:0;left:0;display:flex;align-items:center;justify-content:center;
    background:var(--lc-card-front);overflow:hidden;pointer-events:none;
    will-change:transform;transform-style:flat;contain:paint;
  }
  section.lc .lc-card img{max-width:none;width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;will-change:filter,opacity;}
  section.lc .lc-copy{min-width:0;margin:0;text-align:center;padding:0 4vw;}
  section.lc h2.lc-h{margin:0 !important;padding:0;font-family:inherit !important;font-weight:400 !important;font-size:clamp(28px,3vw,60px) !important;line-height:1.25 !important;letter-spacing:-.01em;color:var(--lc-ink) !important;text-wrap:balance;text-align:center;}
  @media (max-width:900px){
    section.lc .lc-inner{grid-template-columns:1fr;gap:12px;align-items:start;}
    section.lc .lc-copy{order:-1;}
    section.lc{--lc-stage-h:none;padding:32px var(--lc-pad-x) 12px !important;}
    /* height follows width (not vh) so a host section that stretches the embed can't inflate the stage */
    section.lc .lc-stage{aspect-ratio:1/1.15;min-height:0;max-height:460px;align-self:start;}
    section.lc h2.lc-h{font-size:clamp(24px,6vw,32px) !important;}
  }


.nxm,.nxm * {
font-family:'Switzer','Switzer Variable',Inter,system-ui,sans-serif
}

.nxm {
position:relative;background:#fff;color:var(--nx-dark)
}

.nxm-sticky {
position:-webkit-sticky;position:sticky;top:calc(50vh - clamp(280px,36vh,450px));top:calc(50svh - clamp(280px,36svh,450px));height:clamp(560px,72vh,900px);height:clamp(560px,72svh,900px);box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr);gap:0 4vw;align-items:stretch;padding:0 2vw;max-width:1700px;margin:0 auto
}

.nxm-left {
display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;align-self:stretch
}

.nxm-h {
font-weight:500;font-size:clamp(26px,3vw,52px);letter-spacing:-.02em;line-height:1.1;margin:0;text-wrap:pretty
}

.nxm-stage {
position:relative;flex:1;min-height:0
}

.nxm-cv {
position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:block;touch-action:pan-y
}

.nxm-colwrap {
min-width:0;min-height:0;display:flex;align-items:center
}

.nxm-col {
display:flex;flex-direction:column;gap:clamp(14px,1.4vh,22px);width:100%;flex:none;transform-origin:center
}

.nxm-card {
background:var(--nx-dark);color:#fff;font-family:Switzer,sans-serif;font-weight:400;border-radius:16px;padding:clamp(18px,2.2vh,28px) clamp(22px,1.8vw,32px) clamp(22px,2.6vh,32px);opacity:0;transform:translateY(32px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)
}

.nxm-card.is-on {
opacity:1;transform:translateY(0)
}

.nxm-num {
font-size:clamp(11px,.8vw,13px);letter-spacing:.16em;font-weight:400;line-height:20px
}

.nxm-t {
font-family:Switzer,sans-serif;font-weight:400;font-size:24px;line-height:1.2;margin:clamp(14px,1.6vh,22px) 0
}

.nxm-p {
margin:0;color:#c7c7c7;font-size:1rem;line-height:1.5;text-wrap:pretty
}

@media (max-width:860px) {
.nxm-sticky {
grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;height:auto;top:100px;gap:12px;padding:0 5vw;align-items:start;align-content:start
}
.nxm-left {
height:clamp(200px,36vh,340px);gap:8px
}
.nxm-h {
font-size:clamp(26px,7vw,34px)
}

.nxm:not(.is-static) .nxm-col {
display:grid
}
.nxm:not(.is-static) .nxm-card {
grid-area:1/1;transform:translateY(24px)
}
.nxm:not(.is-static) .nxm-card.is-on {
transform:none
}
.nxm:not(.is-static) .nxm-card.is-past {
opacity:0;transform:translateY(-24px);pointer-events:none
}

}

@media (max-width:480px) {
.nxm-card {
padding:18px 20px 22px;border-radius:14px
}
.nxm-t {
font-size:24px;margin:16px 0 18px
}
.nxm-p {
font-size:1rem
}
.nxm-col {
gap:14px
}

}

@media (max-height:640px) and (min-width:861px) {
.nxm-sticky {
top:0;height:100vh;height:100svh
}

}

@media (max-width:480px) {
.nxm-num {
font-size:11px
}
.nxm-t {
font-size:24px
}
.nxm-p {
font-size:1rem
}

}

.nxm.is-static {
height:auto!important
}
.nxm.is-static .nxm-sticky {
position:static;height:auto;min-height:0;overflow:visible
}
.nxm.is-static .nxm-left {
height:auto;min-height:260px
}
.nxm.is-static .nxm-card {
opacity:1;transform:none
}

@media (prefers-reduced-motion:reduce) {
.nxm-card {
transition:none
}

}


/* Same Switzer files as nexigence Webflow site — do not use Fontshare */
  @font-face {
    font-family: Switzer;
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: url("/assets/fonts/Switzer-Regular.otf") format("opentype");
  }
  @font-face {
    font-family: Switzer;
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    src: url("/assets/fonts/Switzer-Medium.otf") format("opentype");
  }
  @font-face {
    font-family: Switzer;
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    src: url("/assets/fonts/Switzer-Semibold.otf") format("opentype");
  }
  /*
    Scale ClientTestimonials shell (scale.com/enterprise):
    - Outer: grid-layout-desktop — 12 × minmax(0,150px), gap .5rem, pad 1.5rem
    - Plate: absolute inset-y-0 centered rounded-2xl (width animates on scroll)
    - Inner: grid-inner-12, p-8 / lg:px-0 lg:py-20
    - Quote: lg:col-start-2 lg:col-span-7 · Logos: lg:col-start-11 lg:col-span-1 (mirrored Scale)
    - Tabs: aspect-square max-w-20 / lg:max-w-38 (80 / 152)
    - Quote: max-h-[6lh] / lg:max-h-[8lh], header3-regular 2.5rem, leading-11
  */
  .ps-embed {
    --spacing: 0.25rem;
    --cloud-slate: var(--nx-card-3); /* Nexigence original; Scale uses #839CB2 */
    --ink: #010101;
    --page-bg: #ffffff;
    --radius-card: 1rem;
    --radius-tab: 0.5rem;
    --radius-nav: 0.375rem;
    --radius-pill: 0.125rem;

    --grid-gap: 0.5rem;
    --col-max: 150px;
    --page-x: 0.75rem; /* Scale mobile: grid-padding-1/2 */

    --tab-size: calc(var(--spacing) * 20);    /* 80px */
    --tab-size-lg: calc(var(--spacing) * 38); /* 152px */
    --nav-size: calc(var(--spacing) * 10);    /* 40px */
    --tab-gap: calc(var(--spacing) * 2);
    --tab-pad: calc(var(--spacing) * 3);
    --tab-pad-lg: calc(var(--spacing) * 4);

    --leading-7: calc(var(--spacing) * 7);  /* 1.75rem */
    --leading-11: calc(var(--spacing) * 11); /* 2.75rem */

    --slide-ease: cubic-bezier(0.65, 0.05, 0.36, 1);
    --slide-speed: 0.55s;
    --plate-start: 0.88; /* plate starts at 88% of shell, grows to 100% */

    --font: Switzer, sans-serif;
    --font-mono: Switzer, sans-serif;
  }

  html, body { margin: 0; width: 100%; }
  .ps-embed {
    margin: 0;
    padding: 0;
    width: 100%;
    background: var(--page-bg);
    color: var(--ink);
    font-family: var(--font);
    -webkit-font-smoothing: antialiased;
  }
  /* Same as original * reset — kills UA <p> margins that inflate the card */
  .ps-embed, .ps-embed *, .ps-embed *::before, .ps-embed *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  /* Section spacing: 24px above the card at every width.
     Bottom: 32px on phones, 80px from 768px up. */
  .ps-embed .page {
    width: 100%;
    padding: 1.5rem 0 2rem;
  }
  @media (min-width: 768px) {
    .ps-embed .page { padding: 1.5rem 0 5rem; }
  }

  /* —— Scale grid-layout-mobile / grid-layout-desktop —— */
  .ps-embed .grid-layout {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--grid-gap);
    padding: 0 var(--page-x); /* 0.75rem mobile = Scale grid-padding-1/2 */
    justify-content: center;
  }
  @media (min-width: 1024px) {
    .ps-embed .grid-layout {
      grid-template-columns: repeat(12, minmax(0, var(--col-max)));
      padding: 0 1.5rem; /* lg:grid-padding */
    }
  }

  /* Shell: col-span-full isolate — plate sits behind content */
  .ps-embed .card-shell {
    grid-column: 1 / -1;
    position: relative;
    isolation: isolate;
    min-width: 0;
  }

  /* Absolute slate plate (Scale: inset-y-0 left-1/2 -translate-x-1/2 rounded-2xl) */
  .ps-embed .card-plate {
    position: absolute;
    inset-block: 0;
    left: 50%;
    translate: -50% 0;
    width: calc(100% * var(--plate-start));
    background: var(--cloud-slate);
    border-radius: var(--radius-card);
    z-index: 0;
    pointer-events: none;
    will-change: width;
  }

  /* Inner: grid-inner-8 / lg:grid-inner-12 + p-8 lg:px-0 lg:py-20 */
  .ps-embed .card-inner {
    position: relative;
    z-index: 10;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 2rem; /* gap-8 mobile stack rhythm */
    padding: 2rem; /* p-8 */
    min-width: 0;
  }
  @media (min-width: 1024px) {
    .ps-embed .card-inner {
      grid-template-columns: repeat(12, minmax(0, var(--col-max)));
      justify-content: center;
      column-gap: var(--grid-gap);
      row-gap: 0;
      padding: 5rem 0; /* lg:py-20 lg:px-0 */
      align-items: stretch;
    }
  }

  /* —— Logo column: Scale lg:col-start-2 lg:col-span-1 —— */
  .ps-embed .logo-col {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.5rem;
    min-width: 0;
  }
  @media (min-width: 1024px) {
    .ps-embed .logo-col {
      /* Mirrored Scale: logos on the right (Scale uses col 2) */
      grid-column: 11 / span 1;
      grid-row: 1;
      width: 100%;
      max-width: var(--tab-size-lg);
    }
  }

  .ps-embed .testimonial-eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink);
    line-height: 1.5;
    white-space: pre-line;
  }

  .ps-embed .testimonial-tabs {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--tab-gap);
    margin-bottom: 0.5rem;
  }

  .ps-embed .tab-fill {
    position: absolute;
    left: 0;
    top: 0;
    width: var(--tab-size);
    height: var(--tab-size);
    border-radius: var(--radius-tab);
    background: var(--ink);
    transition: transform var(--slide-speed) var(--slide-ease),
                width var(--slide-speed) var(--slide-ease),
                height var(--slide-speed) var(--slide-ease);
    z-index: 1;
    pointer-events: none;
  }

  .ps-embed .testimonial-tab {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--tab-size);
    aspect-ratio: 1 / 1;
    border-radius: var(--radius-tab);
    border: 1px solid var(--ink);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--tab-pad);
    cursor: pointer;
    overflow: hidden;
    box-sizing: border-box;
    transition: border-color var(--slide-speed) var(--slide-ease);
  }
  .ps-embed .testimonial-tab.active { border-color: transparent; }
  .ps-embed .testimonial-tab:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
  }

  .ps-embed .tab-logo {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .ps-embed .tab-logo img {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    max-width: 100px;
    max-height: 80px;
    object-fit: contain;
    object-position: center;
    transition: filter var(--slide-speed) var(--slide-ease);
  }
  .ps-embed .testimonial-tab.active .logo-dark {
    filter: brightness(0) saturate(100%) invert(88%) sepia(9%) saturate(420%) hue-rotate(169deg) brightness(92%) contrast(88%);
  }

  .ps-embed .testimonial-nav {
    display: flex;
    justify-content: space-between;
    gap: var(--tab-gap);
    width: 100%;
    margin-top: auto;
  }
  .ps-embed .testimonial-nav button {
    width: var(--nav-size);
    height: var(--nav-size);
    aspect-ratio: 1 / 1;
    flex: 0 0 auto;
    border-radius: var(--radius-nav);
    border: 1px solid var(--ink);
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink);
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    padding: 0;
  }
  /* Scale hover: black fill, chevron = section bg (via currentColor) */
  .ps-embed .testimonial-nav button:hover {
    background: var(--ink);
    border-color: var(--ink);
    color: var(--cloud-slate);
  }
  .ps-embed .testimonial-nav button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
  }
  .ps-embed .testimonial-nav svg { display: block; }

  /* —— Quote column: Scale lg:col-start-5 lg:col-span-7 —— */
  .ps-embed .quote-col {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
  }
  @media (min-width: 1024px) {
    .ps-embed .quote-col {
      /* Mirrored Scale: quote on the left (Scale uses col 5 / span 7) */
      grid-column: 2 / span 7;
      grid-row: 1;
    }
  }

  .ps-embed .quote-stack {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    gap: 4rem; /* gap-16 */
    min-height: 0;
  }

  .ps-embed .testimonial-quote-wrapper {
    position: relative;
    width: 100%;
    /* Scale: min-h-[6lh] max-h-[6lh] mobile */
    min-height: calc(var(--leading-7) * 6);
    max-height: calc(var(--leading-7) * 6);
    overflow: hidden;
  }
  @media (min-width: 1024px) {
    .ps-embed .testimonial-quote-wrapper {
      /* Scale: lg:min-h-0 lg:max-h-[8lh] */
      min-height: calc(var(--leading-11) * 8);
      max-height: calc(var(--leading-11) * 8);
    }
  }

  .ps-embed .testimonial-quote {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    gap: 20px; /* original quote-body gap */
    opacity: 0;
    transform: translateY(22px);
    transition: opacity var(--slide-speed) var(--slide-ease), transform var(--slide-speed) var(--slide-ease);
    pointer-events: none;
    overflow: hidden;
  }
  .ps-embed .testimonial-quote.active { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .ps-embed .testimonial-quote.exit-up { opacity: 0; transform: translateY(-22px); }

  /* Typography from live Nexigence partnership embed — keep italic lead + clamp sizes */
  .ps-embed .quote-lead {
    font-style: italic;
    font-size: clamp(24px, 2.2vw, 36px);
    line-height: 1.18;
    letter-spacing: -0.03em;
    font-weight: 600;
    color: var(--ink);
  }
  .ps-embed .quote-detail {
    font-size: clamp(24px, 2.2vw, 36px); /* same size as quote-lead */
    line-height: 1.35;
    letter-spacing: -0.02em;
    font-weight: 500; /* same Medium weight as headings / quote-lead */
    color: rgba(10, 10, 10, 0.78);
    max-width: 60ch;
  }

  .ps-embed .quote-attribution {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-shrink: 0;
  }
  .ps-embed .quote-author {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--ink);
  }
  .ps-embed .quote-role {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
    padding: 4px 12px;
    background: #000;
    color: var(--cloud-slate); /* section bg, not white */
    border-radius: 4px;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.25;
  }
  .ps-embed .quote-role svg { width: 6px; height: 6px; flex-shrink: 0; }

  /* Desktop tabs / nav sizing */
  @media (min-width: 1024px) {
    .ps-embed .testimonial-tabs { display: flex; }
    .ps-embed .testimonial-tab {
      max-width: var(--tab-size-lg);
      padding: var(--tab-pad-lg);
    }
    .ps-embed .tab-fill {
      width: var(--tab-size-lg);
      height: var(--tab-size-lg);
    }
    .ps-embed .testimonial-nav button {
      flex: 1 1 0;
      width: auto;
      height: auto;
      aspect-ratio: 1 / 1;
    }
  }

  /* —— Mobile / tablet (<1024): Scale stack — eyebrow+nav, quote, tabs row —— */
  @media (max-width: 1023px) {
    .ps-embed .card-plate { width: 100%; }

    .ps-embed .card-inner {
      display: grid;
      grid-template-columns: 1fr auto;
      grid-template-areas:
        "eyebrow nav"
        "quote   quote"
        "tabs    tabs";
      row-gap: 2rem;
      column-gap: 1rem;
      padding: 1.25rem;
    }
    .ps-embed .grid-layout {
      padding-left: 0;
      padding-right: 0;
    }
    .ps-embed .logo-col, .ps-embed .quote-col { display: contents; }

    .ps-embed .testimonial-eyebrow {
      grid-area: eyebrow;
      align-self: center;
      width: 50%;
    }
    .ps-embed .testimonial-nav {
      grid-area: nav;
      margin-top: 0;
      width: auto;
      align-self: center;
    }
    .ps-embed .testimonial-nav button {
      width: var(--nav-size);
      height: var(--nav-size);
      flex: 0 0 auto;
    }
    .ps-embed .quote-stack {
      grid-area: quote;
      gap: 2rem;
      height: auto;
    }
    .ps-embed .testimonial-quote-wrapper {
      min-height: 0;
      max-height: none;
      height: auto;
      overflow: visible;
    }
    /* Inactive slides stay absolute; the active one is relative so the
       wrapper grows with the full quote instead of clipping at 6lh. */
    .ps-embed .testimonial-quote {
      position: absolute;
      inset: auto;
      top: 0;
      left: 0;
      width: 100%;
      overflow: visible;
    }
    .ps-embed .testimonial-quote.active {
      position: relative;
    }
    .ps-embed .testimonial-tabs {
      grid-area: tabs;
      flex-direction: row;
      margin-bottom: 0;
      width: 100%;
    }
    .ps-embed .testimonial-tab {
      flex: 1 1 0;
      max-width: var(--tab-size);
    }
  }

  @media (max-width: 374px) {
    .ps-embed .card-inner { padding: 1.5rem; }
    .ps-embed .testimonial-tab { max-width: none; }
  }

  /* Original mobile type tweaks from live embed */
  @media (max-width: 600px) {
    .ps-embed .quote-lead, .ps-embed .quote-detail { font-size: clamp(22px, 5.5vw, 28px); }
  }

  @media (orientation: landscape) and (max-height: 500px) {
    .ps-embed .page { padding-block: 1.5rem 2.5rem; }
    .ps-embed .card-inner { padding: 1.5rem; }
  }

  @media (prefers-reduced-motion: reduce) {
    .ps-embed * { transition-duration: 0.001s !important; }
  }
