:root {
  --sl-purple: #4f197a;
  --sl-purple-bright: #682585;
  --sl-gold: #d4af37;
  --sl-ink: #130f18;
  --sl-paper: #f7f4f9;
  --sl-white: #fff;
  --sl-muted: #6e6972;
  --sl-line: rgba(79, 25, 122, 0.16);
  --sl-radius: 22px;
  --sl-shadow: 0 28px 70px rgba(25, 15, 33, 0.14);
}

.sl-shell {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.sl-page *,
.sl-philosophy-block *,
.sl-video-testimonials *,
.sl-opinions-cta * {
  box-sizing: border-box;
}

.sl-section {
  padding: clamp(76px, 8vw, 128px) 0;
}

.sl-eyebrow {
  margin: 0 0 18px !important;
  color: var(--sl-gold) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em;
  line-height: 1.4 !important;
  text-transform: uppercase;
}

.sl-eyebrow--purple {
  color: var(--sl-purple) !important;
}

.sl-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 14px 25px;
  border: 2px solid transparent;
  border-radius: 999px;
  font-size: 15px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.sl-button:hover,
.sl-button:focus-visible {
  transform: translateY(-2px);
}

.sl-button--gold {
  background: var(--sl-gold);
  color: var(--sl-ink) !important;
}

.sl-button--ghost {
  border-color: rgba(255, 255, 255, 0.72);
  color: var(--sl-white) !important;
}

.sl-button--ghost:hover,
.sl-button--ghost:focus-visible {
  border-color: var(--sl-white);
  background: rgba(255, 255, 255, 0.1);
}

.sl-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

/* Services page */
body.page-id-416 #page-header-wrap,
body.page-id-416 #page-header-bg {
  display: none !important;
}

body.page-id-416 .container-wrap,
body.page-id-416 .container.main-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.page-id-416 .container.main-content > .row,
body.page-id-416 .post-area,
body.page-id-416 .post-area > article,
body.page-id-416 .post-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sl-services-page {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: clip;
  color: var(--sl-ink);
}

.sl-services-page h1,
.sl-services-page h2,
.sl-services-page h3,
.sl-services-page p {
  max-width: none;
}

.sl-services-page h2 {
  margin: 0 0 22px;
  font-size: clamp(34px, 4.2vw, 62px);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 1.04;
}

.sl-services-hero {
  position: relative;
  min-height: min(760px, calc(100vh - 88px));
  display: grid;
  align-items: end;
  overflow: hidden;
  background: var(--sl-ink);
  isolation: isolate;
}

.sl-services-hero__media {
  position: absolute;
  inset: 0;
  z-index: -3;
  display: grid;
  grid-template-columns: 1.25fr 0.9fr 0.9fr;
  grid-template-rows: 1fr;
  gap: 3px;
  background: #000;
}

.sl-services-hero__media > br,
.sl-services-hero__media > noscript {
  display: none !important;
}

.sl-services-hero__media > img {
  width: 100%;
  height: 100%;
  min-width: 0;
  grid-row: 1;
  object-fit: cover;
  filter: saturate(0.78) contrast(1.04);
}

.sl-services-hero__media > img:nth-of-type(1) {
  grid-column: 1;
  object-position: 50% 54%;
}

.sl-services-hero__media > img:nth-of-type(2) {
  grid-column: 2;
  object-position: 54% 47%;
}

.sl-services-hero__media > img:nth-of-type(3) {
  grid-column: 3;
  object-position: 50% 59%;
}

.sl-services-hero__shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(13, 8, 18, 0.94) 0%, rgba(13, 8, 18, 0.68) 47%, rgba(13, 8, 18, 0.18) 100%),
    linear-gradient(0deg, rgba(13, 8, 18, 0.82) 0%, transparent 62%);
}

.sl-services-hero__content {
  padding-top: clamp(110px, 15vh, 180px);
  padding-bottom: clamp(70px, 10vh, 112px);
  color: var(--sl-white);
}

.sl-services-hero h1 {
  max-width: 930px;
  margin: 0;
  color: var(--sl-white);
  font-size: clamp(45px, 6.3vw, 92px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.sl-services-hero .sl-lead {
  max-width: 760px;
  margin: 27px 0 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.5;
}

.sl-split {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(45px, 8vw, 112px);
  align-items: center;
}

.sl-split--intro p:not(.sl-eyebrow) {
  color: var(--sl-muted);
  font-size: 18px;
  line-height: 1.8;
}

.sl-section--ink {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 12%, rgba(104, 37, 133, 0.34), transparent 30%),
    var(--sl-ink);
  color: var(--sl-white);
}

.sl-section--ink h2 {
  max-width: 780px;
  color: var(--sl-white);
}

.sl-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 55px;
}

.sl-service-card {
  position: relative;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  padding: clamp(28px, 4vw, 48px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--sl-radius);
  background: #17111d;
  isolation: isolate;
  transition: transform 220ms ease, border-color 220ms ease, background-color 220ms ease;
}

.sl-service-card::before,
.sl-service-card::after {
  position: absolute;
  inset: 0;
  content: "";
}

.sl-service-card::before {
  z-index: 0;
  background-position: center;
  background-size: cover;
  filter: saturate(0.76) contrast(1.06);
  transform: scale(1.01);
  transition: transform 520ms ease, filter 320ms ease;
}

.sl-service-card::after {
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(14, 9, 18, 0.54) 0%, rgba(14, 9, 18, 0.78) 56%, rgba(14, 9, 18, 0.96) 100%),
    linear-gradient(110deg, rgba(79, 25, 122, 0.48), rgba(79, 25, 122, 0.05) 70%);
  pointer-events: none;
}

.sl-service-card:nth-child(1)::before {
  background-image: url("../media/servicios-planificacion.jpg");
  background-position: center 62%;
}

.sl-service-card:nth-child(2)::before {
  background-image: url("../media/servicios-grabacion.jpg");
  background-position: center 58%;
}

.sl-service-card:nth-child(3)::before {
  background-image: url("../media/servicios-escucha.jpg");
  background-position: center 55%;
}

.sl-service-card:nth-child(4)::before {
  background-image: url("../media/santa-ana-partitura.jpg");
  background-position: center 58%;
}

.sl-service-card > * {
  position: relative;
  z-index: 2;
}

.sl-service-card:hover {
  transform: translateY(-5px);
  border-color: rgba(212, 175, 55, 0.62);
  background: #17111d;
}

.sl-service-card:hover::before,
.sl-service-card:focus-within::before {
  filter: saturate(0.9) contrast(1.08);
  transform: scale(1.045);
}

.sl-service-card--featured {
  background: #17111d;
}

.sl-service-card__number {
  color: var(--sl-gold);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.sl-service-card h3 {
  margin: 45px 0 15px;
  color: var(--sl-white);
  font-size: clamp(27px, 3vw, 42px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.06;
}

.sl-service-card p {
  margin-bottom: 30px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
  line-height: 1.7;
}

.sl-service-card a {
  margin-top: auto;
  color: var(--sl-white);
  font-weight: 800;
}

.sl-split--media {
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
}

.sl-image-frame {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: var(--sl-radius);
  box-shadow: var(--sl-shadow);
}

.sl-image-frame::before {
  position: absolute;
  inset: 16px;
  z-index: 1;
  border: 1px solid rgba(255, 255, 255, 0.54);
  border-radius: calc(var(--sl-radius) - 8px);
  content: "";
  pointer-events: none;
}

.sl-image-frame img {
  width: 100%;
  height: min(720px, 70vh);
  display: block;
  object-fit: cover;
}

.sl-image-frame--portrait img {
  object-position: center 56%;
}

.sl-process-list {
  margin: 38px 0 0;
  padding: 0;
  list-style: none;
}

.sl-process-list li {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 20px;
  padding: 20px 0;
  border-top: 1px solid var(--sl-line);
}

.sl-process-list li:last-child {
  border-bottom: 1px solid var(--sl-line);
}

.sl-process-list > li > span {
  color: var(--sl-purple);
  font-size: 13px;
  font-weight: 800;
}

.sl-process-list strong {
  display: block;
  margin-bottom: 4px;
  color: var(--sl-ink);
  font-size: 19px;
}

.sl-process-list p {
  margin: 0;
  color: var(--sl-muted);
  line-height: 1.55;
}

.sl-process-story {
  background:
    radial-gradient(circle at 92% 14%, rgba(104, 37, 133, 0.08), transparent 26%),
    linear-gradient(180deg, #fff 0%, #f7f2f8 100%);
}

.sl-tech-story {
  position: relative;
  min-height: clamp(520px, 48vw, 680px);
  margin: 0;
  overflow: hidden;
  border-radius: var(--sl-radius);
  background: #17111d;
  box-shadow: 0 34px 90px rgba(31, 17, 39, 0.22);
}

.sl-tech-story::before {
  position: absolute;
  inset: 16px;
  z-index: 3;
  border: 1px solid rgba(255, 255, 255, 0.46);
  border-radius: calc(var(--sl-radius) - 8px);
  content: "";
  pointer-events: none;
}

.sl-tech-story__video,
.sl-tech-story__veil {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.sl-tech-story__video {
  display: block;
  object-fit: cover;
  filter: saturate(0.82) contrast(1.05);
}

.sl-tech-story__veil {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(15, 9, 19, 0.88) 0%, rgba(15, 9, 19, 0.66) 46%, rgba(15, 9, 19, 0.16) 78%),
    linear-gradient(0deg, rgba(15, 9, 19, 0.58), transparent 58%);
}

.sl-tech-story figcaption {
  position: absolute;
  left: clamp(34px, 6vw, 82px);
  bottom: clamp(36px, 6vw, 78px);
  z-index: 2;
  width: min(720px, calc(100% - 68px));
  color: var(--sl-white);
}

.sl-tech-story h2 {
  max-width: 710px;
  margin: 0 0 20px;
  color: var(--sl-white);
  font-size: clamp(38px, 4.4vw, 66px);
  font-weight: 400;
  letter-spacing: -0.05em;
  line-height: 1.01;
}

.sl-tech-story figcaption > p:last-child {
  max-width: 650px;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 17px;
  line-height: 1.7;
}

.sl-process-list--cards {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  margin-top: 24px;
  overflow: hidden;
  border: 1px solid rgba(79, 25, 122, 0.12);
  border-radius: 18px;
  background: rgba(79, 25, 122, 0.12);
  box-shadow: 0 18px 56px rgba(42, 28, 49, 0.07);
}

.sl-process-list--cards li,
.sl-process-list--cards li:last-child {
  min-height: 238px;
  display: flex;
  flex-direction: column;
  gap: 36px;
  padding: 28px;
  border: 0;
  background: rgba(255, 255, 255, 0.94);
}

.sl-process-list--cards li > div {
  margin-top: auto;
}

.sl-proof-section {
  background: var(--sl-paper);
}

.sl-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: 60px;
  align-items: end;
}

.sl-section-heading > p {
  margin-bottom: 25px;
  color: var(--sl-muted);
  font-size: 17px;
  line-height: 1.7;
}

.sl-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 50px;
}

.sl-proof-card {
  position: relative;
  min-height: 315px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 32px;
  border-radius: var(--sl-radius);
  background: var(--sl-white);
  box-shadow: 0 18px 48px rgba(42, 28, 49, 0.08);
  color: var(--sl-ink) !important;
}

.sl-proof-card:nth-child(2) {
  background: var(--sl-purple);
  color: var(--sl-white) !important;
}

.sl-proof-card--image {
  background-image: linear-gradient(0deg, rgba(19, 15, 24, 0.94) 0%, rgba(19, 15, 24, 0.54) 55%, rgba(19, 15, 24, 0.38) 100%), var(--sl-proof-image);
  background-position: center;
  background-size: cover;
  color: var(--sl-white) !important;
}

.sl-proof-card span {
  margin-bottom: auto;
  color: var(--sl-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.sl-proof-card strong {
  font-size: clamp(27px, 3vw, 40px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

.sl-proof-card em {
  margin-top: 20px;
  font-size: 14px;
  font-style: normal;
  font-weight: 800;
}

.sl-proof-more {
  margin: 28px 0 0;
  text-align: right;
}

.sl-cta-panel {
  background:
    radial-gradient(circle at 15% 20%, rgba(212, 175, 55, 0.16), transparent 29%),
    linear-gradient(135deg, var(--sl-purple), #36104f);
  color: var(--sl-white);
}

.sl-cta-panel__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.65fr);
  gap: 80px;
  align-items: center;
}

.sl-cta-panel h2 {
  color: var(--sl-white);
}

.sl-cta-panel__inner > div:last-child p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 17px;
  line-height: 1.7;
}

/* Individual service pages */
body.sl-service-detail-page .container-wrap,
body.sl-service-detail-page .container-wrap > .container.main-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.sl-service-detail-page .container-wrap {
  background: var(--sl-paper);
}

.sl-service-detail {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: clip;
  color: var(--sl-ink);
}

.sl-service-detail *,
.sl-service-detail *::before,
.sl-service-detail *::after {
  box-sizing: border-box;
}

.sl-service-detail h2,
.sl-service-detail h3,
.sl-service-detail p,
.sl-service-detail figure {
  max-width: none;
  margin-top: 0;
}

.sl-detail-intro {
  position: relative;
  padding: clamp(78px, 8vw, 126px) 0;
  background:
    radial-gradient(circle at 86% 10%, rgba(104, 37, 133, 0.1), transparent 27%),
    linear-gradient(145deg, #fbfafc, #f2ecf6);
}

.sl-detail-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.72fr);
  gap: clamp(54px, 8vw, 118px);
  align-items: center;
}

.sl-detail-intro__copy h2,
.sl-detail-process__copy h2,
.sl-detail-closing h2,
.sl-detail-pillars h2 {
  margin: 0;
  font-weight: 400;
  letter-spacing: -0.048em;
  line-height: 1.03;
}

.sl-detail-intro__copy h2 {
  max-width: 820px;
  margin-bottom: 30px;
  color: var(--sl-ink);
  font-size: clamp(42px, 5vw, 72px);
}

.sl-detail-intro__copy > p:not(.sl-eyebrow) {
  max-width: 760px;
  margin: 0 0 18px;
  color: var(--sl-muted);
  font-size: 17px;
  line-height: 1.72;
}

.sl-detail-visual {
  position: relative;
  margin: 0;
}

.sl-detail-visual::before {
  position: absolute;
  z-index: 0;
  border: 1px solid rgba(212, 175, 55, 0.76);
  border-radius: 22px;
  content: "";
  pointer-events: none;
}

.sl-detail-visual--primary::before {
  inset: 7% -7% -7% 8%;
}

.sl-detail-visual img {
  position: relative;
  z-index: 1;
  width: 100%;
  display: block;
  border-radius: 18px;
  object-fit: cover;
  box-shadow: 0 30px 82px rgba(27, 15, 34, 0.18);
}

.sl-detail-visual--primary img {
  aspect-ratio: 4 / 3;
  max-height: 570px;
}

.sl-service-detail--publication .sl-detail-visual--primary {
  width: min(100%, 510px);
  justify-self: end;
}

.sl-service-detail--publication .sl-detail-visual--primary img {
  aspect-ratio: 3 / 4;
  max-height: 680px;
  object-position: center center;
}

.sl-detail-visual figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  max-width: calc(100% - 36px);
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 9px;
  background: rgba(19, 15, 24, 0.78);
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  line-height: 1.35;
  backdrop-filter: blur(8px);
}

.sl-detail-pillars {
  position: relative;
  padding: clamp(76px, 8vw, 118px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 14%, rgba(104, 37, 133, 0.32), transparent 28%),
    linear-gradient(135deg, #16101b 0%, #25142f 100%);
  color: var(--sl-white);
}

.sl-detail-pillars::after {
  position: absolute;
  top: -210px;
  right: -140px;
  width: 470px;
  height: 470px;
  border: 1px solid rgba(212, 175, 55, 0.15);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(255, 255, 255, 0.018), 0 0 0 140px rgba(255, 255, 255, 0.012);
  content: "";
  pointer-events: none;
}

.sl-detail-pillars .sl-shell {
  position: relative;
  z-index: 1;
}

.sl-detail-pillars h2 {
  max-width: 880px;
  color: var(--sl-white);
  font-size: clamp(38px, 4.5vw, 64px);
}

.sl-detail-pillars__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(42px, 5vw, 68px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.13);
}

.sl-detail-pillars__grid article {
  min-height: 285px;
  padding: clamp(28px, 3.5vw, 44px);
  background: rgba(255, 255, 255, 0.055);
}

.sl-detail-pillars__grid span {
  color: var(--sl-gold);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.13em;
}

.sl-detail-pillars__grid h3 {
  margin: 50px 0 16px;
  color: var(--sl-white);
  font-size: clamp(27px, 2.5vw, 36px);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.sl-detail-pillars__grid p {
  margin: 0;
  color: rgba(255, 255, 255, 0.69);
  font-size: 16px;
  line-height: 1.62;
}

.sl-detail-process {
  padding: clamp(82px, 9vw, 138px) 0;
  background: var(--sl-white);
}

.sl-detail-process__grid {
  display: grid;
  grid-template-columns: minmax(330px, 0.78fr) minmax(0, 1.12fr);
  gap: clamp(58px, 9vw, 130px);
  align-items: center;
}

.sl-detail-visual--secondary::before {
  inset: -6% 8% 8% -7%;
  border-color: rgba(79, 25, 122, 0.25);
}

.sl-detail-visual--secondary img {
  aspect-ratio: 4 / 3;
  max-height: 590px;
}

.sl-detail-video {
  border-radius: 18px;
}

.sl-detail-video::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 18px;
  background: linear-gradient(0deg, rgba(18, 10, 24, 0.28), transparent 48%);
  content: "";
  pointer-events: none;
}

.sl-detail-video .sl-background-video {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 16 / 10;
  display: block;
  border-radius: 18px;
  object-fit: cover;
  filter: saturate(0.84) contrast(1.04);
  box-shadow: 0 30px 82px rgba(27, 15, 34, 0.18);
}

.sl-detail-video figcaption {
  z-index: 3;
}

.sl-detail-process__copy h2 {
  max-width: 780px;
  margin-bottom: 24px;
  color: var(--sl-ink);
  font-size: clamp(39px, 4.4vw, 64px);
}

.sl-detail-process__intro {
  max-width: 740px;
  margin: 0 0 36px;
  color: var(--sl-muted);
  font-size: 17px;
  line-height: 1.7;
}

.sl-detail-steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sl-detail-steps li {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 18px;
  padding: 22px 0;
  border-top: 1px solid var(--sl-line);
}

.sl-detail-steps li:last-child {
  border-bottom: 1px solid var(--sl-line);
}

.sl-detail-steps > li > span {
  color: var(--sl-gold);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.sl-detail-steps strong {
  display: block;
  margin-bottom: 5px;
  color: var(--sl-purple);
  font-size: 20px;
}

.sl-detail-steps p {
  margin: 0;
  color: var(--sl-muted);
  line-height: 1.55;
}

.sl-detail-closing {
  padding: clamp(76px, 8vw, 118px) 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(212, 175, 55, 0.18), transparent 29%),
    linear-gradient(135deg, var(--sl-purple), #35104e);
  color: var(--sl-white);
}

.sl-detail-closing__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.58fr);
  gap: clamp(44px, 8vw, 100px);
  align-items: center;
}

.sl-detail-closing h2 {
  max-width: 840px;
  color: var(--sl-white);
  font-size: clamp(37px, 4.4vw, 62px);
}

.sl-detail-closing__actions {
  display: grid;
  gap: 13px;
}

.sl-detail-closing__actions .sl-button {
  width: 100%;
  justify-content: center;
  text-align: center;
}

.sl-detail-navigation {
  background: #17111d;
  color: var(--sl-white);
}

.sl-detail-navigation .sl-shell {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  align-items: stretch;
}

.sl-detail-navigation span,
.sl-detail-navigation a {
  display: flex;
  align-items: center;
  padding: 24px 20px;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.74) !important;
  font-size: 13px;
  line-height: 1.35;
}

.sl-detail-navigation span {
  padding-left: 0;
  color: var(--sl-gold) !important;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sl-detail-navigation a:hover,
.sl-detail-navigation a:focus-visible {
  background: rgba(104, 37, 133, 0.28);
  color: var(--sl-white) !important;
}

/* Philosophy blocks on Home and About */
.sl-philosophy-row {
  margin: 0 !important;
  overflow: hidden;
  background: var(--sl-ink);
}

body.home .sl-philosophy-row--home {
  position: relative;
  z-index: 3;
  margin-top: -38px !important;
  margin-bottom: 0 !important;
}

body.home .sl-philosophy-row--home::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 2;
  height: 1px;
  background: rgba(212, 175, 55, 0.3);
  content: "";
  pointer-events: none;
}

body.page-id-365 #page-header-wrap,
body.page-id-365 #page-header-bg {
  margin-bottom: 0 !important;
}

body.page-id-365 .container-wrap,
body.page-id-365 .container-wrap > .container.main-content {
  padding-top: 0 !important;
}

body.page-id-365 .sl-philosophy-row--about {
  margin-top: 0 !important;
}

/* Remove empty editor artifacts that created white separators between sections. */
body.home .container.main-content > .row > br,
body.page-id-365 .container.main-content > .row > p:not([id]) {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.sl-philosophy-row > .row-bg-wrap,
.sl-philosophy-row > .row-bg-wrap .row-bg {
  background: var(--sl-ink) !important;
}

.sl-philosophy-row .vc_column-inner,
.sl-philosophy-row .wpb_wrapper,
.sl-philosophy-row .wpb_text_column,
.sl-philosophy-row .wpb_text_column > .wpb_wrapper {
  margin: 0 !important;
  padding: 0 !important;
}

.sl-philosophy-block {
  width: 100vw;
  min-height: 620px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  margin-left: calc(50% - 50vw);
  background: var(--sl-ink);
  color: var(--sl-white);
}

.sl-philosophy-block figure {
  position: relative;
  min-height: 620px;
  margin: 0;
  overflow: hidden;
}

.sl-philosophy-block figure img,
.sl-philosophy-block figure video {
  width: 100%;
  height: 100%;
  min-height: 620px;
  display: block;
  object-fit: cover;
  object-position: center 50%;
  filter: saturate(0.82) contrast(1.04);
}

body.home .sl-philosophy-block figure img,
body.home .sl-philosophy-block figure video {
  object-position: center 55%;
}

body.page-id-365 .sl-philosophy-block figure img,
body.page-id-365 .sl-philosophy-block figure video {
  object-position: center 60%;
}

.sl-philosophy-block--about figure img,
.sl-philosophy-block--about figure video {
  object-position: center 60%;
}

.sl-philosophy-block__content {
  align-self: center;
  padding: clamp(54px, 7vw, 104px);
}

.sl-philosophy-block h2 {
  max-width: 690px;
  margin: 0 0 24px;
  color: var(--sl-white);
  font-size: clamp(36px, 4.4vw, 66px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 1.04;
}

.sl-philosophy-block__content > p:not(.sl-eyebrow) {
  max-width: 680px;
  color: rgba(255, 255, 255, 0.77);
  font-size: 17px;
  line-height: 1.75;
}

.sl-philosophy-block .sl-philosophy-quote {
  margin: 30px 0 !important;
  padding-left: 22px;
  border-left: 3px solid var(--sl-gold);
  color: var(--sl-white) !important;
  font-size: 19px !important;
  font-weight: 700;
}

.sl-text-link {
  color: var(--sl-gold) !important;
  font-weight: 800;
}

/* Accessible controls for decorative background videos. */
.sl-video-toggle {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 6;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  gap: 9px;
  align-items: center;
  justify-content: center;
  padding: 9px 14px;
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: 999px;
  background: rgba(19, 15, 24, 0.76);
  box-shadow: 0 8px 24px rgba(10, 6, 13, 0.2);
  color: var(--sl-white);
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.sl-video-toggle--a11y-only:not(:focus-visible) {
  width: 1px;
  height: 1px;
  min-width: 0;
  min-height: 0;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  opacity: 0;
  white-space: nowrap;
  pointer-events: none;
}

.sl-video-toggle--a11y-only:not(:focus-visible) > * {
  display: none !important;
}

.sl-video-toggle__icon {
  width: 12px;
  flex: 0 0 12px;
  color: currentColor;
  font-size: 12px;
  line-height: 1;
  text-align: center;
}

.sl-video-toggle:hover,
.sl-video-toggle:focus-visible {
  border-color: var(--sl-white);
  background: rgba(79, 25, 122, 0.94);
  box-shadow: 0 10px 30px rgba(10, 6, 13, 0.32);
  color: var(--sl-white);
  transform: translateY(-1px);
}

.is-blocked > .sl-video-toggle,
.sl-background-video.is-blocked + .sl-video-toggle {
  border-color: rgba(212, 175, 55, 0.92);
  background: rgba(19, 15, 24, 0.88);
  color: #f2d26b;
}

.sl-video-toggle:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

/* Video testimonials */
.sonolecca-youtube-facade {
  position: relative;
  overflow: hidden;
}

.sonolecca-youtube-facade > .sl-video-player {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto;
}

.sonolecca-youtube-facade > .sl-video-player img {
  position: absolute;
  inset: 0;
}

.sonolecca-youtube-facade > .sl-video-iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.sl-video-testimonials {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(74px, 8vw, 120px) 0;
  background: var(--sl-paper);
}

.sl-video-testimonials__header h1 {
  max-width: 820px;
  margin: 0;
  color: var(--sl-ink);
  font-size: clamp(40px, 5.2vw, 72px);
  font-weight: 400;
  letter-spacing: -0.05em;
  line-height: 1.02;
}

.sl-video-testimonials__intro {
  max-width: 700px;
  margin: 24px 0 45px;
  color: var(--sl-muted);
  font-size: 18px;
  line-height: 1.7;
}

.sl-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
}

.sl-video-card {
  grid-column: span 2;
  overflow: hidden;
  border-radius: 18px;
  background: var(--sl-white);
  box-shadow: 0 17px 46px rgba(45, 31, 53, 0.09);
}

.sl-video-card--featured {
  grid-column: span 3;
}

.sl-video-player {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  overflow: hidden;
  padding: 0;
  border: 0;
  background: #17111d;
  cursor: pointer;
}

body.page-id-290 .sl-video-card > .sl-video-player {
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  -webkit-appearance: none;
  appearance: none;
}

.sl-video-player img,
.sl-video-iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  object-fit: cover;
}

.sl-video-card > .sl-video-iframe,
.sl-inline-video > .sl-video-iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.sl-video-player__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(19, 15, 24, 0.48), rgba(19, 15, 24, 0.03));
}

.sl-video-player__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  padding-left: 4px;
  border: 2px solid rgba(255, 255, 255, 0.85);
  border-radius: 50%;
  background: rgba(79, 25, 122, 0.9);
  color: var(--sl-white);
  font-size: 22px;
  transform: translate(-50%, -50%);
  transition: transform 180ms ease, background-color 180ms ease;
}

.sl-video-player:hover .sl-video-player__icon,
.sl-video-player:focus-visible .sl-video-player__icon {
  background: var(--sl-purple-bright);
  transform: translate(-50%, -50%) scale(1.08);
}

.sl-video-card__caption {
  display: flex;
  flex-direction: column;
  padding: 20px 22px 23px;
}

.sl-video-card__caption strong {
  color: var(--sl-ink);
  font-size: 18px;
}

.sl-video-card__caption span {
  margin-top: 3px;
  color: var(--sl-muted);
  font-size: 13px;
}

body.page-id-290 .sl-original-video-row {
  display: none !important;
}

.sl-inline-video {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 16px;
  background: var(--sl-ink);
  box-shadow: 0 16px 42px rgba(16, 9, 21, 0.24);
}

/* Opinions page: one video gallery and editorial written testimonials */
body.page-id-290 #page-header-wrap,
body.page-id-290 #page-header-bg {
  display: none !important;
}

body.page-id-290 .container-wrap,
body.page-id-290 .container-wrap > .container.main-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: var(--sl-paper);
}

body.page-id-290 .container.main-content,
body.page-id-290 .container.main-content > .row,
body.page-id-290 .post-area,
body.page-id-290 .post-area > article,
body.page-id-290 .post-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-290 #video-testimonials,
body.page-id-290 .sl-original-video-row {
  display: none !important;
}

.sl-video-testimonials {
  padding: clamp(76px, 8vw, 126px) 0 clamp(86px, 9vw, 140px);
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 9%, rgba(104, 37, 133, 0.36), transparent 28%),
    linear-gradient(138deg, #151019 0%, #26142f 58%, #35144b 100%);
  color: var(--sl-white);
}

.sl-video-testimonials__header {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.58fr);
  gap: clamp(44px, 8vw, 112px);
  align-items: end;
  margin-bottom: clamp(52px, 7vw, 90px);
}

.sl-video-testimonials__header h1 {
  max-width: 880px;
  margin: 0;
  color: var(--sl-white);
  font-size: clamp(44px, 5.7vw, 82px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.99;
}

.sl-video-testimonials__intro {
  max-width: none;
  margin: 0;
  padding: 25px 0 2px 24px;
  border-left: 2px solid var(--sl-gold);
  color: inherit;
}

.sl-video-testimonials__intro strong {
  display: block;
  margin-bottom: 11px;
  color: var(--sl-white);
  font-size: 20px;
}

.sl-video-testimonials__intro p {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 16px;
  line-height: 1.7;
}

.sl-testimonial-feature {
  display: block;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.06);
  box-shadow: 0 34px 90px rgba(7, 3, 10, 0.34);
}

.sl-testimonial-feature .sl-video-card {
  border-radius: 0;
  box-shadow: none;
}

.sl-video-card--lead .sl-video-player {
  aspect-ratio: 21 / 9;
}

.sl-testimonial-feature__copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(30px, 4vw, 58px);
}

.sl-testimonial-feature__copy h2 {
  margin: auto 0 10px;
  color: var(--sl-white);
  font-size: clamp(34px, 4vw, 57px);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.sl-testimonial-role {
  margin: 0;
  color: var(--sl-gold);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.sl-testimonial-context {
  margin: 28px 0 0;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
  color: rgba(255, 255, 255, 0.68);
  font-size: 15px;
  line-height: 1.65;
}

.sl-testimonial-number {
  color: var(--sl-gold) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em;
}

.sl-testimonial-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.sl-video-card {
  grid-column: auto;
  box-shadow: 0 17px 46px rgba(7, 3, 10, 0.2);
}

.sl-video-player__shade {
  background: linear-gradient(0deg, rgba(19, 15, 24, 0.7), rgba(19, 15, 24, 0.04) 62%);
}

.sl-video-player__label {
  position: absolute;
  right: 20px;
  bottom: 17px;
  left: 20px;
  color: var(--sl-white);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-align: left;
  text-transform: uppercase;
}

.sl-video-card__caption {
  display: grid;
  grid-template-columns: 42px 1fr;
  padding: 23px 24px 26px;
}

.sl-video-card__caption strong {
  grid-column: 2;
  color: var(--sl-ink);
  font-size: 21px;
  line-height: 1.25;
}

.sl-video-card__caption > span:last-child {
  grid-column: 2;
  margin-top: 6px;
  color: var(--sl-muted);
  font-size: 13px;
  line-height: 1.5;
}

.sl-written-testimonials-intro {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(72px, 8vw, 118px) 0 46px;
  background: var(--sl-paper);
}

.sl-written-testimonials-intro .sl-shell > div {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.62fr);
  gap: clamp(42px, 8vw, 110px);
  align-items: end;
}

.sl-written-testimonials-intro h2 {
  max-width: 800px;
  margin: 0;
  color: var(--sl-ink);
  font-size: clamp(37px, 4.5vw, 64px);
  font-weight: 400;
  letter-spacing: -0.048em;
  line-height: 1.03;
}

.sl-written-testimonials-intro .sl-shell > div > p {
  margin: 0 0 6px;
  color: var(--sl-muted);
  font-size: 17px;
  line-height: 1.7;
}

body.page-id-290 .sl-written-testimonials-grid {
  width: min(1180px, calc(100% - 48px));
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0 auto !important;
  padding: 0 0 clamp(80px, 9vw, 138px) !important;
}

body.page-id-290 .sl-written-testimonial {
  position: relative;
  margin: 0 !important;
  padding: clamp(28px, 3.5vw, 42px) !important;
  overflow: hidden;
  border: 1px solid rgba(79, 25, 122, 0.1);
  border-radius: 20px;
  background: var(--sl-white);
  box-shadow: 0 18px 54px rgba(43, 28, 50, 0.07);
}

body.page-id-290 .sl-written-testimonial:last-child {
  grid-column: 1 / -1;
}

body.page-id-290 .sl-written-testimonial::before {
  position: static !important;
  inset: auto !important;
  display: block !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  transform: none !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--sl-gold) !important;
  content: "“" !important;
  font-family: Georgia, serif !important;
  font-size: 64px !important;
  line-height: 0.62 !important;
  opacity: 1 !important;
}

/* Remove the legacy Font Awesome quote badge when its icon font is unavailable. */
body.page-id-290 .sl-written-testimonial::after {
  display: none !important;
  content: none !important;
}

body.page-id-290 .sl-written-testimonial__body {
  position: relative;
}

body.page-id-290 .sl-written-testimonial--collapsible .sl-written-testimonial__body {
  max-height: 350px;
  overflow: hidden;
}

body.page-id-290 .sl-written-testimonial--collapsible .sl-written-testimonial__body::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 110px;
  background: linear-gradient(0deg, var(--sl-white) 15%, rgba(255, 255, 255, 0));
  content: "";
  pointer-events: none;
}

body.page-id-290 .sl-written-testimonial.is-expanded .sl-written-testimonial__body {
  max-height: none;
}

body.page-id-290 .sl-written-testimonial.is-expanded .sl-written-testimonial__body::after {
  display: none;
}

body.page-id-290 .sl-written-testimonial p {
  color: var(--sl-muted);
  font-size: 15px;
  line-height: 1.72;
}

body.page-id-290 .sl-written-testimonial em {
  font-style: normal;
}

body.page-id-290 .sl-written-testimonial strong {
  color: var(--sl-ink);
}

body.page-id-290 .sl-written-testimonial img {
  width: 48px !important;
  height: 48px !important;
  margin: 0 12px 0 0 !important;
  border-radius: 50%;
  object-fit: cover;
}

.sl-written-testimonial__toggle {
  margin-top: 22px;
  padding: 0 0 5px;
  border: 0;
  border-bottom: 2px solid var(--sl-gold);
  background: transparent;
  color: var(--sl-purple);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.sl-opinions-cta {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(76px, 8vw, 122px) 0;
  background:
    radial-gradient(circle at 13% 18%, rgba(212, 175, 55, 0.18), transparent 30%),
    linear-gradient(135deg, var(--sl-purple), #35104e);
  color: var(--sl-white);
}

.sl-opinions-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.62fr);
  gap: clamp(44px, 8vw, 108px);
  align-items: center;
}

.sl-opinions-cta h2 {
  max-width: 820px;
  margin: 0;
  color: var(--sl-white);
  font-size: clamp(38px, 4.7vw, 66px);
  font-weight: 400;
  letter-spacing: -0.05em;
  line-height: 1.03;
}

.sl-opinions-cta__inner > div:last-child p {
  margin: 0 0 27px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 17px;
  line-height: 1.7;
}

.sl-work-cta .sl-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* Project case studies and Salient header repair */
body.single-portfolio #full_width_portfolio > .container-wrap,
body.single-portfolio #full_width_portfolio > .container-wrap > .container.main-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.sl-case-study #portfolio-extra > p:first-child {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-portfolio #page-header-bg.sl-header-ready {
  background-position: center !important;
  background-size: cover !important;
}

body.single-portfolio #page-header-bg.sl-header-ready::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(19, 15, 24, 0.72), rgba(19, 15, 24, 0.24));
  content: "";
}

body.single-portfolio #page-header-bg.sl-header-ready .container {
  z-index: 2;
}

/* Farfan uses a pale cover in the Salient hero, so the title needs its own veil. */
body.postid-1205 #page-header-bg::after,
body.postid-1205 #page-header-bg.sl-header-ready::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(19, 15, 24, 0.9) 0%, rgba(19, 15, 24, 0.7) 58%, rgba(19, 15, 24, 0.4) 100%);
  content: "";
  pointer-events: none;
}

body.postid-1205 #page-header-bg > .container {
  position: relative;
  z-index: 3 !important;
}

body.postid-1205 #page-header-bg .page-header-bg-image-wrap,
body.postid-1205 #page-header-bg .page-header-bg-image {
  z-index: 0 !important;
  pointer-events: none;
}

body.postid-1205 #page-header-bg #portfolio-nav {
  z-index: 110 !important;
}

body.postid-1205 #page-header-bg h1,
body.postid-1205 #page-header-bg .subheader {
  color: var(--sl-white) !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.72);
}

/* Stable contrast for legacy project headers, including those Salient does not mark as loaded. */
body.postid-1205 #page-header-bg,
body.postid-571 #page-header-bg {
  isolation: isolate;
}

body.postid-1205 #page-header-bg::after {
  content: none !important;
}

body.postid-1205 #page-header-bg .page-header-bg-image-wrap,
body.postid-571 #page-header-bg .page-header-bg-image-wrap {
  z-index: 0 !important;
}

body.postid-1205 #page-header-bg .page-header-overlay-color,
body.postid-571 #page-header-bg .page-header-overlay-color {
  position: absolute;
  inset: 0;
  z-index: 1 !important;
  background: linear-gradient(90deg, rgba(19, 15, 24, 0.9) 0%, rgba(19, 15, 24, 0.58) 100%) !important;
  opacity: 1 !important;
  pointer-events: none;
}

body.postid-1205 #page-header-bg > .container,
body.postid-571 #page-header-bg > .container {
  position: relative;
  z-index: 2 !important;
}

body.postid-1205 #page-header-bg #portfolio-nav,
body.postid-571 #page-header-bg #portfolio-nav {
  position: relative;
  z-index: 3 !important;
}

body.postid-1205 #page-header-bg h1,
body.postid-1205 #page-header-bg .subheader,
body.postid-571 #page-header-bg h1,
body.postid-571 #page-header-bg .subheader {
  color: var(--sl-white) !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.76);
}

/* Give the Farfan cover enough room and remove the residual Salient seam
   between the project header and the case-study content. */
body.postid-1205 #page-header-wrap,
body.postid-1205 #page-header-bg {
  height: 360px !important;
  min-height: 360px !important;
}

body.postid-1205 #page-header-bg .page-header-bg-image {
  background-position: center 44% !important;
}

body.postid-1205 #full_width_portfolio > .container-wrap {
  margin-top: 0 !important;
}

.compact_audio_player_wrapper :is(.myButton_play, .myButton_stop) {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  background-position: center !important;
  cursor: pointer;
}

body.postid-1205 #page-header-bg a[rel="prev"],
body.postid-1205 #page-header-bg a[rel="next"],
body.postid-1205 #portfolio-nav #prev-link > a,
body.postid-1205 #portfolio-nav #next-link > a {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

/* Constantia case study */
.sl-constantia-case {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  background: var(--sl-white);
}

body.sl-constantia-project #page-header-wrap,
body.sl-constantia-project #page-header-bg,
body.sl-constantia-project #full_width_portfolio > .row.project-title,
body.sl-catalog-project #page-header-wrap,
body.sl-catalog-project #page-header-bg,
body.sl-catalog-project #full_width_portfolio > .row.project-title {
  height: 0 !important;
  min-height: 0 !important;
  display: none !important;
}

/* Product projects incorporated into the portfolio */
.sl-catalog-case {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  background: var(--sl-white);
}

.sl-catalog-hero {
  position: relative;
  padding: clamp(76px, 9vw, 132px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 14%, rgba(212, 175, 55, 0.22), transparent 26%),
    linear-gradient(135deg, #17111d 0%, #35114d 54%, #591c79 100%);
  color: var(--sl-white);
}

.sl-catalog-hero::before {
  position: absolute;
  top: -24vw;
  right: -17vw;
  width: 62vw;
  height: 62vw;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  content: "";
}

.sl-catalog-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.68fr);
  gap: clamp(48px, 8vw, 112px);
  align-items: center;
}

.sl-catalog-hero h1 {
  max-width: 850px;
  margin: 0 0 24px;
  color: var(--sl-white);
  font-size: clamp(44px, 5.5vw, 78px);
  font-weight: 400;
  letter-spacing: -0.052em;
  line-height: 1;
}

.sl-catalog-hero .sl-lead {
  max-width: 720px;
  color: rgba(255, 255, 255, 0.8);
}

.sl-catalog-cover {
  position: relative;
  margin: 0;
}

.sl-catalog-cover::after {
  position: absolute;
  inset: 7% -7% -7% 8%;
  z-index: -1;
  border: 1px solid rgba(212, 175, 55, 0.72);
  border-radius: 22px;
  content: "";
}

.sl-catalog-cover img {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: block;
  border-radius: 18px;
  object-fit: cover;
  box-shadow: 0 32px 88px rgba(10, 5, 14, 0.44);
  transform: rotate(1.5deg);
}

.sl-catalog-facts {
  padding-top: 46px;
  padding-bottom: 46px;
  background: var(--sl-paper);
}

.sl-catalog-facts__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border-radius: var(--sl-radius);
  background: rgba(79, 25, 122, 0.16);
}

.sl-catalog-facts article {
  min-height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 34px;
  background: var(--sl-white);
}

.sl-catalog-facts strong {
  color: var(--sl-purple);
  font-size: clamp(28px, 3.3vw, 46px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

.sl-catalog-facts span {
  max-width: 330px;
  margin-top: 11px;
  color: var(--sl-muted);
  line-height: 1.55;
}

.sl-catalog-story h2 {
  color: var(--sl-ink);
}

.sl-catalog-story p {
  color: var(--sl-muted);
  font-size: 17px;
  line-height: 1.75;
}

.sl-catalog-method h2 {
  max-width: 780px;
  margin: 0 0 48px;
  color: var(--sl-white);
}

.sl-catalog-method__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.sl-catalog-method__grid article {
  min-height: 280px;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.045);
}

.sl-catalog-method__grid span {
  color: var(--sl-gold);
  font-size: 13px;
  font-weight: 800;
}

.sl-catalog-method__grid h3 {
  margin: 70px 0 14px;
  color: var(--sl-white);
  font-size: 24px;
}

.sl-catalog-method__grid p {
  color: rgba(255, 255, 255, 0.69);
  line-height: 1.65;
}

.sl-constantia-hero {
  position: relative;
  padding: clamp(72px, 9vw, 132px) 0;
  background:
    radial-gradient(circle at 12% 12%, rgba(212, 175, 55, 0.18), transparent 29%),
    linear-gradient(135deg, #1a1020 0%, #36104f 48%, #682585 100%);
  color: var(--sl-white);
}

.sl-constantia-hero::after {
  position: absolute;
  right: -8vw;
  bottom: -32vw;
  width: 62vw;
  height: 62vw;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  content: "";
}

.sl-constantia-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(350px, 0.75fr);
  gap: clamp(46px, 8vw, 112px);
  align-items: center;
}

.sl-constantia-hero__copy h1 {
  max-width: 850px;
  margin: 0 0 24px;
  color: var(--sl-white);
  font-size: clamp(44px, 5.8vw, 82px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.sl-constantia-hero__copy .sl-lead {
  max-width: 730px;
  color: rgba(255, 255, 255, 0.82);
}

.sl-constantia-cover {
  position: relative;
  margin: 0;
  transform: rotate(2deg);
}

.sl-constantia-cover::before {
  position: absolute;
  inset: 8% -6% -7% 7%;
  border: 1px solid rgba(212, 175, 55, 0.7);
  border-radius: 22px;
  content: "";
}

.sl-constantia-cover img {
  position: relative;
  width: 100%;
  display: block;
  border-radius: 18px;
  box-shadow: 0 35px 90px rgba(10, 5, 14, 0.42);
}

.sl-constantia-facts {
  padding-top: 46px;
  padding-bottom: 46px;
  background: var(--sl-paper);
}

.sl-constantia-facts__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border-radius: var(--sl-radius);
  background: rgba(79, 25, 122, 0.16);
}

.sl-constantia-facts article {
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 34px;
  background: var(--sl-white);
}

.sl-constantia-facts strong {
  color: var(--sl-purple);
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 500;
  letter-spacing: -0.04em;
}

.sl-constantia-facts span {
  max-width: 320px;
  margin-top: 9px;
  color: var(--sl-muted);
  line-height: 1.55;
}

.sl-constantia-story h2,
.sl-constantia-gallery h2 {
  color: var(--sl-ink);
}

.sl-constantia-story p,
.sl-constantia-gallery p {
  color: var(--sl-muted);
  font-size: 17px;
  line-height: 1.75;
}

.sl-constantia-process h2 {
  max-width: 780px;
  margin: 0 0 48px;
  color: var(--sl-white);
}

.sl-constantia-process__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.sl-constantia-process__grid article {
  min-height: 300px;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.045);
}

.sl-constantia-process__grid span {
  color: var(--sl-gold);
  font-size: 13px;
  font-weight: 800;
}

.sl-constantia-process__grid h3 {
  margin: 88px 0 14px;
  color: var(--sl-white);
  font-size: 25px;
}

.sl-constantia-process__grid p {
  color: rgba(255, 255, 255, 0.69);
  line-height: 1.65;
}

.sl-constantia-gallery {
  background: var(--sl-paper);
}

.sl-constantia-gallery__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.75fr);
  gap: clamp(48px, 8vw, 110px);
  align-items: center;
}

.sl-constantia-gallery figure {
  margin: 0;
}

.sl-constantia-gallery img {
  width: 100%;
  display: block;
  border-radius: var(--sl-radius);
  box-shadow: 0 28px 70px rgba(42, 28, 49, 0.13);
}

body.postid-1205 .container-wrap .wpb_row:first-of-type,
body.postid-2016 .container-wrap .wpb_row:first-of-type,
body.postid-279 .container-wrap .wpb_row:first-of-type {
  position: relative;
  padding: clamp(74px, 8vw, 112px) 0 clamp(66px, 7vw, 94px) !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 91% 8%, rgba(104, 37, 133, 0.13), transparent 27%),
    linear-gradient(145deg, #faf8fb 0%, #f4eef7 56%, #fff 100%) !important;
}

body.postid-1205 .container-wrap .wpb_row:first-of-type::after,
body.postid-2016 .container-wrap .wpb_row:first-of-type::after,
body.postid-279 .container-wrap .wpb_row:first-of-type::after {
  position: absolute;
  top: -170px;
  right: -120px;
  width: 390px;
  height: 390px;
  border: 1px solid rgba(79, 25, 122, 0.14);
  border-radius: 50%;
  box-shadow: 0 0 0 60px rgba(79, 25, 122, 0.022), 0 0 0 120px rgba(79, 25, 122, 0.016);
  content: "";
  pointer-events: none;
}

body.postid-1205 .container-wrap .wpb_row:first-of-type .row_col_wrap_12,
body.postid-2016 .container-wrap .wpb_row:first-of-type .row_col_wrap_12,
body.postid-279 .container-wrap .wpb_row:first-of-type .row_col_wrap_12 {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 64px), 1280px) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  counter-reset: sl-case-fact;
}

body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-12,
body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-12,
body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-12 {
  grid-column: 1 / -1;
  width: min(100%, 1080px) !important;
  margin: 0 0 clamp(42px, 5vw, 66px) !important;
  padding: 0 0 0 clamp(24px, 3vw, 38px) !important;
  border-left: 4px solid var(--sl-gold);
}

body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-4,
body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-4,
body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-4 {
  position: relative;
  min-height: 218px;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(79, 25, 122, 0.12);
  border-right-width: 0;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 55px rgba(42, 26, 51, 0.055);
  counter-increment: sl-case-fact;
}

body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-4:first-of-type,
body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-4:first-of-type,
body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-4:first-of-type {
  border-radius: 18px 0 0 18px;
}

body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-4:last-of-type,
body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-4:last-of-type,
body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-4:last-of-type {
  border-right-width: 1px;
  border-radius: 0 18px 18px 0;
}

body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-4::before,
body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-4::before,
body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-4::before {
  position: absolute;
  top: 28px;
  right: 30px;
  color: rgba(79, 25, 122, 0.25);
  content: "0" counter(sl-case-fact);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-4 > .vc_column-inner,
body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-4 > .vc_column-inner,
body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-4 > .vc_column-inner {
  height: 100%;
  padding: 46px clamp(26px, 3vw, 40px) 34px !important;
}

body.postid-1205 .container-wrap .wpb_row:first-of-type h6,
body.postid-2016 .container-wrap .wpb_row:first-of-type h6,
body.postid-279 .container-wrap .wpb_row:first-of-type h6 {
  margin-bottom: 22px;
  color: var(--sl-gold) !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.3;
}

body.postid-1205 .container-wrap .wpb_row:first-of-type h2,
body.postid-2016 .container-wrap .wpb_row:first-of-type h2,
body.postid-279 .container-wrap .wpb_row:first-of-type h2 {
  max-width: 1050px;
  margin-bottom: 22px;
  color: var(--sl-ink);
  font-size: clamp(42px, 4.25vw, 64px);
  font-weight: 400;
  letter-spacing: -0.048em;
  line-height: 1.02;
}

body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-12 p,
body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-12 p,
body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-12 p {
  max-width: 910px;
  margin: 0;
  color: #68616d;
  font-size: clamp(17px, 1.45vw, 20px);
  line-height: 1.62;
}

body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-4 :is(h2, h3, h4),
body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-4 :is(h2, h3, h4),
body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-4 :is(h2, h3, h4) {
  max-width: calc(100% - 38px);
  margin: 0 0 17px;
  color: var(--sl-purple);
  font-size: clamp(25px, 2.2vw, 32px);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-4 p,
body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-4 p,
body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-4 p {
  margin: 0;
  color: #6c6570;
  font-size: 16px;
  line-height: 1.55;
}

body.postid-1205 .container-wrap .wpb_row:last-of-type,
body.postid-2016 .container-wrap .wpb_row:last-of-type,
body.postid-279 .container-wrap .wpb_row:last-of-type {
  background: radial-gradient(circle at 20% 15%, rgba(212, 175, 55, 0.18), transparent 26%), linear-gradient(135deg, var(--sl-purple), #35104e) !important;
}

body.postid-1205 .container-wrap .wpb_row:last-of-type .nectar-button,
body.postid-2016 .container-wrap .wpb_row:last-of-type .nectar-button,
body.postid-279 .container-wrap .wpb_row:last-of-type .nectar-button {
  border-color: var(--sl-gold) !important;
  color: var(--sl-white) !important;
  opacity: 1 !important;
}

body.postid-1205 .container-wrap .wpb_row:last-of-type .nectar-button span,
body.postid-2016 .container-wrap .wpb_row:last-of-type .nectar-button span,
body.postid-279 .container-wrap .wpb_row:last-of-type .nectar-button span {
  color: var(--sl-white) !important;
}

/* Contact Form 7: clarity, focus and privacy */
body.page-id-349 .wpcf7,
body.page-id-471 .wpcf7,
body.page-id-473 .wpcf7,
body.page-id-2227 .wpcf7 {
  color: var(--sl-white);
}

/* Empty Visual Composer paragraphs must not become white separator strips. */
body.page-id-349 .container.main-content > .row .wpb_text_column > .wpb_wrapper > p:empty,
body.page-id-349 .container.main-content > .row .wpb_text_column > .wpb_wrapper > p:has(> br:only-child),
body.page-id-473 .container.main-content > .row .wpb_text_column > .wpb_wrapper > p:empty,
body.page-id-473 .container.main-content > .row .wpb_text_column > .wpb_wrapper > p:has(> br:only-child) {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.wpcf7 label {
  color: inherit;
  font-weight: 700;
}

.wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wpcf7 textarea,
.wpcf7 select {
  border: 2px solid rgba(255, 255, 255, 0.58) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.13) !important;
  color: var(--sl-white) !important;
  box-shadow: none !important;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: rgba(255, 255, 255, 0.72) !important;
  opacity: 1;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: var(--sl-gold) !important;
  outline: 3px solid rgba(212, 175, 55, 0.24) !important;
  outline-offset: 2px;
}

.sl-privacy-layer {
  margin: 26px 0 15px;
  padding: 17px 19px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.16);
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
  line-height: 1.55;
}

.sl-privacy-layer strong {
  color: var(--sl-white);
}

.wpcf7-acceptance {
  width: 100%;
  max-width: 100%;
  display: block;
}

.wpcf7-acceptance .wpcf7-list-item {
  width: 100%;
  max-width: 100%;
  display: block;
  margin: 0;
}

.wpcf7-acceptance .wpcf7-list-item-label {
  min-width: 0;
  color: rgba(255, 255, 255, 0.92) !important;
  overflow-wrap: anywhere;
}

.wpcf7-acceptance label {
  display: grid !important;
  grid-template-columns: 25px 1fr;
  gap: 11px;
  align-items: start;
  cursor: pointer;
}

.wpcf7-acceptance input[type="checkbox"] {
  width: 22px !important;
  height: 22px !important;
  margin: 1px 0 0 !important;
  border: 2px solid rgba(255, 255, 255, 0.8) !important;
  accent-color: var(--sl-gold);
}

.wpcf7-acceptance a {
  color: #f0cf62 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.sl-privacy-layer a {
  color: #f0cf62 !important;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.sl-privacy-layer {
  overflow-wrap: anywhere;
}

.sl-recaptcha-notice {
  margin: 12px 0 22px !important;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  line-height: 1.55;
}

.sl-recaptcha-notice a {
  color: #f0cf62 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* The service heroes are dark while the Salient default logo is black. */
body.sl-service-detail-page #header-outer.transparent #logo img.starting-logo {
  filter: brightness(0) invert(1);
}

/* Brand-aligned vector footer icons, independent of legacy icon fonts. */
#footer-outer .text-icon.address,
#footer-outer .text-icon.phone,
#footer-outer .text-icon.email {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
}

#footer-outer .text-icon.address::before,
#footer-outer .text-icon.phone::before,
#footer-outer .text-icon.email::before {
  position: static !important;
  display: block !important;
  flex: 0 0 20px;
  width: 20px !important;
  height: 20px !important;
  margin: 2px 0 0 !important;
  transform: none !important;
  background-color: var(--sl-gold) !important;
  background-image: none !important;
  content: "" !important;
  -webkit-mask-image: var(--sl-footer-icon);
  mask-image: var(--sl-footer-icon);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

#footer-outer .text-icon.address::before {
  --sl-footer-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

#footer-outer .text-icon.phone::before {
  --sl-footer-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.1 3.4 9.7 8l-2.1 2.1a16 16 0 0 0 6.3 6.3l2.1-2.1 4.6 2.6v2.4a1.8 1.8 0 0 1-1.8 1.8A16 16 0 0 1 2.9 5.2a1.8 1.8 0 0 1 1.8-1.8Z'/%3E%3C/svg%3E");
}

#footer-outer .text-icon.email::before {
  --sl-footer-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
}

:where(a, button, input, textarea, select):focus-visible {
  outline: 3px solid rgba(212, 175, 55, 0.72);
  outline-offset: 3px;
}

/* Reveal desktop portfolio information for keyboard users as clearly as hover does. */
@media (hover: hover) and (min-width: 1025px) {
  body.page-id-227 .portfolio-items .element:focus-within .work-info,
  body.page-id-227 .portfolio-items .element:focus-within .work-info-bg,
  body.page-id-227 .portfolio-items .element:focus-within .vert-center,
  body.page-id-227 .portfolio-items .element:focus-within .vert-center > * {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Touch devices cannot reveal Salient's portfolio titles with hover. */
@media (hover: none), (max-width: 1024px) {
  body.page-id-227 .portfolio-items .work-item.style-2 {
    position: relative;
    overflow: hidden;
  }

  body.page-id-227 .portfolio-items .work-info-bg {
    position: absolute !important;
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 38% !important;
    transform: none !important;
    background: linear-gradient(0deg, rgba(19, 15, 24, 0.92) 0%, rgba(19, 15, 24, 0.58) 52%, rgba(19, 15, 24, 0) 100%) !important;
    background-color: transparent !important;
    opacity: 1 !important;
    pointer-events: none;
  }

  body.page-id-227 #ajax-content-wrap .portfolio-items .work-item.style-2 .work-info-bg {
    background-color: transparent !important;
  }

  body.page-id-227 .portfolio-items .work-info {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    opacity: 1 !important;
  }

  body.page-id-227 .portfolio-items .work-info > a {
    position: absolute !important;
    inset: 0 !important;
    z-index: 3;
    display: block !important;
  }

  body.page-id-227 .portfolio-items .work-info .vert-center {
    position: absolute !important;
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    padding: 18px 20px 16px !important;
    transform: none !important;
    text-align: left !important;
    pointer-events: none;
  }

  body.page-id-227 .portfolio-items .work-info h3 {
    margin: 0 !important;
    color: var(--sl-white) !important;
    font-size: clamp(18px, 2.5vw, 25px) !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.72);
    opacity: 1 !important;
  }

  body.page-id-227 .portfolio-items .work-info h3::after {
    display: block;
    margin-top: 7px;
    color: #f0cf62;
    content: "Ver proyecto  →";
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.09em;
    line-height: 1.3;
    text-transform: uppercase;
  }
}

@media (max-width: 999px) {
  #header-outer .slide-out-widget-area-toggle.mobile-icon,
  #header-outer .slide-out-widget-area-toggle.mobile-icon > div {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  #header-outer .slide-out-widget-area-toggle.mobile-icon > div > a,
  #header-outer #mobile-cart-link {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
  }

  .sl-shell {
    width: min(100% - 36px, 760px);
  }

  .sl-services-hero {
    min-height: 720px;
  }

  .sl-services-hero__media {
    grid-template-columns: 1fr;
  }

  .sl-services-hero__media > img:nth-of-type(1) {
    grid-column: 1;
  }

  .sl-services-hero__media > img:nth-of-type(2),
  .sl-services-hero__media > img:nth-of-type(3) {
    display: none;
  }

  .sl-services-hero__shade {
    background: linear-gradient(0deg, rgba(13, 8, 18, 0.96) 0%, rgba(13, 8, 18, 0.53) 72%, rgba(13, 8, 18, 0.3) 100%);
  }

  .sl-split,
  .sl-split--media,
  .sl-section-heading,
  .sl-cta-panel__inner,
  .sl-detail-intro__grid,
  .sl-detail-process__grid,
  .sl-detail-closing__inner,
  .sl-constantia-hero__grid,
  .sl-constantia-gallery__grid,
  .sl-catalog-hero__grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .sl-detail-visual {
    width: min(76vw, 570px);
    justify-self: center;
  }

  .sl-service-detail--publication .sl-detail-visual--primary {
    width: min(72vw, 510px);
    justify-self: center;
  }

  .sl-detail-pillars__grid {
    grid-template-columns: 1fr;
  }

  .sl-detail-pillars__grid article {
    min-height: 0;
  }

  .sl-detail-pillars__grid h3 {
    margin-top: 24px;
  }

  .sl-detail-navigation span {
    width: 100%;
    padding-bottom: 10px;
    border-right: 0;
  }

  .sl-constantia-cover {
    width: min(72vw, 560px);
    justify-self: center;
  }

  .sl-constantia-process__grid {
    grid-template-columns: 1fr 1fr;
  }

  .sl-catalog-cover {
    width: min(72vw, 540px);
    justify-self: center;
  }

  .sl-catalog-method__grid {
    grid-template-columns: 1fr 1fr;
  }

  .sl-service-grid,
  .sl-proof-grid {
    grid-template-columns: 1fr 1fr;
  }

  .sl-process-list--cards {
    grid-template-columns: 1fr 1fr;
  }

  .sl-process-list--cards li:last-child {
    grid-column: 1 / -1;
  }

  .sl-proof-card:last-child {
    grid-column: 1 / -1;
  }

  .sl-philosophy-block {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  body.home .sl-philosophy-row--home {
    margin-top: -30px !important;
  }

  .sl-philosophy-block figure,
  .sl-philosophy-block figure img,
  .sl-philosophy-block figure video {
    min-height: 0;
    height: min(64vw, 520px);
  }

  .sl-philosophy-block--about figure img,
  .sl-philosophy-block--about figure video {
    object-position: center 59%;
  }

  .sl-testimonial-grid {
    grid-template-columns: 1fr 1fr;
  }

  .sl-video-card,
  .sl-video-card--featured {
    grid-column: auto;
  }

  .sl-video-card:last-child {
    grid-column: 1 / -1;
  }

  body.postid-1205 .container-wrap .wpb_row:first-of-type .row_col_wrap_12,
  body.postid-2016 .container-wrap .wpb_row:first-of-type .row_col_wrap_12,
  body.postid-279 .container-wrap .wpb_row:first-of-type .row_col_wrap_12 {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-12,
  body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-12,
  body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-12 {
    grid-column: auto;
    width: min(100%, 820px) !important;
    margin-bottom: 28px !important;
  }

  body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-4,
  body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-4,
  body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-4,
  body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-4:first-of-type,
  body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-4:first-of-type,
  body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-4:first-of-type,
  body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-4:last-of-type,
  body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-4:last-of-type,
  body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-4:last-of-type {
    min-height: 0;
    border-width: 1px;
    border-radius: 15px;
  }
}

@media (max-width: 690px) {
  .sl-shell {
    width: calc(100% - 28px);
  }

  .sl-section {
    padding: 68px 0;
  }

  .sl-services-hero {
    min-height: 690px;
  }

  .sl-services-hero__media {
    grid-template-columns: 1fr;
  }

  .sl-services-hero__content {
    padding-bottom: 55px;
  }

  .sl-services-hero h1 {
    font-size: clamp(42px, 12vw, 62px);
  }

  .sl-actions,
  .sl-actions .sl-button {
    width: 100%;
  }

  .sl-service-grid,
  .sl-proof-grid,
  .sl-testimonial-grid,
  .sl-constantia-facts__grid,
  .sl-constantia-process__grid,
  .sl-catalog-facts__grid,
  .sl-catalog-method__grid {
    grid-template-columns: 1fr;
  }

  .sl-detail-intro,
  .sl-detail-pillars,
  .sl-detail-process,
  .sl-detail-closing {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  .sl-detail-intro__copy h2,
  .sl-detail-process__copy h2,
  .sl-detail-pillars h2,
  .sl-detail-closing h2 {
    font-size: clamp(36px, 10.8vw, 50px);
  }

  .sl-detail-visual {
    width: 100%;
  }

  .sl-service-detail--publication .sl-detail-visual--primary {
    width: min(88vw, 430px);
  }

  .sl-service-detail--publication .sl-detail-visual--primary figcaption {
    position: static;
    width: fit-content;
    max-width: 100%;
    margin: 11px 0 0 auto;
    padding: 0 2px;
    border: 0;
    background: transparent;
    color: var(--sl-muted);
    font-size: 11px;
    line-height: 1.45;
    text-align: right;
    backdrop-filter: none;
  }

  .sl-detail-visual--primary::before,
  .sl-detail-visual--secondary::before {
    inset: 8px -7px -7px 8px;
  }

  .sl-detail-pillars__grid article {
    padding: 28px 24px;
  }

  .sl-detail-navigation .sl-shell {
    display: block;
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .sl-detail-navigation span,
  .sl-detail-navigation a {
    width: 100%;
    padding: 13px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  }

  .sl-detail-navigation a:last-child {
    border-bottom: 0;
  }

  .sl-constantia-hero__copy h1 {
    font-size: clamp(40px, 12vw, 58px);
  }

  .sl-constantia-cover {
    width: 88vw;
  }

  .sl-catalog-hero h1 {
    font-size: clamp(39px, 11.5vw, 56px);
  }

  .sl-catalog-cover {
    width: 86vw;
  }

  .sl-video-card:last-child,
  .sl-proof-card:last-child {
    grid-column: auto;
  }

  .sl-service-card {
    min-height: 290px;
  }

  .sl-philosophy-block figure,
  .sl-philosophy-block figure img,
  .sl-philosophy-block figure video {
    height: 76vw;
    max-height: 430px;
  }

  .sl-philosophy-block--about figure,
  .sl-philosophy-block--about figure img,
  .sl-philosophy-block--about figure video {
    height: min(78vw, 390px);
  }

  .sl-philosophy-block--about figure img,
  .sl-philosophy-block--about figure video {
    object-position: center 58%;
  }

  .sl-video-toggle {
    top: 12px;
    right: 12px;
    padding: 8px 12px;
    background: rgba(19, 15, 24, 0.84);
    font-size: 11px;
  }

  .sl-philosophy-block__content {
    padding: 52px 24px 62px;
  }

  body.home .sl-philosophy-row--home {
    margin-top: -24px !important;
  }

  .sl-video-testimonials__header h1 {
    font-size: 44px;
  }

  body.postid-1205 .container-wrap .wpb_row:first-of-type,
  body.postid-2016 .container-wrap .wpb_row:first-of-type,
  body.postid-279 .container-wrap .wpb_row:first-of-type {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  body.postid-1205 .container-wrap .wpb_row:first-of-type .row_col_wrap_12,
  body.postid-2016 .container-wrap .wpb_row:first-of-type .row_col_wrap_12,
  body.postid-279 .container-wrap .wpb_row:first-of-type .row_col_wrap_12 {
    width: calc(100% - 28px) !important;
  }

  body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-12,
  body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-12,
  body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-12 {
    margin-bottom: 20px !important;
    padding-left: 20px !important;
    border-left-width: 3px;
  }

  body.postid-1205 .container-wrap .wpb_row:first-of-type h2,
  body.postid-2016 .container-wrap .wpb_row:first-of-type h2,
  body.postid-279 .container-wrap .wpb_row:first-of-type h2 {
    font-size: clamp(38px, 11vw, 52px);
  }

  body.postid-1205 .container-wrap .wpb_row:first-of-type .vc_col-sm-4 > .vc_column-inner,
  body.postid-2016 .container-wrap .wpb_row:first-of-type .vc_col-sm-4 > .vc_column-inner,
  body.postid-279 .container-wrap .wpb_row:first-of-type .vc_col-sm-4 > .vc_column-inner {
    padding: 40px 24px 28px !important;
  }
}

@media (max-width: 1000px) {
  .sl-video-testimonials__header,
  .sl-testimonial-feature,
  .sl-written-testimonials-intro .sl-shell > div,
  .sl-opinions-cta__inner {
    grid-template-columns: 1fr;
  }

  .sl-testimonial-feature__copy h2 {
    margin-top: 54px;
  }
}

@media (max-width: 999px) {
  body.page-id-349 .grecaptcha-badge,
  body.page-id-473 .grecaptcha-badge {
    visibility: hidden !important;
  }
}

@media (max-width: 690px) {
  .sl-video-testimonials__header h1 {
    font-size: clamp(38px, 10.7vw, 52px);
    line-height: 1.05;
  }

  .sl-services-page :is(h1, h2),
  .sl-service-detail :is(h1, h2),
  .sl-constantia-case :is(h1, h2),
  .sl-catalog-case :is(h1, h2) {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 0.08em;
    overflow: visible !important;
    overflow-wrap: break-word;
  }

  .sl-services-hero h1 {
    font-size: clamp(38px, 10.7vw, 52px);
    line-height: 1.07;
  }

  .sl-services-page h2,
  .sl-detail-intro__copy h2,
  .sl-detail-process__copy h2,
  .sl-detail-pillars h2,
  .sl-detail-closing h2 {
    font-size: clamp(32px, 9.4vw, 44px);
    line-height: 1.09;
  }

  .sl-constantia-hero__copy h1,
  .sl-catalog-hero h1 {
    font-size: clamp(37px, 10.5vw, 51px);
    line-height: 1.05;
  }

  .sl-opinions-cta h2 {
    font-size: clamp(34px, 9.8vw, 48px);
    line-height: 1.07;
  }

  .sl-opinions-cta .sl-button {
    width: 100%;
  }

  .sl-work-cta .sl-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .sl-tech-story {
    min-height: 0;
    overflow: hidden;
  }

  .sl-tech-story::before {
    inset: 10px;
    bottom: auto;
    height: calc((100vw - 36px) * 0.5625 - 20px);
  }

  .sl-tech-story__video {
    position: relative;
    aspect-ratio: 16 / 9;
    height: auto;
    object-fit: cover;
  }

  .sl-tech-story__veil {
    display: none;
  }

  .sl-tech-story figcaption {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    padding: 34px 24px 38px;
    background: linear-gradient(145deg, #17111d, #311241);
  }

  .sl-tech-story h2 {
    font-size: clamp(34px, 10.5vw, 48px);
  }

  .sl-process-list--cards {
    grid-template-columns: 1fr;
  }

  .sl-process-list--cards li,
  .sl-process-list--cards li:last-child {
    min-height: 0;
    grid-column: auto;
    gap: 22px;
  }

  .sl-video-testimonials__intro {
    padding-top: 4px;
  }

  .sl-testimonial-grid,
  body.page-id-290 .sl-written-testimonials-grid {
    grid-template-columns: 1fr;
  }

  body.page-id-290 .sl-written-testimonials-grid {
    width: calc(100% - 28px);
  }

  body.page-id-290 .sl-written-testimonial:last-child {
    grid-column: auto;
  }

  .sl-testimonial-feature__copy {
    padding: 30px 24px 36px;
  }

  body.page-id-290 .sl-video-card--lead .sl-video-player {
    aspect-ratio: 16 / 9;
  }
}

@media (min-width: 691px) and (max-width: 999px) {
  body.page-id-290 .sl-testimonial-grid,
  body.page-id-290 .sl-written-testimonials-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-id-290 .sl-testimonial-grid .sl-video-card,
  body.page-id-290 .sl-testimonial-grid .sl-video-card:last-child,
  body.page-id-290 .sl-written-testimonial:last-child {
    grid-column: auto;
  }

  body.post-type-archive-product.woocommerce ul.products li.product,
  body.post-type-archive-product.woocommerce ul.products li.product .product-wrap,
  body.post-type-archive-product.woocommerce ul.products li.product .product-wrap > a {
    min-width: 0;
  }

  body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-product__title {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
    line-height: 1.32 !important;
  }
}

@media only screen and (max-width: 690px) {
  body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-product__title {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
    line-height: 1.32 !important;
  }

  /* Keep the legacy WooCommerce carousel inside the mobile viewport. */
  body.home .nectar-woo-flickity {
    overflow-x: hidden;
  }
}

/* Salient hides catalogue actions behind hover. Touch users need a visible
   purchase path and an explicit stock state in the product grid. */
@media (max-width: 999px) {
  body.post-type-archive-product.woocommerce ul.products li.product .product-add-to-cart {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin-top: 12px !important;
  }

  body.post-type-archive-product.woocommerce ul.products li.product .product-add-to-cart > a.button {
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    min-height: 44px !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 17px !important;
    border-radius: 999px !important;
    background: var(--sl-purple) !important;
    color: var(--sl-white) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body.post-type-archive-product.woocommerce ul.products li.product .product-add-to-cart > a.button :is(i, span) {
    color: inherit !important;
    opacity: 1 !important;
  }

  body.post-type-archive-product.woocommerce ul.products li.product.outofstock .product-meta::before {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    margin-bottom: 9px;
    padding: 5px 10px;
    border: 1px solid rgba(79, 25, 122, 0.22);
    border-radius: 999px;
    background: rgba(79, 25, 122, 0.08);
    color: var(--sl-purple);
    content: "Agotado";
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
  }
}

@media (max-width: 690px) {
  body.postid-1205 #page-header-bg h1 {
    font-size: 31px !important;
    line-height: 1.06 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sl-button,
  .sl-service-card,
  .sl-video-player__icon,
  .sl-video-toggle {
    transition: none !important;
  }
}

/* Keep the first About image inside its responsive crop instead of letting
   the source portrait ratio overflow the shorter mobile/tablet frame. */
@media (max-width: 999px) {
  body.page-id-365 .sl-philosophy-block--about figure img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center 59% !important;
  }
}

@media (max-width: 690px) {
  body.page-id-365 .sl-philosophy-block--about figure img {
    object-position: center 58% !important;
  }
}

/* Semantic SEO, portfolio pathways and process page — 1.3.19 */
.sl-about-body-copy {
  margin: 0 0 1.15em !important;
  color: #4f4953;
  font-size: 17px;
  line-height: 1.72;
}

.sl-about-role {
  margin: 0 0 8px !important;
  color: var(--sl-purple);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.45;
  text-transform: uppercase;
}

.sl-about-subheading {
  margin: 0 0 22px !important;
  font-size: clamp(25px, 2.5vw, 34px) !important;
  line-height: 1.2 !important;
}

.sl-process-story__more {
  margin: 30px 0 0 !important;
  text-align: center;
}

.sl-process-story__more .sl-text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  color: var(--sl-purple) !important;
  font-weight: 800;
}

.sl-work-intro {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(64px, 7vw, 104px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 0%, rgba(104, 37, 133, 0.12), transparent 34%),
    var(--sl-paper);
}

.sl-work-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.72fr);
  gap: clamp(42px, 8vw, 110px);
  align-items: end;
}

.sl-work-intro h2 {
  max-width: 780px;
  margin: 0 !important;
  color: var(--sl-ink);
  font-size: clamp(38px, 5vw, 68px);
  font-weight: 450;
  letter-spacing: -0.05em;
  line-height: 1.04;
}

.sl-work-intro__inner > div:last-child {
  padding-left: 24px;
  border-left: 2px solid var(--sl-gold);
}

.sl-work-intro__inner > div:last-child p {
  margin: 0 0 14px;
  color: #5f5865;
  font-size: 17px;
  line-height: 1.72;
}

.sl-work-intro__inner > div:last-child p:last-child {
  margin-bottom: 0;
  color: var(--sl-ink);
}

.sl-related-edition {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(62px, 7vw, 104px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 10%, rgba(104, 37, 133, 0.42), transparent 32%),
    var(--sl-ink);
  color: var(--sl-white);
}

.sl-related-edition__inner,
.sl-product-case-link__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.68fr);
  gap: clamp(42px, 8vw, 105px);
  align-items: center;
}

.sl-related-edition h2,
.sl-product-case-link h2 {
  margin: 0 !important;
  font-size: clamp(34px, 4.4vw, 60px);
  font-weight: 450;
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.sl-related-edition h2 {
  color: var(--sl-white);
}

.sl-related-edition__inner > div:last-child p,
.sl-product-case-link__inner > div:last-child p {
  margin: 0 0 24px;
  font-size: 17px;
  line-height: 1.7;
}

.sl-related-edition__inner > div:last-child p {
  color: rgba(255, 255, 255, 0.75);
}

.sl-product-case-link {
  margin: clamp(70px, 8vw, 120px) 0 0;
  padding: clamp(46px, 5vw, 72px);
  border: 1px solid var(--sl-line);
  border-radius: 24px;
  background: var(--sl-paper);
}

.sl-product-case-link h2 {
  color: var(--sl-ink);
}

.sl-product-case-link__inner > div:last-child p {
  color: var(--sl-muted);
}

.sl-product-case-link .sl-text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  color: var(--sl-purple) !important;
  font-weight: 850;
}

body.page-id-476 #page-header-wrap,
body.page-id-476 #page-header-bg {
  display: none !important;
}

body.page-id-476 .container-wrap,
body.page-id-476 .container.main-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.page-id-476 .container.main-content > .row,
body.page-id-476 .post-area,
body.page-id-476 .post-area > article,
body.page-id-476 .post-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sl-process-page {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: clip;
  color: var(--sl-ink);
}

.sl-process-hero {
  position: relative;
  min-height: min(780px, calc(100vh - 88px));
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  background: var(--sl-ink);
}

.sl-process-hero__image,
.sl-process-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.sl-process-hero__image {
  z-index: -2;
  object-fit: cover;
  object-position: 50% 52%;
  filter: saturate(0.78) contrast(1.04);
}

.sl-process-hero__shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(12, 8, 16, 0.94) 0%, rgba(12, 8, 16, 0.7) 48%, rgba(12, 8, 16, 0.22) 100%),
    linear-gradient(0deg, rgba(12, 8, 16, 0.76), transparent 64%);
}

.sl-process-hero__content {
  padding-top: clamp(120px, 16vh, 190px);
  padding-bottom: clamp(72px, 10vh, 116px);
  color: var(--sl-white);
}

.sl-process-hero h1 {
  max-width: 980px;
  margin: 0 !important;
  color: var(--sl-white);
  font-size: clamp(46px, 6.2vw, 90px);
  font-weight: 420;
  letter-spacing: -0.055em;
  line-height: 0.99;
}

.sl-process-hero .sl-lead {
  max-width: 780px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.55;
}

.sl-process-brief {
  background: var(--sl-white);
}

.sl-process-brief__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 54px;
}

.sl-process-brief__grid article {
  min-height: 260px;
  padding: 30px 26px;
  border: 1px solid var(--sl-line);
  border-radius: 20px;
  background: var(--sl-paper);
}

.sl-process-brief__grid article > span,
.sl-process-timeline__steps > li > span {
  display: inline-flex;
  margin-bottom: 36px;
  color: var(--sl-purple);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.sl-process-brief__grid h3,
.sl-process-timeline__steps h3 {
  margin: 0 0 13px !important;
  color: inherit;
  font-size: 25px;
  line-height: 1.18;
}

.sl-process-brief__grid p,
.sl-process-timeline__steps p {
  margin: 0;
  color: var(--sl-muted);
  font-size: 15px;
  line-height: 1.68;
}

.sl-process-timeline__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.1fr);
  gap: clamp(54px, 9vw, 128px);
  align-items: start;
}

.sl-process-timeline__copy {
  position: sticky;
  top: 120px;
}

.sl-process-timeline__copy h2,
.sl-process-session h2 {
  margin: 0 0 24px !important;
  font-size: clamp(38px, 5vw, 68px);
  font-weight: 450;
  letter-spacing: -0.05em;
  line-height: 1.04;
}

.sl-process-timeline__copy > p:not(.sl-eyebrow) {
  color: rgba(255, 255, 255, 0.7);
  font-size: 17px;
  line-height: 1.72;
}

.sl-process-timeline__copy figure {
  margin: 38px 0 0;
  overflow: hidden;
  border-radius: 20px;
}

.sl-process-timeline__copy figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
}

.sl-process-timeline__steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sl-process-timeline__steps li {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 20px;
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.sl-process-timeline__steps li:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.sl-process-timeline__steps > li > span {
  margin: 4px 0 0;
  color: var(--sl-gold);
}

.sl-process-timeline__steps h3 {
  color: var(--sl-white);
  font-size: 27px;
}

.sl-process-timeline__steps p {
  color: rgba(255, 255, 255, 0.66);
}

.sl-process-session {
  background: var(--sl-paper);
}

.sl-process-session__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.82fr);
  gap: clamp(48px, 8vw, 112px);
  align-items: center;
}

.sl-process-session__grid > div > p:not(.sl-eyebrow) {
  color: var(--sl-muted);
  font-size: 17px;
  line-height: 1.72;
}

.sl-process-session .sl-detail-visual {
  min-width: 0;
}

.sl-process-session .sl-text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: var(--sl-purple) !important;
  font-weight: 850;
}

body.page-id-290 {
  overflow-x: clip;
}

body.page-id-290 .sl-written-testimonial__toggle {
  min-height: 44px;
  padding: 10px 14px;
}

#header-outer .cart-menu,
#header-outer a.cart-contents,
#footer-outer .social li a,
.pagination a.page-numbers,
.portfolio-items .infinite-scroll-pagination a {
  min-width: 44px;
  min-height: 44px;
}

#footer-outer .social li a,
.pagination a.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.quantity :is(.minus, .plus) {
  min-width: 44px !important;
  min-height: 44px !important;
  cursor: pointer;
}

.wpcf7 :is(input, button)[type="submit"]:disabled {
  cursor: not-allowed !important;
  opacity: 0.48 !important;
  filter: saturate(0.72);
}

@media (min-width: 1000px) {
  body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-product__title {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
    line-height: 1.32 !important;
  }
}

/* Contact map: show useful location information first and load Leaflet on request. */
body.page-id-349 .nectar-leaflet-map.sl-map-deferred {
  position: relative;
  display: grid !important;
  min-height: 550px;
  height: 550px !important;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 78% 18%, rgba(212, 175, 55, 0.18), transparent 26%),
    radial-gradient(circle at 12% 92%, rgba(104, 37, 133, 0.52), transparent 34%),
    linear-gradient(135deg, #130f18 0%, #271331 58%, #4f197a 120%);
  color: var(--sl-white);
}

body.page-id-349 .nectar-leaflet-map.sl-map-deferred::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 48px 48px;
  content: "";
  mask-image: linear-gradient(135deg, rgba(0, 0, 0, 0.95), transparent 88%);
}

body.page-id-349 .sl-map-facade {
  width: min(560px, calc(100% - 56px));
  padding: clamp(32px, 5vw, 54px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 24px;
  background: rgba(19, 15, 24, 0.76);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.26);
  text-align: center;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

body.page-id-349 .sl-map-facade__eyebrow {
  margin: 0 0 12px !important;
  color: #f0cf62 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: 0.16em;
  line-height: 1.4 !important;
  text-transform: uppercase;
}

body.page-id-349 .sl-map-facade__title {
  margin: 0 0 16px !important;
  color: var(--sl-white) !important;
  font-size: clamp(29px, 4vw, 46px) !important;
  font-weight: 750 !important;
  letter-spacing: -0.035em;
  line-height: 1.06 !important;
}

body.page-id-349 .sl-map-facade__address {
  max-width: 440px;
  margin: 0 auto 26px !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

body.page-id-349 .sl-map-facade__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: center;
}

body.page-id-349 .sl-map-load,
body.page-id-349 .sl-map-directions {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border: 2px solid transparent;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

body.page-id-349 .sl-map-load {
  background: var(--sl-gold);
  color: var(--sl-ink);
}

body.page-id-349 .sl-map-load:disabled {
  cursor: wait;
  opacity: 0.72;
}

body.page-id-349 .sl-map-directions {
  border-color: rgba(255, 255, 255, 0.48);
  color: var(--sl-white) !important;
}

body.page-id-349 .sl-map-load:not(:disabled):hover,
body.page-id-349 .sl-map-load:not(:disabled):focus-visible,
body.page-id-349 .sl-map-directions:hover,
body.page-id-349 .sl-map-directions:focus-visible {
  transform: translateY(-2px);
}

body.page-id-349 .sl-map-directions:hover,
body.page-id-349 .sl-map-directions:focus-visible {
  border-color: var(--sl-white);
  background: rgba(255, 255, 255, 0.1);
}

body.page-id-349 .sl-map-status {
  min-height: 20px;
  margin: 14px 0 -8px !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body.page-id-349 .sl-map-status:empty {
  display: none;
}

body.page-id-349 .sl-map-status.is-error {
  color: #ffe29a !important;
}

body.page-id-349 .nectar-leaflet-map.sl-map-loaded {
  min-height: 550px;
  height: 550px !important;
}

body.page-id-349 .sl-map-marker {
  border: 0;
  background: transparent;
}

body.page-id-349 .sl-map-marker__pin {
  position: relative;
  display: block;
  width: 38px;
  height: 38px;
  transform: rotate(45deg);
  border: 3px solid var(--sl-gold);
  border-radius: 50% 50% 50% 0;
  background: var(--sl-purple);
  box-shadow: 0 10px 24px rgba(19, 15, 24, 0.42);
}

body.page-id-349 .sl-map-marker__pin::after {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--sl-white);
  content: "";
}

@media (max-width: 690px) {
  body.page-id-349 .nectar-leaflet-map.sl-map-deferred,
  body.page-id-349 .nectar-leaflet-map.sl-map-loaded {
    min-height: 460px;
    height: 460px !important;
  }

  body.page-id-349 .sl-map-facade {
    width: min(100% - 28px, 520px);
    padding: 30px 22px;
    border-radius: 19px;
  }

  body.page-id-349 .sl-map-facade__actions {
    align-items: stretch;
    flex-direction: column;
  }

  body.page-id-349 .sl-map-load,
  body.page-id-349 .sl-map-directions {
    width: 100%;
  }
}

@media (max-width: 999px) {
  .sl-work-intro__inner,
  .sl-related-edition__inner,
  .sl-product-case-link__inner,
  .sl-process-timeline__grid,
  .sl-process-session__grid {
    grid-template-columns: 1fr;
  }

  .sl-process-brief__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sl-process-timeline__copy {
    position: static;
  }

  .sl-product-case-link {
    padding: 38px 32px;
  }
}

@media (max-width: 690px) {
  .sl-work-intro {
    padding: 54px 0 60px;
  }

  .sl-work-intro__inner > div:last-child {
    padding: 22px 0 0;
    border-top: 2px solid var(--sl-gold);
    border-left: 0;
  }

  .sl-work-intro h2,
  .sl-related-edition h2,
  .sl-product-case-link h2,
  .sl-process-timeline__copy h2,
  .sl-process-session h2 {
    font-size: clamp(34px, 10vw, 46px);
    line-height: 1.08;
  }

  .sl-related-edition__inner,
  .sl-product-case-link__inner {
    gap: 30px;
  }

  .sl-related-edition .sl-button {
    width: 100%;
  }

  .sl-product-case-link {
    margin-top: 56px;
    padding: 32px 22px;
    border-radius: 18px;
  }

  .sl-process-hero {
    min-height: 720px;
  }

  .sl-process-hero__image {
    object-position: 54% 50%;
  }

  .sl-process-hero__shade {
    background: linear-gradient(0deg, rgba(12, 8, 16, 0.97) 0%, rgba(12, 8, 16, 0.6) 70%, rgba(12, 8, 16, 0.34) 100%);
  }

  .sl-process-hero h1 {
    font-size: clamp(39px, 10.8vw, 53px);
    line-height: 1.05;
  }

  .sl-process-hero .sl-actions,
  .sl-process-hero .sl-button {
    width: 100%;
  }

  .sl-process-brief__grid {
    grid-template-columns: 1fr;
  }

  .sl-process-brief__grid article {
    min-height: 0;
  }

  .sl-process-timeline__steps li {
    grid-template-columns: 46px 1fr;
    gap: 14px;
  }
}

/* Home editorial redesign 1.3.12 */
body.home #page-header-wrap,
body.home #page-header-bg {
  display: none !important;
}

body.home .container-wrap,
body.home .container.main-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: var(--sl-white);
}

body.home .container.main-content > .row,
body.home .post-area,
body.home .post-area > article,
body.home .post-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sl-home-page {
  width: 100%;
  margin-left: 0;
  overflow: hidden;
  overflow: clip;
  background: var(--sl-white);
  color: var(--sl-ink);
}

.sl-home-page *,
.sl-home-page *::before,
.sl-home-page *::after {
  box-sizing: border-box;
}

.sl-home-page :is(h1, h2, h3, p) {
  max-width: none;
}

.sl-home-page :is(section, h1, h2, h3) {
  scroll-margin-top: 112px;
}

.sl-home-page a:focus-visible,
.sl-home-page button:focus-visible {
  outline: 3px solid #f1cf5c;
  outline-offset: 4px;
}

.sl-home-hero {
  position: relative;
  min-height: min(790px, calc(100svh - 84px));
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  background: #100b15;
  color: var(--sl-white);
}

.sl-home-hero__media,
.sl-home-hero__veil,
.sl-home-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.sl-home-hero__media {
  z-index: -1;
}

.sl-home-hero__image {
  display: block;
  object-fit: cover;
  object-position: 50% 58%;
  filter: saturate(0.82) contrast(1.04);
}

.sl-home-page .sl-home-hero__image {
  height: 100%;
}

.sl-home-hero__veil {
  background:
    linear-gradient(90deg, rgba(14, 8, 18, 0.96) 0%, rgba(22, 10, 29, 0.8) 43%, rgba(22, 10, 29, 0.26) 78%, rgba(22, 10, 29, 0.14) 100%),
    linear-gradient(0deg, rgba(14, 8, 18, 0.8) 0%, transparent 58%);
}

.sl-home-hero__content {
  padding-top: clamp(110px, 15vh, 170px);
  padding-bottom: clamp(64px, 8vh, 92px);
}

.sl-home-hero .sl-eyebrow {
  width: fit-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 0 !important;
  white-space: nowrap;
}

.sl-home-hero .sl-eyebrow::before {
  width: 30px;
  height: 1px;
  flex: 0 0 30px;
  background: currentColor;
  content: "";
}

.sl-home-hero h1 {
  width: min(940px, 90%);
  margin: 0;
  color: var(--sl-white);
  font-size: clamp(48px, 6.15vw, 88px);
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 0.99;
  text-wrap: balance;
}

.sl-home-hero__lead {
  width: min(760px, 92%);
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(18px, 1.65vw, 22px);
  line-height: 1.58;
}

.sl-home-hero__audiences {
  margin: 34px 0 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.sl-home-hero__audiences span {
  padding: 0 8px;
  color: var(--sl-gold);
}

.sl-home-trust {
  position: relative;
  z-index: 2;
  background: #f5f1f7;
  border-bottom: 1px solid rgba(79, 25, 122, 0.1);
}

.sl-home-trust__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sl-home-trust__grid > div {
  min-height: 138px;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 15px;
  align-items: center;
  padding: 30px 24px;
  border-right: 1px solid rgba(79, 25, 122, 0.12);
}

.sl-home-trust__grid > div:first-child {
  border-left: 1px solid rgba(79, 25, 122, 0.12);
}

.sl-home-trust__grid > div span {
  color: var(--sl-purple);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.sl-home-trust__grid > div strong {
  color: var(--sl-ink);
  font-size: 15px;
  line-height: 1.42;
}

.sl-home-method {
  background:
    radial-gradient(circle at 4% 10%, rgba(104, 37, 133, 0.08), transparent 27%),
    var(--sl-white);
}

.sl-home-method__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(520px, 1.22fr);
  gap: clamp(62px, 8vw, 120px);
  align-items: center;
}

.sl-home-method__copy h2,
.sl-home-section-heading h2,
.sl-home-testimonials__heading h2,
.sl-home-cta h2 {
  margin: 0;
  font-size: clamp(38px, 4.4vw, 64px);
  font-weight: 500;
  letter-spacing: -0.052em;
  line-height: 1.02;
  text-wrap: balance;
}

.sl-home-method__copy > p:not(.sl-eyebrow) {
  margin: 21px 0 0;
  color: var(--sl-muted);
  font-size: 17px;
  line-height: 1.78;
}

.sl-home-method__copy .sl-home-method__lead {
  color: #3b3440;
  font-size: 19px;
  line-height: 1.68;
}

.sl-home-method__copy .sl-text-link {
  margin-top: 30px;
}

.sl-home-page .sl-text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  color: var(--sl-purple) !important;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}

.sl-home-page .sl-text-link span {
  transition: transform 180ms ease;
}

.sl-home-page .sl-text-link:hover span,
.sl-home-page .sl-text-link:focus-visible span {
  transform: translateX(4px);
}

.sl-home-method__media {
  position: relative;
  min-height: 660px;
}

.sl-home-method__media figure {
  margin: 0;
  overflow: hidden;
  border-radius: 20px;
  background: #17111d;
  box-shadow: 0 28px 70px rgba(29, 18, 35, 0.18);
}

.sl-home-method__media img,
.sl-home-method__media video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.sl-home-method__video-frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 78%;
  aspect-ratio: 16 / 10;
}

.sl-home-method__video-frame video {
  filter: saturate(0.82) contrast(1.04);
}

.sl-home-method__video-frame figcaption {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 12px;
  background: rgba(18, 10, 23, 0.72);
  color: rgba(255, 255, 255, 0.86);
  font-size: 12px;
  line-height: 1.45;
  backdrop-filter: blur(9px);
}

.sl-home-method__photo--people {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: 57%;
  aspect-ratio: 4 / 3;
  border: 8px solid var(--sl-white);
}

.sl-home-method__photo--people img {
  object-position: 50% 46%;
}

.sl-home-method__photo--detail {
  position: absolute;
  bottom: 22px;
  left: 5%;
  z-index: 3;
  width: 25%;
  aspect-ratio: 3 / 4;
  border: 6px solid var(--sl-white);
}

.sl-home-method__photo--detail img {
  object-position: 50% 48%;
}

.sl-home-services {
  position: relative;
  background:
    radial-gradient(circle at 88% 12%, rgba(104, 37, 133, 0.45), transparent 31%),
    #130f18;
  color: var(--sl-white);
}

.sl-home-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, 0.65fr);
  gap: clamp(48px, 8vw, 112px);
  align-items: end;
}

.sl-home-section-heading h2,
.sl-home-testimonials__heading h2,
.sl-home-cta h2 {
  color: var(--sl-white);
}

.sl-home-section-heading > p {
  margin: 0 0 7px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 17px;
  line-height: 1.7;
}

.sl-home-services__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
  margin-top: 54px;
}

.sl-home-service-card {
  grid-column: span 7;
  min-height: 510px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 22px;
  background: #1c1422;
}

.sl-home-service-card:nth-child(2),
.sl-home-service-card:nth-child(3) {
  grid-column: span 5;
}

.sl-home-service-card:nth-child(2),
.sl-home-service-card:nth-child(3) {
  min-height: 450px;
}

.sl-home-service-card > a {
  position: relative;
  height: 100%;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: clamp(28px, 3.7vw, 48px);
  color: var(--sl-white) !important;
  isolation: isolate;
}

.sl-home-service-card img,
.sl-home-service-card__veil {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}

.sl-home-service-card img {
  object-fit: cover;
  object-position: center;
  filter: saturate(0.72) contrast(1.05);
  transition: transform 500ms ease;
}

.sl-home-service-card:nth-child(2) img {
  object-position: 50% 52%;
}

.sl-home-service-card:nth-child(3) img {
  object-position: 44% 48%;
}

.sl-home-service-card__veil {
  z-index: -1;
  background:
    linear-gradient(0deg, rgba(14, 9, 18, 0.97) 0%, rgba(14, 9, 18, 0.7) 55%, rgba(14, 9, 18, 0.32) 100%),
    linear-gradient(90deg, rgba(79, 25, 122, 0.38), transparent 55%);
}

.sl-home-service-card:hover img,
.sl-home-service-card:focus-within img {
  transform: scale(1.035);
}

.sl-home-service-card__number {
  color: var(--sl-gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
}

.sl-home-service-card__content {
  margin-top: auto;
}

.sl-home-service-card h3 {
  width: min(560px, 100%);
  margin: 0 0 15px;
  color: var(--sl-white);
  font-size: clamp(30px, 3.3vw, 50px);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.sl-home-service-card p {
  width: min(570px, 100%);
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 15px;
  line-height: 1.64;
}

.sl-home-service-card strong {
  display: inline-block;
  margin-top: 22px;
  color: var(--sl-gold);
  font-size: 13px;
  font-weight: 900;
}

.sl-home-cases {
  background:
    radial-gradient(circle at 12% 5%, rgba(104, 37, 133, 0.08), transparent 25%),
    #f6f2f7;
}

.sl-home-section-heading--light h2 {
  color: var(--sl-ink);
}

.sl-home-section-heading--light > p {
  color: var(--sl-muted);
}

.sl-home-cases__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 56px;
  padding-bottom: 44px;
}

.sl-home-case-card {
  min-height: 510px;
  overflow: hidden;
  border-radius: 22px;
  background: #24172b;
  box-shadow: 0 20px 55px rgba(37, 20, 45, 0.13);
}

.sl-home-case-card--offset {
  transform: translateY(44px);
}

.sl-home-case-card > a {
  position: relative;
  height: 100%;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--sl-white) !important;
  isolation: isolate;
}

.sl-home-case-card img,
.sl-home-case-card__veil {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}

.sl-home-case-card img {
  object-fit: cover;
  object-position: center;
  transition: transform 520ms ease;
}

.sl-home-case-card__veil {
  z-index: -1;
  background: linear-gradient(0deg, rgba(13, 8, 17, 0.97) 0%, rgba(13, 8, 17, 0.5) 50%, rgba(13, 8, 17, 0.13) 100%);
}

.sl-home-case-card:hover img,
.sl-home-case-card:focus-within img {
  transform: scale(1.035);
}

.sl-home-case-card__content {
  margin-top: auto;
  padding: 32px;
}

.sl-home-case-card__content > span {
  display: block;
  margin-bottom: 12px;
  color: var(--sl-gold);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.11em;
  line-height: 1.45;
  text-transform: uppercase;
}

.sl-home-case-card h3 {
  margin: 0;
  color: var(--sl-white);
  font-size: clamp(30px, 3vw, 45px);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 1.04;
}

.sl-home-case-card strong {
  display: inline-block;
  margin-top: 19px;
  font-size: 13px;
  font-weight: 900;
}

.sl-home-cases__more,
.sl-home-testimonials__more {
  margin: 30px 0 0;
  text-align: right;
}

.sl-home-testimonials {
  background:
    radial-gradient(circle at 88% 8%, rgba(104, 37, 133, 0.55), transparent 32%),
    #130f18;
  color: var(--sl-white);
}

.sl-home-testimonials__heading {
  width: min(900px, 100%);
}

.sl-home-testimonials__heading > p:last-child {
  width: min(680px, 100%);
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 17px;
  line-height: 1.7;
}

.sl-home-testimonials__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap: 18px;
  margin-top: 52px;
}

.sl-home-testimonial-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.06);
}

.sl-home-testimonial-card > .sl-video-player {
  border-radius: 0 !important;
  -webkit-appearance: none;
  appearance: none;
}

.sl-home-testimonial-card--featured {
  grid-row: span 2;
}

.sl-home-testimonial-card--featured > .sl-video-player,
.sl-home-testimonial-card--featured > .sl-video-iframe {
  min-height: 420px;
  flex: 1 1 auto;
  aspect-ratio: auto;
}

.sl-home-testimonial-card > .sl-video-iframe {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  border: 0;
}

.sl-home-testimonial-card__caption {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 10px;
  padding: 21px 22px 24px;
}

.sl-home-testimonial-card__caption > span {
  color: var(--sl-gold);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.sl-home-testimonial-card h3 {
  margin: 0;
  color: var(--sl-white);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
}

.sl-home-testimonial-card__caption p {
  margin: 7px 0 0;
  color: rgba(255, 255, 255, 0.65);
  font-size: 12px;
  line-height: 1.5;
}

.sl-home-testimonials .sl-text-link {
  color: var(--sl-gold) !important;
}

.sl-home-cta {
  background:
    radial-gradient(circle at 12% 20%, rgba(212, 175, 55, 0.18), transparent 28%),
    linear-gradient(135deg, var(--sl-purple), #35104e);
  color: var(--sl-white);
}

.sl-home-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.7fr);
  gap: clamp(52px, 8vw, 112px);
  align-items: center;
}

.sl-home-cta__inner > div:last-child > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 17px;
  line-height: 1.72;
}

@media (max-width: 999px) {
  .sl-home-hero {
    min-height: 740px;
  }

  .sl-home-hero__image {
    object-position: 46% 56%;
  }

  .sl-home-hero__veil {
    background: linear-gradient(0deg, rgba(14, 8, 18, 0.96) 0%, rgba(22, 10, 29, 0.82) 62%, rgba(22, 10, 29, 0.68) 100%);
  }

  .sl-home-hero h1 {
    width: min(680px, 100%);
    font-size: clamp(46px, 8.8vw, 72px);
  }

  .sl-home-trust__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sl-home-trust__grid > div:nth-child(2) {
    border-right: 0;
  }

  .sl-home-trust__grid > div:nth-child(n + 3) {
    border-top: 1px solid rgba(79, 25, 122, 0.12);
  }

  .sl-home-method__grid,
  .sl-home-section-heading,
  .sl-home-cta__inner {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .sl-home-method__copy {
    width: min(720px, 100%);
  }

  .sl-home-method__media {
    min-height: 620px;
  }

  .sl-home-method__video-frame {
    width: 75%;
  }

  .sl-home-method__photo--people {
    width: 56%;
  }

  .sl-home-service-card,
  .sl-home-service-card:nth-child(2),
  .sl-home-service-card:nth-child(3) {
    grid-column: span 6;
    min-height: 440px;
  }

  .sl-home-service-card h3 {
    font-size: clamp(29px, 4.8vw, 42px);
  }

  .sl-home-cases__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sl-home-case-card:last-child {
    grid-column: 1 / -1;
    min-height: 440px;
  }

  .sl-home-case-card--offset {
    transform: none;
  }

  .sl-home-testimonials__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sl-home-testimonial-card--featured {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .sl-home-testimonial-card--featured > .sl-video-player,
  .sl-home-testimonial-card--featured > .sl-video-iframe {
    min-height: 0;
    flex: 0 0 auto;
    aspect-ratio: 16 / 9;
  }

  .sl-home-testimonial-card > .sl-video-iframe {
    height: auto;
    min-height: 0;
    flex: 0 0 auto;
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 690px) {
  .sl-home-page .sl-section {
    padding: 70px 0;
  }

  .sl-home-page :is(section, h1, h2, h3) {
    scroll-margin-top: 82px;
  }

  .sl-home-hero {
    min-height: 720px;
  }

  .sl-home-hero__content {
    padding-top: 92px;
    padding-bottom: 45px;
  }

  .sl-home-hero__image {
    object-position: 56% 55%;
  }

  .sl-home-hero h1 {
    width: 100%;
    font-size: clamp(40px, 11.6vw, 52px);
    line-height: 1.02;
  }

  .sl-home-hero__lead {
    width: 100%;
    margin-top: 22px;
    font-size: 16.5px;
    line-height: 1.58;
  }

  .sl-home-hero__audiences {
    margin-top: 27px;
    font-size: 10px;
    line-height: 1.75;
  }

  .sl-home-hero__audiences span {
    padding: 0 4px;
  }

  .sl-home-trust__grid > div {
    min-height: 126px;
    grid-template-columns: 1fr;
    gap: 8px;
    align-content: center;
    padding: 22px 16px;
  }

  .sl-home-trust__grid > div strong {
    font-size: 13px;
  }

  .sl-home-method__copy h2,
  .sl-home-section-heading h2,
  .sl-home-testimonials__heading h2,
  .sl-home-cta h2 {
    font-size: clamp(35px, 10vw, 46px);
    line-height: 1.055;
  }

  .sl-home-method__copy > p:not(.sl-eyebrow),
  .sl-home-method__copy .sl-home-method__lead {
    font-size: 16px;
    line-height: 1.68;
  }

  .sl-home-method__media {
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .sl-home-method__video-frame,
  .sl-home-method__photo--people,
  .sl-home-method__photo--detail {
    position: relative;
    inset: auto;
    width: auto;
    border: 0;
  }

  .sl-home-method__video-frame {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    aspect-ratio: auto;
  }

  .sl-home-method__video-frame video {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .sl-home-method__photo--people {
    aspect-ratio: 4 / 3;
  }

  .sl-home-method__photo--detail {
    aspect-ratio: 4 / 3;
  }

  .sl-home-method__video-frame figcaption {
    position: static;
    padding: 12px 14px;
    border: 0;
    border-radius: 0;
    background: #17111d;
    font-size: 12px;
    line-height: 1.5;
    backdrop-filter: none;
  }

  .sl-home-method,
  .sl-home-cases {
    padding-bottom: 48px;
  }

  .sl-home-testimonials .sl-video-player__label {
    right: 32px;
    bottom: 18px;
    left: 32px;
  }

  .sl-home-testimonials .sl-video-player__shade {
    background: linear-gradient(0deg, rgba(19, 15, 24, 0.84), rgba(19, 15, 24, 0.06) 68%);
  }

  .sl-home-services__grid,
  .sl-home-cases__grid,
  .sl-home-testimonials__grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 38px;
  }

  .sl-home-service-card,
  .sl-home-service-card:nth-child(2),
  .sl-home-service-card:nth-child(3) {
    grid-column: auto;
    min-height: 410px;
  }

  .sl-home-service-card > a {
    padding: 26px 24px;
  }

  .sl-home-service-card h3 {
    font-size: 32px;
  }

  .sl-home-case-card,
  .sl-home-case-card:last-child {
    grid-column: auto;
    min-height: 430px;
  }

  .sl-home-case-card__content {
    padding: 27px 24px;
  }

  .sl-home-cases__grid {
    padding-bottom: 0;
  }

  .sl-home-cases__more,
  .sl-home-testimonials__more {
    text-align: left;
  }

  .sl-home-testimonial-card--featured {
    grid-column: auto;
  }

  .sl-home-testimonial-card__caption {
    padding: 19px 20px 22px;
  }

  .sl-home-testimonials__heading > p:last-child,
  .sl-home-cta__inner > div:last-child > p {
    font-size: 16px;
  }

  .sl-home-page .sl-actions,
  .sl-home-page .sl-actions .sl-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sl-home-page *,
  .sl-home-page *::before,
  .sl-home-page *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
