@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap");

#servicePartnerLanding {
  --red: #af342b;
  --bg: #151515;
  --muted: #a5a5a5;
  --line: #383838;
}
#servicePartnerLanding, #servicePartnerLanding * {
  box-sizing: border-box;
}
#servicePartnerLanding {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
}
#servicePartnerLanding {
  margin: 0;
  background: var(--bg);
  color: #f4f4f4;
  font-family: "Montserrat", Arial, sans-serif;
  line-height: 1.5;
}
#servicePartnerLanding a {
  color: inherit;
  text-decoration: none;
}
#servicePartnerLanding button,
#servicePartnerLanding input,
#servicePartnerLanding textarea {
  font: inherit;
}
#servicePartnerLanding button,
#servicePartnerLanding a,
#servicePartnerLanding input,
#servicePartnerLanding textarea {
  outline-offset: 5px;
}
#servicePartnerLanding button {
  cursor: pointer;
}
#servicePartnerLanding header {
  height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4.5%;
  border-bottom: 1px solid var(--line);
  background: #151515f5;
  position: sticky;
  top: 0;
  z-index: 10;
}
#servicePartnerLanding .brand {
  font-size: 28px;
  letter-spacing: 3px;
  font-weight: 900;
  white-space: nowrap;
}
#servicePartnerLanding .brand:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--red);
  margin-right: 10px;
}
#servicePartnerLanding .brand small {
  display: block;
  font-size: 8px;
  letter-spacing: 4px;
  margin-left: 31px;
  font-weight: 400;
}
#servicePartnerLanding nav {
  display: flex;
  gap: 28px;
  font-size: 12px;
  color: #c9c9c9;
}
#servicePartnerLanding .topcta {
  font-size: 12px;
  border: 1px solid #646464;
  padding: 11px 18px;
}
#servicePartnerLanding .topcta:hover {
  border-color: var(--red);
}
#servicePartnerLanding .wrap {
  width: 91%;
  max-width: 1420px;
  margin: auto;
}
#servicePartnerLanding .eyebrow {
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
#servicePartnerLanding .eyebrow:before {
  content: "";
  width: 24px;
  height: 2px;
  background: var(--red);
}
#servicePartnerLanding .hero {
  position: relative;
  min-height: 730px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
#servicePartnerLanding .hero > img {
  position: absolute;
  right: 0;
  top: 0;
  width: 70%;
  height: 100%;
  object-fit: cover;
  object-position: 60% center;
}
#servicePartnerLanding .hero:after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      #151515 3%,
      #151515f2 28%,
      #151515ad 48%,
      #15151505 80%
    ),
    linear-gradient(0deg, #151515, transparent 25%);
}
#servicePartnerLanding .herocopy {
  position: relative;
  z-index: 1;
  padding: 74px 0 100px;
  width: 67%;
}
#servicePartnerLanding h1 {
  font-size: clamp(44px, 5.1vw, 79px);
  letter-spacing: -2px;
  line-height: 1.05;
  margin: 0 0 28px;
  font-weight: 750;
}
#servicePartnerLanding h1 em {
  font-style: normal;
  color: var(--red);
}
#servicePartnerLanding .intro {
  max-width: 440px;
  color: #c3c3c3;
  font-size: 17px;
  line-height: 1.65;
}
#servicePartnerLanding .btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  background: var(--red);
  color: white;
  padding: 18px 23px;
  border: 0;
  font-size: 13px;
  font-weight: 700;
  transition:
    background 0.2s,
    transform 0.2s;
}
#servicePartnerLanding .btn:hover {
  background: var(--red);
  transform: translateY(-2px);
}
#servicePartnerLanding .btn span {
  font-size: 21px;
  line-height: 1;
}
#servicePartnerLanding .hero .btn {
  margin-top: 18px;
}
#servicePartnerLanding .herofoot {
  position: absolute;
  bottom: 20px;
  left: 4.5%;
  right: 4.5%;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  letter-spacing: 1.3px;
  color: #c3c3c3;
}
#servicePartnerLanding .strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 27px 0;
  gap: 24px;
}
#servicePartnerLanding .strip div {
  font-size: 13px;
  display: flex;
  gap: 18px;
  align-items: center;
}
#servicePartnerLanding .strip b {
  color: var(--red);
  font-size: 22px;
}
#servicePartnerLanding .section {
  padding: 106px 0;
  border-bottom: 1px solid var(--line);
}
#servicePartnerLanding h2 {
  font-size: clamp(30px, 3.6vw, 54px);
  line-height: 1.13;
  letter-spacing: -1px;
  font-weight: 600;
  margin: 0 0 25px;
}
#servicePartnerLanding h2 em {
  font-style: normal;
  color: var(--red);
}
#servicePartnerLanding p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}
#servicePartnerLanding .split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7%;
  align-items: center;
}
#servicePartnerLanding .photo {
  position: relative;
  overflow: hidden;
  background: #272727;
}
#servicePartnerLanding .photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#servicePartnerLanding .tall {
  height: 570px;
}
#servicePartnerLanding .wide {
  height: 390px;
}
#servicePartnerLanding .caption {
  position: absolute;
  left: 22px;
  bottom: 22px;
  background: #151515e8;
  padding: 13px 18px;
  font-size: 11px;
  letter-spacing: 1px;
}
#servicePartnerLanding .checks {
  padding: 10px 0 0;
  list-style: none;
}
#servicePartnerLanding .checks li {
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}
#servicePartnerLanding .note {
  font-size: 11px;
  color: #858585;
}
#servicePartnerLanding .sectionhead {
  max-width: 900px;
  margin-bottom: 44px;
}
#servicePartnerLanding .assort {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 25px;
}
#servicePartnerLanding .selectpanel {
  padding: 32px;
  background: #222222;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#servicePartnerLanding .selectpanel label {
  font-size: 11px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 1.3px;
}
#servicePartnerLanding .selectpanel h3 {
  font-size: 26px;
  line-height: 1.2;
  margin: 12px 0 20px;
}
#servicePartnerLanding .tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 20px;
}
#servicePartnerLanding .tabs button {
  background: none;
  color: #c3c3c3;
  border: 1px solid #4e4e4e;
  padding: 9px 13px;
  font-size: 11px;
}
#servicePartnerLanding .tabs button[aria-pressed="true"] {
  border-color: var(--red);
  background: var(--red);
  color: white;
}
#servicePartnerLanding .selectpanel p {
  font-size: 13px;
}
#servicePartnerLanding .textlink {
  display: inline-block;
  padding: 13px 0;
  border-bottom: 1px solid #898989;
  font-size: 13px;
}
#servicePartnerLanding .accent {
  background: var(--red);
  padding: 30px 35px;
  margin-top: 22px;
  display: flex;
  gap: 35px;
  align-items: center;
}
#servicePartnerLanding .accent h3 {
  font-size: 24px;
  line-height: 1.2;
  margin: 0;
  max-width: 390px;
}
#servicePartnerLanding .accent p {
  color: #fafafa;
  margin: 0;
  font-size: 13px;
  max-width: 450px;
}
#servicePartnerLanding .duo {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 22px;
  margin: 35px 0;
}
#servicePartnerLanding .duo .photo {
  height: 360px;
}
#servicePartnerLanding .supplyintro {
  display: flex;
  justify-content: space-between;
  gap: 8%;
  align-items: end;
}
#servicePartnerLanding .supplyintro h2 {
  max-width: 680px;
}
#servicePartnerLanding .supplyintro p {
  max-width: 370px;
}
#servicePartnerLanding .features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
#servicePartnerLanding .features div {
  border-top: 1px solid var(--line);
  padding-top: 15px;
}
#servicePartnerLanding .features b {
  display: block;
  font-size: 14px;
}
#servicePartnerLanding .features span {
  font-size: 12px;
  color: var(--muted);
}
#servicePartnerLanding details {
  margin-top: 25px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 17px 0;
}
#servicePartnerLanding summary {
  cursor: pointer;
  font-size: 13px;
}
#servicePartnerLanding details p {
  font-size: 12px;
}
#servicePartnerLanding .merch {
  background: #e9e9e9;
  color: #1c1c1c;
}
#servicePartnerLanding .merch p {
  color: #666666;
}
#servicePartnerLanding .merch .eyebrow {
  color: #525252;
}
#servicePartnerLanding .merchgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
#servicePartnerLanding .merchgrid .photo {
  height: 420px;
}
#servicePartnerLanding .merchgrid .photo:first-child {
  grid-row: span 2;
  height: 100%;
}
#servicePartnerLanding .merchgrid .photo:last-child {
  height: 190px;
}
#servicePartnerLanding .merchgrid h3 {
  font-size: 30px;
  margin: 0 0 14px;
  line-height: 1.2;
}
#servicePartnerLanding .merchtext {
  padding: 20px 8px;
}
#servicePartnerLanding .co {
  border: 1px solid #b0b0b0;
  padding: 15px;
  display: inline-flex;
  gap: 15px;
  align-items: center;
  margin-top: 15px;
  font-size: 12px;
}
#servicePartnerLanding .co b {
  letter-spacing: 1px;
}
#servicePartnerLanding .co i {
  color: var(--red);
  font-size: 22px;
  font-style: normal;
}
#servicePartnerLanding .merchlist {
  font-size: 12px;
  color: #646464;
  margin-top: 25px;
}
#servicePartnerLanding .clientsteps {
  margin-top: 30px;
}
#servicePartnerLanding .clientsteps article {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 15px;
  padding: 17px 0;
  border-top: 1px solid var(--line);
}
#servicePartnerLanding .clientsteps b {
  color: var(--red);
  font-size: 12px;
}
#servicePartnerLanding .clientsteps h3 {
  font-size: 16px;
  margin: 0;
}
#servicePartnerLanding .clientsteps p {
  font-size: 12px;
  margin: 5px 0 0;
}
#servicePartnerLanding .formsection {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8%;
  padding: 100px 0;
}
#servicePartnerLanding .formphoto {
  height: 220px;
  margin-top: 30px;
}
#servicePartnerLanding .formbox {
  background: #222222;
  padding: 35px;
}
#servicePartnerLanding .formbox h3 {
  font-size: 23px;
  margin: 0 0 8px;
}
#servicePartnerLanding .formbox p {
  font-size: 12px;
}
#servicePartnerLanding label {
  display: block;
  font-size: 12px;
  color: #c2c2c2;
  margin-top: 18px;
}
#servicePartnerLanding input,
#servicePartnerLanding textarea {
  width: 100%;
  background: none;
  color: white;
  border: 0;
  border-bottom: 1px solid #656565;
  padding: 10px 0;
  border-radius: 0;
  min-width: 0;
}
#servicePartnerLanding textarea {
  resize: vertical;
  min-height: 78px;
}
#servicePartnerLanding .formbox .btn {
  width: 100%;
  margin-top: 24px;
}
#servicePartnerLanding .formhint {
  font-size: 11px !important;
}
#servicePartnerLanding .formstatus {
  color: white !important;
}
#servicePartnerLanding .contact {
  font-size: 12px;
  margin-top: 22px;
}
#servicePartnerLanding .contact a {
  border-bottom: 1px solid #707070;
}
#servicePartnerLanding footer {
  border-top: 1px solid var(--line);
  padding: 35px 0;
}
#servicePartnerLanding .footrow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
#servicePartnerLanding .footrow span {
  font-size: 11px;
  color: var(--muted);
}
#servicePartnerLanding .disclosure {
  font-size: 10px;
  max-width: 850px;
  margin-top: 30px;
  color: #797979;
}
#servicePartnerLanding .reveal {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.65s,
    transform 0.65s;
}
#servicePartnerLanding .reveal.visible {
  opacity: 1;
  transform: none;
}
#servicePartnerLanding ::selection {
  background: var(--red);
  color: white;
}
@media (min-width: 1600px) {
  #servicePartnerLanding .hero {
    min-height: 820px;
  }
}
@media (max-width: 1000px) {
  #servicePartnerLanding nav {
    display: none;
  }
  #servicePartnerLanding .herocopy {
    width: 80%;
  }
  #servicePartnerLanding .split {
    gap: 35px;
  }
  #servicePartnerLanding .tall {
    height: 500px;
  }
  #servicePartnerLanding .supplyintro {
    display: block;
  }
  #servicePartnerLanding .supplyintro p {
    max-width: 650px;
  }
  #servicePartnerLanding .formsection {
    gap: 35px;
  }
  #servicePartnerLanding .merchgrid .photo {
    height: 330px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding header {
    height: 72px;
    padding: 0 5%;
  }
  #servicePartnerLanding .brand {
    font-size: 21px;
  }
  #servicePartnerLanding .brand:before {
    width: 15px;
    height: 15px;
  }
  #servicePartnerLanding .brand small {
    font-size: 6px;
    letter-spacing: 3px;
    margin-left: 25px;
  }
  #servicePartnerLanding .topcta {
    padding: 8px 10px;
    font-size: 10px;
  }
  #servicePartnerLanding .hero {
    min-height: 810px;
    align-items: start;
  }
  #servicePartnerLanding .hero > img {
    top: 0;
    width: 100%;
    height: 50%;
    object-position: 60% center;
  }
  #servicePartnerLanding .hero:after {
    background: linear-gradient(
      0deg,
      #151515 38%,
      #15151599 60%,
      transparent 100%
    );
  }
  #servicePartnerLanding .herocopy {
    padding: 280px 0 85px;
    width: 100%;
  }
  #servicePartnerLanding h1 {
    font-size: 45px;
    letter-spacing: -1.4px;
  }
  #servicePartnerLanding .eyebrow {
    font-size: 9px;
    margin-bottom: 18px;
    letter-spacing: 1.5px;
  }
  #servicePartnerLanding .intro {
    font-size: 14px;
    max-width: 340px;
  }
  #servicePartnerLanding .herofoot {
    font-size: 8px;
    gap: 20px;
  }
  #servicePartnerLanding .herofoot span:last-child {
    display: none;
  }
  #servicePartnerLanding .btn {
    font-size: 12px;
    gap: 15px;
    padding: 17px 18px;
  }
  #servicePartnerLanding .strip {
    grid-template-columns: 1fr;
    padding: 20px 0;
    gap: 15px;
  }
  #servicePartnerLanding .strip div {
    font-size: 12px;
  }
  #servicePartnerLanding .strip b {
    font-size: 16px;
  }
  #servicePartnerLanding .section {
    padding: 65px 0;
  }
  #servicePartnerLanding .split,
#servicePartnerLanding .assort,
#servicePartnerLanding .merchgrid,
#servicePartnerLanding .formsection {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  #servicePartnerLanding h2 {
    font-size: 35px;
    letter-spacing: -0.7px;
  }
  #servicePartnerLanding .tall {
    height: 370px;
  }
  #servicePartnerLanding .split > div:first-child.photo {
    order: 2;
  }
  #servicePartnerLanding .wide {
    height: 300px;
  }
  #servicePartnerLanding .selectpanel {
    padding: 25px;
  }
  #servicePartnerLanding .accent {
    display: block;
    padding: 25px;
  }
  #servicePartnerLanding .accent h3 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  #servicePartnerLanding .duo {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  #servicePartnerLanding .duo .photo {
    height: 270px;
  }
  #servicePartnerLanding .features {
    gap: 20px;
  }
  #servicePartnerLanding .merchgrid .photo:first-child {
    grid-row: auto;
    height: 380px;
  }
  #servicePartnerLanding .merchgrid .photo {
    height: 310px;
  }
  #servicePartnerLanding .merchgrid .photo:last-child {
    height: 230px;
  }
  #servicePartnerLanding .merchtext {
    padding: 0;
  }
  #servicePartnerLanding .formsection {
    padding: 65px 0;
  }
  #servicePartnerLanding .formbox {
    padding: 25px;
  }
  #servicePartnerLanding .footrow {
    align-items: start;
    flex-direction: column;
  }
  #servicePartnerLanding .sectionhead {
    margin-bottom: 30px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #servicePartnerLanding {
    scroll-behavior: auto;
  }
  #servicePartnerLanding .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  #servicePartnerLanding .btn {
    transition: none;
  }
}

/* Refinement: balanced editorial layouts and product photography */
#servicePartnerLanding h2 {
  font-size: clamp(30px, 3.1vw, 46px);
  letter-spacing: -0.7px;
  line-height: 1.17;
}
#servicePartnerLanding .section {
  padding: 85px 0;
}
#servicePartnerLanding .rangeheading {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  align-items: end;
  gap: 6%;
  margin-bottom: 30px;
}
#servicePartnerLanding .rangeheading h2 {
  margin-bottom: 0;
}
#servicePartnerLanding .rangeheading p {
  margin: 0;
  max-width: 460px;
}
#servicePartnerLanding .rangepaths {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin: 35px 0;
}
#servicePartnerLanding .rangepaths > div {
  position: relative;
  border-top: 1px solid var(--line);
  padding: 23px 0 0 40px;
}
#servicePartnerLanding .rangepaths h3 {
  font-size: 21px;
  margin: 0 0 10px;
  line-height: 1.3;
}
#servicePartnerLanding .rangepaths p {
  font-size: 13px;
  margin: 0;
  max-width: 440px;
}
#servicePartnerLanding .pathnum {
  position: absolute;
  left: 0;
  top: 25px;
  font-size: 11px;
  color: var(--red);
}
#servicePartnerLanding .productgallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
#servicePartnerLanding .productgallery > a {
  background: #efefef;
  color: #1f1f1f;
  padding: 24px 24px 20px;
  transition: background 0.2s;
}
#servicePartnerLanding .productgallery > a:hover {
  background: white;
}
#servicePartnerLanding .productgallery img {
  width: 100%;
  height: 300px;
  object-fit: contain;
  display: block;
  mix-blend-mode: multiply;
}
#servicePartnerLanding .productgallery a > div {
  border-top: 1px solid #cecece;
  margin-top: 20px;
  padding-top: 14px;
}
#servicePartnerLanding .productgallery b {
  display: block;
  font-size: 17px;
}
#servicePartnerLanding .productgallery span {
  color: #6e6e6e;
  font-size: 10px;
}
#servicePartnerLanding .rangebottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}
#servicePartnerLanding .rangebottom .note {
  max-width: 670px;
}
#servicePartnerLanding .chinese {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: 40px;
  align-items: center;
  margin-top: 35px;
  border: 1px solid #464646;
  padding: 30px 35px;
  background: #1f1f1f;
}
#servicePartnerLanding .chinese h3 {
  font-size: 30px;
  line-height: 1.17;
  letter-spacing: -0.5px;
  margin: 0 0 15px;
}
#servicePartnerLanding .chinese h3 em {
  color: var(--red);
  font-style: normal;
}
#servicePartnerLanding .chinese p {
  font-size: 13px;
  max-width: 500px;
}
#servicePartnerLanding .chinesephoto {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #efefef;
  padding: 15px;
  color: #353535;
}
#servicePartnerLanding .chinesephoto img {
  height: 265px;
  width: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
#servicePartnerLanding .chinesephoto span {
  font-size: 9px;
  letter-spacing: 1px;
  padding: 8px 0;
}
#servicePartnerLanding .duo {
  grid-template-columns: 1fr 1fr;
}
#servicePartnerLanding .duo .photo {
  height: 340px;
}
#servicePartnerLanding .caption {
  font-size: 9px;
  max-width: calc(100% - 40px);
  letter-spacing: 1px;
}
#servicePartnerLanding .supplyintro {
  align-items: center;
}
#servicePartnerLanding .supplyintro h2 {
  max-width: 710px;
}
#servicePartnerLanding .supplyintro p {
  max-width: 370px;
}
#servicePartnerLanding .origin {
  border-left: 3px solid var(--red);
  padding: 20px;
  background: #262626;
  display: flex;
  gap: 16px;
  margin: 25px 0;
}
#servicePartnerLanding .originmark {
  color: var(--red);
  font-size: 28px;
}
#servicePartnerLanding .origin h3 {
  font-size: 23px;
  line-height: 1.25;
  margin: 0 0 12px;
}
#servicePartnerLanding .origin p {
  font-size: 12px;
  margin: 8px 0;
}
#servicePartnerLanding .origin b {
  display: block;
  font-size: 12px;
  margin-top: 15px;
}
#servicePartnerLanding .teamsection {
  background: #202020;
}
#servicePartnerLanding .teamlead {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 6%;
  align-items: center;
}
#servicePartnerLanding .teamlead > .photo {
  height: 630px;
}
#servicePartnerLanding .teamcopy h2 {
  font-size: clamp(34px, 3.8vw, 54px);
}
#servicePartnerLanding .teamcopy p {
  max-width: 610px;
  font-size: 14px;
}
#servicePartnerLanding .teamquote {
  border-left: 3px solid var(--red);
  padding: 12px 0 12px 20px;
  margin: 25px 0;
  font-size: 19px;
  line-height: 1.4;
  font-weight: 600;
  max-width: 520px;
}
#servicePartnerLanding .teamsub {
  font-size: 12px !important;
}
#servicePartnerLanding .teamdetails {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 40px;
  background: #161616;
}
#servicePartnerLanding .teamdetails > .photo {
  height: 320px;
}
#servicePartnerLanding .teamdetailtext {
  padding: 35px 40px;
  align-self: center;
}
#servicePartnerLanding .teamdetailtext h3 {
  font-size: 27px;
  line-height: 1.2;
  margin: 0 0 15px;
}
#servicePartnerLanding .teamdetailtext p {
  font-size: 13px;
}
#servicePartnerLanding .teamdetailtext .eyebrow {
  font-size: 9px;
}
#servicePartnerLanding .clientheading {
  max-width: 1050px;
  margin-bottom: 35px;
}
#servicePartnerLanding .clientheading h2 {
  font-size: clamp(31px, 3.5vw, 50px);
}
#servicePartnerLanding .clientheading > p {
  max-width: 770px;
}
#servicePartnerLanding .clientlayout {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 22px;
}
#servicePartnerLanding .clientlayout > .photo {
  height: 460px;
}
#servicePartnerLanding .brochure {
  background: #292929;
  padding: 25px;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 25px;
  align-items: center;
}
#servicePartnerLanding .brochure h3 {
  font-size: 24px;
  line-height: 1.2;
  margin: 0 0 17px;
}
#servicePartnerLanding .brochure p {
  font-size: 13px;
}
#servicePartnerLanding .brochure .eyebrow {
  font-size: 8px;
  gap: 7px;
  letter-spacing: 1px;
}
#servicePartnerLanding .bookvisual {
  perspective: 800px;
}
#servicePartnerLanding .bookfront {
  background: #eeeeee;
  color: #242424;
  min-height: 290px;
  transform: rotate(-7deg);
  padding: 20px 15px;
  box-shadow:
    9px 10px 0 #585858,
    20px 25px 35px #00000077;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
#servicePartnerLanding .bookfront > span {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1px;
}
#servicePartnerLanding .bookfront > b {
  font-size: 14px;
  line-height: 1.2;
  margin-top: 20px;
}
#servicePartnerLanding .bookfront > img {
  height: 155px;
  width: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
#servicePartnerLanding .bookfront > small {
  font-size: 6px;
  letter-spacing: 1px;
}
#servicePartnerLanding .retentioncards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 22px;
}
#servicePartnerLanding .retentioncards article {
  padding: 30px;
  background: #232323;
  overflow: hidden;
}
#servicePartnerLanding .retentioncards article > span {
  font-size: 10px;
  color: var(--red);
  letter-spacing: 1px;
}
#servicePartnerLanding .retentioncards h3 {
  font-size: 24px;
  line-height: 1.25;
  margin: 13px 0;
}
#servicePartnerLanding .retentioncards p {
  font-size: 13px;
  max-width: 460px;
  min-height: 66px;
}
#servicePartnerLanding .retentioncards img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
#servicePartnerLanding .giftvisual {
  height: 200px;
  background: #343434;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
}
#servicePartnerLanding .giftvisual .co {
  color: white;
  border-color: #707070;
  margin-top: 0;
  flex-wrap: wrap;
  justify-content: center;
}
#servicePartnerLanding .giftvisual > span {
  font-size: 10px;
  color: #aeaeae;
  display: block;
  margin-top: 20px;
  text-align: center;
}
#servicePartnerLanding .contact {
  font-size: 16px;
  line-height: 2.1;
}
#servicePartnerLanding .formsection h2 {
  font-size: clamp(34px, 3.6vw, 53px);
}
#servicePartnerLanding .requestintro {
  font-size: 17px;
  color: #e2e2e2;
}
#servicePartnerLanding .formphoto {
  height: 190px;
}
#servicePartnerLanding .formbox {
  align-self: start;
}
#servicePartnerLanding .teamsection .note {
  font-size: 10px;
}
#servicePartnerLanding .formsection {
  align-items: start;
}
#servicePartnerLanding .supplyintro h2 br {
  display: none;
}
#servicePartnerLanding .supplyintro h2 em {
  display: block;
}
#servicePartnerLanding .section.split > div:not(.photo) {
  min-width: 0;
}
#servicePartnerLanding .teamlead img {
  object-position: 50% center;
}
@media (max-width: 1000px) {
  #servicePartnerLanding .rangeheading {
    gap: 30px;
  }
  #servicePartnerLanding .productgallery img {
    height: 240px;
  }
  #servicePartnerLanding .clientlayout {
    grid-template-columns: 1fr;
  }
  #servicePartnerLanding .brochure {
    padding: 35px;
    grid-template-columns: 240px 1fr;
  }
  #servicePartnerLanding .teamlead {
    gap: 30px;
  }
  #servicePartnerLanding .teamlead > .photo {
    height: 650px;
  }
  #servicePartnerLanding .teamcopy h2 {
    font-size: 40px;
  }
  #servicePartnerLanding .teamdetailtext {
    padding: 25px;
  }
  #servicePartnerLanding .supplyintro {
    display: grid;
    grid-template-columns: 1.3fr 0.7fr;
    gap: 35px;
  }
  #servicePartnerLanding .chinese {
    gap: 25px;
    padding: 25px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .section {
    padding: 60px 0;
  }
  #servicePartnerLanding h2 {
    font-size: 32px;
    letter-spacing: -0.5px;
  }
  #servicePartnerLanding .rangeheading,
#servicePartnerLanding .rangepaths,
#servicePartnerLanding .chinese,
#servicePartnerLanding .duo,
#servicePartnerLanding .teamlead,
#servicePartnerLanding .teamdetails,
#servicePartnerLanding .clientlayout,
#servicePartnerLanding .retentioncards {
    grid-template-columns: 1fr;
  }
  #servicePartnerLanding .rangeheading {
    gap: 20px;
  }
  #servicePartnerLanding .rangeheading h2 br {
    display: none;
  }
  #servicePartnerLanding .rangeheading h2 em {
    display: block;
  }
  #servicePartnerLanding .rangepaths {
    gap: 22px;
    margin: 27px 0;
  }
  #servicePartnerLanding .rangepaths h3 {
    font-size: 19px;
  }
  #servicePartnerLanding .productgallery {
    gap: 8px;
  }
  #servicePartnerLanding .productgallery > a {
    padding: 12px 8px;
  }
  #servicePartnerLanding .productgallery img {
    height: 160px;
  }
  #servicePartnerLanding .productgallery b {
    font-size: 11px;
  }
  #servicePartnerLanding .productgallery span {
    font-size: 8px;
    line-height: 1.4;
    display: block;
    margin-top: 5px;
  }
  #servicePartnerLanding .productgallery a > div {
    margin-top: 8px;
    padding-top: 8px;
  }
  #servicePartnerLanding .rangebottom {
    display: block;
  }
  #servicePartnerLanding .chinese {
    padding: 22px;
    gap: 22px;
    margin-top: 30px;
  }
  #servicePartnerLanding .chinese h3 {
    font-size: 27px;
  }
  #servicePartnerLanding .chinesephoto img {
    height: 245px;
  }
  #servicePartnerLanding .duo {
    gap: 15px;
  }
  #servicePartnerLanding .duo .photo {
    height: 260px;
  }
  #servicePartnerLanding .supplyintro {
    display: block;
  }
  #servicePartnerLanding .supplyintro h2 {
    font-size: 32px;
  }
  #servicePartnerLanding .supplyintro p {
    max-width: 100%;
  }
  #servicePartnerLanding .caption {
    font-size: 8px;
    left: 15px;
    bottom: 15px;
    padding: 12px;
    max-width: calc(100% - 30px);
  }
  #servicePartnerLanding .origin {
    padding: 17px;
    gap: 10px;
  }
  #servicePartnerLanding .origin h3 {
    font-size: 21px;
  }
  #servicePartnerLanding .teamlead > .photo {
    height: 420px;
  }
  #servicePartnerLanding .teamlead {
    gap: 30px;
  }
  #servicePartnerLanding .teamcopy h2 {
    font-size: 36px;
  }
  #servicePartnerLanding .teamcopy h2 br {
    display: none;
  }
  #servicePartnerLanding .teamcopy h2 em {
    display: block;
  }
  #servicePartnerLanding .teamcopy p {
    font-size: 14px;
  }
  #servicePartnerLanding .teamdetails {
    margin-top: 30px;
    gap: 0;
  }
  #servicePartnerLanding .teamdetails > .photo {
    height: 260px;
  }
  #servicePartnerLanding .teamdetailtext {
    padding: 25px;
  }
  #servicePartnerLanding .teamdetailtext h3 {
    font-size: 25px;
  }
  #servicePartnerLanding .clientheading h2 {
    font-size: 32px;
  }
  #servicePartnerLanding .clientheading h2 br {
    display: none;
  }
  #servicePartnerLanding .clientheading h2 em {
    display: inline;
  }
  #servicePartnerLanding .clientlayout > .photo {
    height: 300px;
  }
  #servicePartnerLanding .brochure {
    padding: 25px 20px;
    grid-template-columns: 125px 1fr;
    gap: 22px;
  }
  #servicePartnerLanding .bookfront {
    min-height: 240px;
    padding: 14px 10px;
  }
  #servicePartnerLanding .bookfront > span {
    font-size: 9px;
  }
  #servicePartnerLanding .bookfront > b {
    font-size: 11px;
  }
  #servicePartnerLanding .bookfront > img {
    height: 130px;
  }
  #servicePartnerLanding .bookfront > small {
    font-size: 5px;
  }
  #servicePartnerLanding .brochure h3 {
    font-size: 21px;
  }
  #servicePartnerLanding .brochure p {
    font-size: 12px;
  }
  #servicePartnerLanding .brochure .eyebrow {
    font-size: 7px;
    letter-spacing: 0.5px;
  }
  #servicePartnerLanding .brochure .eyebrow:before {
    display: none;
  }
  #servicePartnerLanding .retentioncards article {
    padding: 25px;
  }
  #servicePartnerLanding .retentioncards p {
    min-height: 0;
  }
  #servicePartnerLanding .giftvisual .co {
    font-size: 10px;
    gap: 10px;
  }
  #servicePartnerLanding .formsection h2 {
    font-size: 36px;
  }
  #servicePartnerLanding .formsection .requestintro {
    font-size: 16px;
  }
}

/* Desktop composition and requested image refinements */
#servicePartnerLanding .herocopy {
  width: 56%;
  padding-top: 65px;
  padding-bottom: 95px;
}
#servicePartnerLanding h1 {
  font-size: clamp(44px, 4.15vw, 64px);
  line-height: 1.11;
  letter-spacing: -1.3px;
}
#servicePartnerLanding .hero > img {
  width: 65%;
  object-position: 66% center;
}
#servicePartnerLanding .hero .intro {
  max-width: 445px;
  font-size: 17px;
}
#servicePartnerLanding .hero {
  min-height: 710px;
}
#servicePartnerLanding .hero:after {
  background:
    linear-gradient(
      90deg,
      #151515 2%,
      #151515f5 29%,
      #151515a6 46%,
      #15151500 69%
    ),
    linear-gradient(0deg, #151515, transparent 25%);
}
#servicePartnerLanding .productgallery > a {
  background: transparent;
  color: #f4f4f4;
  border: 1px solid #434343;
  padding: 24px 20px 20px;
}
#servicePartnerLanding .productgallery > a:hover {
  background: #ffffff06;
  border-color: #aaaaaa;
}
#servicePartnerLanding .productgallery img {
  height: 315px;
  mix-blend-mode: normal;
  object-fit: contain;
}
#servicePartnerLanding .productgallery a > div {
  border-top-color: #434343;
}
#servicePartnerLanding .productgallery span {
  color: #b4b4b4;
}
#servicePartnerLanding .originheading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7%;
  align-items: center;
  margin-bottom: 30px;
}
#servicePartnerLanding .originheading h2 {
  margin: 0;
}
#servicePartnerLanding .originheading p {
  max-width: 470px;
  font-size: 16px;
}
#servicePartnerLanding .originbody {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 5%;
  align-items: start;
}
#servicePartnerLanding .origin {
  margin-top: 0;
}
#servicePartnerLanding .originvisual > .photo {
  aspect-ratio: 3/2;
  height: auto;
}
#servicePartnerLanding .originvisual img {
  object-fit: cover;
}
#servicePartnerLanding .supplypath {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid #484848;
  font-size: 15px;
  letter-spacing: 1px;
}
#servicePartnerLanding .supplypath span {
  font-size: 27px;
  color: var(--red);
}
#servicePartnerLanding .originvisual > p {
  font-size: 13px;
  margin: 12px 0;
}
#servicePartnerLanding .teamdetails {
  grid-template-columns: 1.2fr 0.8fr;
  align-items: stretch;
}
#servicePartnerLanding .teamdetails > .photo {
  height: auto;
  min-height: 420px;
}
#servicePartnerLanding .teamdetails > .photo img {
  object-fit: contain;
}
#servicePartnerLanding .teamdetailtext {
  padding: 30px;
}
#servicePartnerLanding .clientlayout {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: stretch;
}
#servicePartnerLanding .clientlayout > .photo {
  height: auto;
  min-height: 485px;
}
#servicePartnerLanding .clientlayout > .photo img {
  object-position: 53% center;
}
#servicePartnerLanding .brochure {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  padding: 28px;
  gap: 26px;
  background: #272727;
}
#servicePartnerLanding .brochurecopy .eyebrow {
  margin-bottom: 12px;
  font-size: 9px;
}
#servicePartnerLanding .brochurecopy h3 {
  font-size: 27px;
  line-height: 1.2;
  margin: 0 0 12px;
}
#servicePartnerLanding .brochurecopy p {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}
#servicePartnerLanding .openspread {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: #ebebeb;
  color: #282828;
  box-shadow: 0 15px 20px #00000044;
  min-height: 280px;
  align-items: stretch;
}
#servicePartnerLanding .spreadpanel {
  padding: 14px 12px;
  position: relative;
  border-right: 1px solid #c2c2c2;
  background: linear-gradient(
    90deg,
    #d5d5d5 0,
    #f1f1f1 12%,
    #ededed 91%,
    #d6d6d6 100%
  );
}
#servicePartnerLanding .spreadpanel:last-child {
  border: 0;
}
#servicePartnerLanding .spreadbrand {
  font-size: 7px;
  font-weight: bold;
  letter-spacing: 0.4px;
}
#servicePartnerLanding .spreadpanel h4 {
  font-size: 13px;
  margin: 15px 0 5px;
  line-height: 1.2;
}
#servicePartnerLanding .spreadpanel > img {
  display: block;
  height: 115px;
  width: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
  margin: 8px 0;
}
#servicePartnerLanding .spreadpanel > b {
  font-size: 9px;
  line-height: 1.2;
  display: block;
  min-height: 23px;
}
#servicePartnerLanding .spreadpanel > p {
  font-size: 9px;
  line-height: 1.5;
  color: #4a4a4a;
  margin: 6px 0;
}
#servicePartnerLanding .spreadpanel > small {
  font-size: 7px;
  line-height: 1.4;
  display: block;
  border-top: 1px solid #c3c3c3;
  padding-top: 7px;
  margin-top: 10px;
  color: #666666;
}
#servicePartnerLanding .retentioncards {
  gap: 24px;
}
#servicePartnerLanding .retentioncards article {
  display: flex;
  flex-direction: column;
}
#servicePartnerLanding .retentioncards article > p:not(.giftcaption) {
  min-height: 66px;
}
#servicePartnerLanding .retentioncards article > img,
#servicePartnerLanding .giftphoto {
  height: 240px;
  min-height: 240px;
  width: 100%;
  margin-top: 10px;
}
#servicePartnerLanding .giftphoto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#servicePartnerLanding .giftcaption {
  font-size: 11px !important;
  color: #b2b2b2;
  margin-bottom: 0;
  min-height: 0 !important;
}
#servicePartnerLanding .directcontact {
  margin-top: 30px;
  padding: 25px 0;
  border-top: 1px solid #4c4c4c;
}
#servicePartnerLanding .directcontact > .eyebrow {
  font-size: 10px;
}
#servicePartnerLanding .directcontact > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 13px 0;
  font-size: clamp(18px, 2vw, 27px);
  border-bottom: 1px solid #4c4c4c;
  overflow-wrap: anywhere;
}
#servicePartnerLanding .directcontact > a > span {
  color: var(--red);
  font-size: 24px;
}
#servicePartnerLanding .directcontact > p {
  font-size: 13px;
  max-width: 450px;
}
#servicePartnerLanding .clientsection .retentioncards h3 {
  min-height: 60px;
}
#servicePartnerLanding .teamdetails > .photo .caption {
  display: none;
}
@media (max-width: 1000px) {
  #servicePartnerLanding .herocopy {
    width: 63%;
  }
  #servicePartnerLanding h1 {
    font-size: 48px;
  }
  #servicePartnerLanding .originbody {
    gap: 30px;
  }
  #servicePartnerLanding .teamdetails {
    grid-template-columns: 1fr 1fr;
  }
  #servicePartnerLanding .teamdetails > .photo {
    min-height: 350px;
  }
  #servicePartnerLanding .clientlayout > .photo {
    min-height: 500px;
  }
  #servicePartnerLanding .brochure {
    padding: 22px;
  }
  #servicePartnerLanding .openspread {
    min-height: 285px;
  }
  #servicePartnerLanding .spreadpanel {
    padding: 12px 8px;
  }
  #servicePartnerLanding .spreadpanel h4 {
    font-size: 12px;
  }
  #servicePartnerLanding .spreadpanel > img {
    height: 105px;
  }
  #servicePartnerLanding .retentioncards article > p:not(.giftcaption) {
    min-height: 90px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .herocopy {
    width: 100%;
    padding-top: 280px;
    padding-bottom: 85px;
  }
  #servicePartnerLanding h1 {
    font-size: clamp(34px, 8.7vw, 45px);
    line-height: 1.12;
    letter-spacing: -0.8px;
  }
  #servicePartnerLanding .hero > img {
    width: 100%;
    height: 50%;
    object-position: 66% center;
  }
  #servicePartnerLanding .hero:after {
    background: linear-gradient(
      0deg,
      #151515 38%,
      #15151599 60%,
      transparent 100%
    );
  }
  #servicePartnerLanding .hero {
    min-height: 780px;
  }
  #servicePartnerLanding .hero .intro {
    font-size: 15px;
    max-width: 345px;
  }
  #servicePartnerLanding .productgallery > a {
    padding: 10px 7px;
  }
  #servicePartnerLanding .productgallery img {
    height: 175px;
  }
  #servicePartnerLanding .originheading,
#servicePartnerLanding .originbody,
#servicePartnerLanding .teamdetails,
#servicePartnerLanding .clientlayout {
    grid-template-columns: 1fr;
  }
  #servicePartnerLanding .originheading {
    gap: 15px;
  }
  #servicePartnerLanding .originheading p {
    font-size: 15px;
  }
  #servicePartnerLanding .originbody {
    gap: 25px;
  }
  #servicePartnerLanding .originvisual > .photo {
    aspect-ratio: 3/2;
  }
  #servicePartnerLanding .supplypath {
    font-size: 12px;
  }
  #servicePartnerLanding .teamdetails > .photo {
    min-height: 0;
    height: auto;
    aspect-ratio: 3/2;
  }
  #servicePartnerLanding .teamdetails > .photo img {
    object-fit: contain;
  }
  #servicePartnerLanding .teamdetailtext {
    padding: 25px;
  }
  #servicePartnerLanding .clientlayout > .photo {
    min-height: 0;
    height: 330px;
  }
  #servicePartnerLanding .brochure {
    padding: 22px;
    gap: 22px;
  }
  #servicePartnerLanding .brochurecopy h3 {
    font-size: 25px;
  }
  #servicePartnerLanding .openspread {
    min-height: 275px;
  }
  #servicePartnerLanding .spreadpanel {
    padding: 12px 7px;
  }
  #servicePartnerLanding .spreadpanel h4 {
    font-size: 11px;
  }
  #servicePartnerLanding .spreadbrand {
    font-size: 5.5px;
  }
  #servicePartnerLanding .spreadpanel > img {
    height: 100px;
  }
  #servicePartnerLanding .spreadpanel > b {
    font-size: 8px;
  }
  #servicePartnerLanding .spreadpanel > p {
    font-size: 8px;
  }
  #servicePartnerLanding .spreadpanel > small {
    font-size: 6px;
  }
  #servicePartnerLanding .retentioncards article > p:not(.giftcaption) {
    min-height: 0;
  }
  #servicePartnerLanding .retentioncards article > img,
#servicePartnerLanding .giftphoto {
    height: 220px;
    min-height: 220px;
  }
  #servicePartnerLanding .directcontact > a {
    font-size: 20px;
  }
  #servicePartnerLanding .clientsection .retentioncards h3 {
    min-height: 0;
  }
}
#servicePartnerLanding .chinesephoto {
  background: transparent;
  color: #b8b8b8;
}
#servicePartnerLanding .chinesephoto img {
  mix-blend-mode: normal;
}
#servicePartnerLanding .giftphoto img {
  object-fit: contain;
}
#servicePartnerLanding .hero > img {
  mask-image: linear-gradient(90deg, transparent, #000000 20%);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000000 20%);
}
@media (max-width: 650px) {
  #servicePartnerLanding .hero > img {
    mask-image: none;
    -webkit-mask-image: none;
  }
}
/* Reference-based hero */
#servicePartnerLanding .hero {
  min-height: calc(100svh - 86px);
  align-items: center;
  background: #131313;
}
#servicePartnerLanding .hero > img {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 60% center;
  mask-image: none;
  -webkit-mask-image: none;
}
#servicePartnerLanding .hero:after {
  background:
    linear-gradient(
      90deg,
      #0f0f0fee 0%,
      #0f0f0fc2 34%,
      #0f0f0f75 67%,
      #0f0f0f52 100%
    ),
    linear-gradient(0deg, #0f0f0fdb, transparent 48%);
}
#servicePartnerLanding .herocopy {
  width: 100%;
  padding: 56px 0 110px;
}
#servicePartnerLanding .hero .eyebrow {
  font-size: 12px;
  letter-spacing: 2.3px;
  color: #c4c4c4;
  margin-bottom: 30px;
}
#servicePartnerLanding .hero .eyebrow:before {
  width: 8px;
  height: 8px;
  flex: none;
}
#servicePartnerLanding .hero h1 {
  font-weight: 400;
  font-size: clamp(58px, 6vw, 108px);
  line-height: 1.06;
  letter-spacing: -2px;
  margin: 0 0 32px;
  max-width: 1150px;
}
#servicePartnerLanding .hero h1 em {
  font-weight: 400;
  white-space: nowrap;
}
#servicePartnerLanding .hero .intro {
  font-size: 18px;
  line-height: 1.65;
  color: #c7c7c7;
  max-width: 565px;
  margin: 0 0 32px;
}
#servicePartnerLanding .heroactions {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}
#servicePartnerLanding .hero .heroactions .btn {
  margin: 0;
  min-height: 64px;
  padding: 19px 26px;
  font-size: 14px;
  min-width: 305px;
  gap: 34px;
}
#servicePartnerLanding .hero .heroactions .btnoutline {
  min-width: 255px;
  background: #19191959;
  border: 1px solid #838383;
  color: white;
}
#servicePartnerLanding .hero .heroactions .btnoutline:hover {
  background: #ffffff12;
  border-color: #c5c5c5;
}
#servicePartnerLanding .herofoot {
  bottom: 28px;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: 1.6px;
}
#servicePartnerLanding .herofoot span:last-child {
  display: block;
}
#servicePartnerLanding #quality .tall {
  height: 450px;
}
@media (min-width: 1700px) {
  #servicePartnerLanding .hero .wrap {
    max-width: 1710px;
  }
  #servicePartnerLanding .herocopy {
    padding-top: 48px;
  }
  #servicePartnerLanding .hero h1 {
    font-size: 105px;
  }
  #servicePartnerLanding .hero .intro {
    font-size: 20px;
  }
}
@media (max-width: 1000px) {
  #servicePartnerLanding .hero {
    min-height: 780px;
  }
  #servicePartnerLanding .hero h1 {
    font-size: clamp(48px, 6.6vw, 70px);
  }
  #servicePartnerLanding .herocopy {
    width: 100%;
    padding-top: 50px;
    padding-bottom: 105px;
  }
  #servicePartnerLanding .hero .eyebrow {
    font-size: 10px;
    letter-spacing: 1.6px;
  }
  #servicePartnerLanding .hero .intro {
    max-width: 530px;
    font-size: 17px;
  }
  #servicePartnerLanding .hero .heroactions .btn {
    min-width: 270px;
  }
  #servicePartnerLanding .hero .heroactions .btnoutline {
    min-width: 230px;
  }
  #servicePartnerLanding .herofoot {
    font-size: 9px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .hero {
    min-height: calc(100svh - 72px);
    align-items: center;
  }
  #servicePartnerLanding .hero > img {
    height: 100%;
    width: 100%;
    object-position: 68% center;
    mask-image: none;
    -webkit-mask-image: none;
  }
  #servicePartnerLanding .hero:after {
    background:
      linear-gradient(90deg, #131313e8, #131313a8),
      linear-gradient(0deg, #131313ed, transparent 70%);
  }
  #servicePartnerLanding .herocopy {
    padding: 42px 0 108px;
  }
  #servicePartnerLanding .hero h1 {
    font-size: clamp(32px, 8.4vw, 51px);
    letter-spacing: -0.9px;
    line-height: 1.13;
    margin-bottom: 25px;
  }
  #servicePartnerLanding .hero .eyebrow {
    font-size: 8px;
    letter-spacing: 1.4px;
    margin-bottom: 25px;
    max-width: 330px;
    align-items: flex-start;
  }
  #servicePartnerLanding .hero .eyebrow:before {
    width: 6px;
    height: 6px;
    margin-top: 3px;
  }
  #servicePartnerLanding .hero .intro {
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 25px;
    max-width: 360px;
  }
  #servicePartnerLanding .heroactions {
    gap: 12px;
    max-width: 370px;
  }
  #servicePartnerLanding .hero .heroactions .btn,
#servicePartnerLanding .hero .heroactions .btnoutline {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    font-size: 12px;
    padding: 16px 19px;
  }
  #servicePartnerLanding .herofoot {
    bottom: 24px;
    font-size: 8px;
    letter-spacing: 1px;
    max-width: 350px;
  }
  #servicePartnerLanding .herofoot span:last-child {
    display: block;
  }
  #servicePartnerLanding #quality .tall {
    height: 350px;
  }
}

#servicePartnerLanding .catalogintro {
  max-width: 1000px;
}
#servicePartnerLanding .catalogintro h2 {
  font-size: clamp(32px, 3.5vw, 50px);
  margin-bottom: 22px;
}
#servicePartnerLanding .catalogintro p {
  max-width: 740px;
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 0;
}
#servicePartnerLanding .catalogtoolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 0 18px;
}
#servicePartnerLanding .catalogposition {
  font-size: 13px;
  letter-spacing: 1px;
  color: #b3b3b3;
}
#servicePartnerLanding .catalogarrows {
  display: flex;
  gap: 9px;
}
#servicePartnerLanding .catalogarrows button {
  width: 47px;
  height: 47px;
  border: 1px solid #565656;
  background: transparent;
  color: #f4f4f4;
  font-size: 24px;
  transition:
    background 0.2s,
    border-color 0.2s;
}
#servicePartnerLanding .catalogarrows button:hover:not(:disabled) {
  background: var(--red);
  border-color: var(--red);
}
#servicePartnerLanding .catalogarrows button:disabled {
  opacity: 0.28;
  cursor: default;
}
#servicePartnerLanding .catalogtrack {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 40px) / 3);
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding: 0 0 8px;
  overscroll-behavior-x: contain;
}
#servicePartnerLanding .catalogtrack::-webkit-scrollbar {
  display: none;
}
#servicePartnerLanding .catalogcard {
  scroll-snap-align: start;
  min-width: 0;
  border: 1px solid #414141;
  background: transparent;
}
#servicePartnerLanding .catalogcard > a {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 22px;
}
#servicePartnerLanding .catalogimage {
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
#servicePartnerLanding .catalogimage img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: normal;
  transition: transform 0.3s;
}
#servicePartnerLanding .catalogcard > a:hover .catalogimage img {
  transform: scale(1.04);
}
#servicePartnerLanding .catalogcardcopy {
  border-top: 1px solid #414141;
  padding-top: 18px;
  margin-top: 15px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
#servicePartnerLanding .catalogcardcopy > span {
  font-size: 10px;
  letter-spacing: 1.5px;
  color: var(--red);
  font-weight: 700;
}
#servicePartnerLanding .catalogcardcopy h3 {
  font-size: 19px;
  line-height: 1.4;
  font-weight: 500;
  margin: 12px 0 22px;
  min-height: 81px;
}
#servicePartnerLanding .catalogcardcopy > b {
  font-size: 12px;
  font-weight: 400;
  color: #cacaca;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
}
#servicePartnerLanding .catalogcardcopy > b span {
  font-size: 17px;
}
#servicePartnerLanding .catalogslider + .chinese {
  margin-top: 40px;
}
@media (max-width: 1000px) {
  #servicePartnerLanding .catalogtrack {
    grid-auto-columns: calc((100% - 20px) / 2);
  }
  #servicePartnerLanding .catalogimage {
    height: 290px;
  }
  #servicePartnerLanding .catalogintro {
    max-width: 850px;
  }
  #servicePartnerLanding .catalogcardcopy h3 {
    font-size: 18px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .catalogintro h2 {
    font-size: 32px;
  }
  #servicePartnerLanding .catalogintro h2 br {
    display: none;
  }
  #servicePartnerLanding .catalogintro h2 em {
    display: block;
  }
  #servicePartnerLanding .catalogintro p {
    font-size: 15px;
  }
  #servicePartnerLanding .catalogtrack {
    grid-auto-columns: 88%;
    gap: 14px;
  }
  #servicePartnerLanding .catalogimage {
    height: 290px;
  }
  #servicePartnerLanding .catalogcard > a {
    padding: 20px;
  }
  #servicePartnerLanding .catalogcardcopy h3 {
    min-height: 0;
    font-size: 19px;
  }
  #servicePartnerLanding .catalogarrows button {
    width: 43px;
    height: 43px;
  }
  #servicePartnerLanding .catalogslider + .chinese {
    margin-top: 30px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #servicePartnerLanding .catalogtrack {
    scroll-behavior: auto;
  }
  #servicePartnerLanding .catalogimage img {
    transition: none;
  }
}

/* Compact supply section for laptop screens */
#servicePartnerLanding .supplysection {
  padding: 60px 0;
}
#servicePartnerLanding .supplysection > .eyebrow {
  margin-bottom: 20px;
}
#servicePartnerLanding .supplycompacthead {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 7%;
  align-items: center;
}
#servicePartnerLanding .supplycompacthead h2 {
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.15;
  margin: 0;
}
#servicePartnerLanding .supplycompacthead p {
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
  max-width: 420px;
  color: #bcbcbc;
}
#servicePartnerLanding .supplycards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 28px 0 24px;
}
#servicePartnerLanding .supplycards article {
  min-width: 0;
}
#servicePartnerLanding .supplycards h3 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.3;
  margin: 0 0 13px;
  color: #f3f3f3;
}
#servicePartnerLanding .supplycards .photo {
  height: clamp(190px, 17vw, 250px);
}
#servicePartnerLanding .supplycards img {
  object-fit: cover;
  object-position: center;
}
#servicePartnerLanding .supplycallout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 22px 25px;
  background: #232323;
  border-left: 3px solid var(--red);
}
#servicePartnerLanding .supplycallout h3 {
  font-size: 22px;
  line-height: 1.25;
  margin: 0 0 8px;
  font-weight: 500;
}
#servicePartnerLanding .supplycallout h3 br {
  display: none;
}
#servicePartnerLanding .supplycallout p {
  font-size: 15px;
  line-height: 1.5;
  color: #c7c7c7;
  margin: 0;
}
#servicePartnerLanding .supplycallout .btn {
  flex-shrink: 0;
  min-height: 54px;
  font-size: 13px;
}
@media (min-width: 1001px) and (max-height: 800px) {
  #servicePartnerLanding .supplysection {
    padding: 38px 0;
  }
  #servicePartnerLanding .supplysection > .eyebrow {
    margin-bottom: 14px;
  }
  #servicePartnerLanding .supplycompacthead h2 {
    font-size: 36px;
  }
  #servicePartnerLanding .supplycards {
    margin: 22px 0 20px;
  }
  #servicePartnerLanding .supplycards .photo {
    height: 190px;
  }
  #servicePartnerLanding .supplycallout {
    padding: 18px 22px;
  }
}
@media (max-width: 1000px) {
  #servicePartnerLanding .supplycompacthead {
    grid-template-columns: 1.2fr 0.8fr;
    gap: 30px;
  }
  #servicePartnerLanding .supplycompacthead h2 {
    font-size: 32px;
  }
  #servicePartnerLanding .supplycards h3 {
    font-size: 16px;
  }
  #servicePartnerLanding .supplycallout h3 {
    font-size: 20px;
  }
  #servicePartnerLanding .supplycallout p {
    font-size: 14px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .supplysection {
    padding: 55px 0;
  }
  #servicePartnerLanding .supplycompacthead {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  #servicePartnerLanding .supplycompacthead h2 {
    font-size: 32px;
  }
  #servicePartnerLanding .supplycompacthead p {
    font-size: 15px;
  }
  #servicePartnerLanding .supplycards {
    grid-template-columns: 1fr;
    gap: 23px;
    margin: 25px 0;
  }
  #servicePartnerLanding .supplycards h3 {
    font-size: 19px;
  }
  #servicePartnerLanding .supplycards .photo {
    height: 220px;
  }
  #servicePartnerLanding .supplycallout {
    display: block;
    padding: 22px;
  }
  #servicePartnerLanding .supplycallout h3 {
    font-size: 22px;
  }
  #servicePartnerLanding .supplycallout h3 br {
    display: block;
  }
  #servicePartnerLanding .supplycallout .btn {
    margin-top: 20px;
    width: 100%;
  }
  #servicePartnerLanding .supplycallout p {
    font-size: 15px;
  }
}

/* A single compact merchandise screen */
#servicePartnerLanding .teamcompact {
  padding: 50px 0;
  background: #202020;
}
#servicePartnerLanding .teamcompact > .wrap > .eyebrow {
  margin-bottom: 22px;
}
#servicePartnerLanding .teamcompactgrid {
  display: grid;
  grid-template-columns: 0.64fr 1.36fr;
  gap: 40px;
  align-items: stretch;
}
#servicePartnerLanding .teamcompactperson {
  height: auto;
  min-height: 480px;
}
#servicePartnerLanding .teamcompactperson img {
  object-fit: cover;
  object-position: 48% center;
}
#servicePartnerLanding .teamcompactcontent {
  min-width: 0;
}
#servicePartnerLanding .teamcompactcontent h2 {
  font-size: clamp(30px, 2.8vw, 40px);
  line-height: 1.16;
  margin: 0 0 17px;
}
#servicePartnerLanding .teamcompactcontent > p {
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 12px;
  color: #c2c2c2;
}
#servicePartnerLanding .teamcompactquote {
  border-left: 2px solid var(--red);
  padding: 6px 0 6px 14px;
  margin: 14px 0;
  font-size: 15px;
  line-height: 1.4;
  max-width: 670px;
}
#servicePartnerLanding .merchpair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
#servicePartnerLanding .merchpair figure {
  margin: 0;
  min-width: 0;
}
#servicePartnerLanding .merchpairimage {
  height: 175px;
  background: #161616;
}
#servicePartnerLanding .merchpairimage img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#servicePartnerLanding .merchpair figcaption {
  font-size: 12px;
  margin-top: 8px;
  color: #dddddd;
}
#servicePartnerLanding .merchcompactfooter {
  display: flex;
  gap: 25px;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
}
#servicePartnerLanding .merchcompactfooter p {
  font-size: 11px;
  line-height: 1.5;
  max-width: 460px;
  margin: 0;
}
#servicePartnerLanding .merchcompactfooter .textlink {
  font-size: 12px;
  white-space: nowrap;
  padding: 8px 0;
}
#servicePartnerLanding .clientcompact {
  padding: 65px 0;
}
#servicePartnerLanding .clientcompact h2 {
  font-size: clamp(30px, 3vw, 43px);
  line-height: 1.15;
  margin-bottom: 28px;
}
#servicePartnerLanding .clientcompactgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}
#servicePartnerLanding .clientcompactgrid > .photo {
  height: 300px;
}
#servicePartnerLanding .clientcompactgrid img {
  object-position: 53% center;
}
#servicePartnerLanding .clientcompactcopy p {
  font-size: 15px;
  line-height: 1.65;
  margin: 0 0 18px;
}
#servicePartnerLanding .clientcompactcopy h3 {
  font-size: 23px;
  line-height: 1.25;
  margin: 0 0 12px;
}
#servicePartnerLanding .clientcompactcopy .tagstext {
  border-left: 2px solid var(--red);
  padding-left: 17px;
  color: #d6d6d6;
  margin-bottom: 0;
}
@media (min-width: 1001px) and (max-height: 800px) {
  #servicePartnerLanding .teamcompact {
    padding: 32px 0;
  }
  #servicePartnerLanding .teamcompact > .wrap > .eyebrow {
    margin-bottom: 16px;
  }
  #servicePartnerLanding .teamcompactgrid {
    gap: 32px;
  }
  #servicePartnerLanding .teamcompactcontent h2 {
    font-size: 32px;
    margin-bottom: 12px;
  }
  #servicePartnerLanding .teamcompactcontent > p {
    font-size: 13px;
    line-height: 1.55;
    margin-bottom: 10px;
  }
  #servicePartnerLanding .teamcompactquote {
    font-size: 14px;
    margin: 10px 0;
  }
  #servicePartnerLanding .merchpairimage {
    height: 150px;
  }
  #servicePartnerLanding .teamcompactperson {
    min-height: 440px;
  }
  #servicePartnerLanding .clientcompact {
    padding: 45px 0;
  }
  #servicePartnerLanding .clientcompactgrid > .photo {
    height: 270px;
  }
  #servicePartnerLanding .clientcompact h2 {
    font-size: 36px;
  }
}
@media (max-width: 1000px) {
  #servicePartnerLanding .teamcompactgrid {
    grid-template-columns: 0.7fr 1.3fr;
    gap: 25px;
  }
  #servicePartnerLanding .teamcompactcontent h2 {
    font-size: 32px;
  }
  #servicePartnerLanding .teamcompactcontent > p {
    font-size: 13px;
  }
  #servicePartnerLanding .merchpairimage {
    height: 150px;
  }
  #servicePartnerLanding .merchcompactfooter {
    display: block;
  }
  #servicePartnerLanding .merchcompactfooter .textlink {
    margin-top: 8px;
  }
  #servicePartnerLanding .clientcompactgrid {
    gap: 28px;
  }
  #servicePartnerLanding .clientcompactcopy p {
    font-size: 14px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .teamcompact {
    padding: 50px 0;
  }
  #servicePartnerLanding .teamcompactgrid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  #servicePartnerLanding .teamcompactperson {
    min-height: 0;
    height: 350px;
    max-width: 100%;
  }
  #servicePartnerLanding .teamcompactperson img {
    object-position: 50% 35%;
  }
  #servicePartnerLanding .teamcompactcontent h2 {
    font-size: 33px;
  }
  #servicePartnerLanding .teamcompactcontent h2 br {
    display: none;
  }
  #servicePartnerLanding .teamcompactcontent h2 em {
    display: block;
  }
  #servicePartnerLanding .teamcompactcontent > p {
    font-size: 15px;
  }
  #servicePartnerLanding .teamcompactquote {
    font-size: 16px;
    margin: 20px 0;
  }
  #servicePartnerLanding .merchpair {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  #servicePartnerLanding .merchpairimage {
    height: auto;
    aspect-ratio: 3/2;
  }
  #servicePartnerLanding .merchpair figcaption {
    font-size: 14px;
  }
  #servicePartnerLanding .merchcompactfooter {
    margin-top: 20px;
  }
  #servicePartnerLanding .merchcompactfooter p {
    font-size: 12px;
  }
  #servicePartnerLanding .merchcompactfooter .textlink {
    font-size: 14px;
  }
  #servicePartnerLanding .clientcompact {
    padding: 50px 0;
  }
  #servicePartnerLanding .clientcompact h2 {
    font-size: 31px;
  }
  #servicePartnerLanding .clientcompact h2 br {
    display: none;
  }
  #servicePartnerLanding .clientcompactgrid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  #servicePartnerLanding .clientcompactgrid > .photo {
    height: 280px;
  }
  #servicePartnerLanding .clientcompactcopy p {
    font-size: 15px;
  }
  #servicePartnerLanding .clientcompactcopy h3 {
    font-size: 24px;
  }
}

/* Five visible profile oils on desktop */
@media (min-width: 1001px) {
  #servicePartnerLanding .catalogtrack {
    grid-auto-columns: calc((100% - 64px) / 5);
    gap: 16px;
  }
  #servicePartnerLanding .catalogcard > a {
    padding: 17px 14px;
  }
  #servicePartnerLanding .catalogimage {
    height: 220px;
  }
  #servicePartnerLanding .catalogcardcopy {
    padding-top: 14px;
    margin-top: 12px;
  }
  #servicePartnerLanding .catalogcardcopy h3 {
    font-size: 15px;
    line-height: 1.45;
    min-height: 88px;
    margin: 10px 0 17px;
    overflow-wrap: anywhere;
  }
  #servicePartnerLanding .catalogcardcopy > span {
    font-size: 9px;
    letter-spacing: 0.8px;
  }
  #servicePartnerLanding .catalogcardcopy > b {
    font-size: 11px;
  }
  #servicePartnerLanding .catalogcardcopy > b span {
    font-size: 15px;
  }
}
#servicePartnerLanding .supplycompacthead {
  grid-template-columns: 1fr;
}
#servicePartnerLanding .supplycompacthead h2 {
  max-width: 1000px;
}
#servicePartnerLanding .chinese {
  grid-template-columns: 0.9fr 1.1fr;
  gap: 25px;
}
#servicePartnerLanding .chinalineup {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: end;
}
#servicePartnerLanding .chinalineup > a {
  min-width: 0;
  text-align: center;
}
#servicePartnerLanding .chinalineup img {
  height: 230px;
  width: 100%;
  object-fit: contain;
  display: block;
}
#servicePartnerLanding .chinalineup > a > span {
  font-size: 9px;
  color: #c6c6c6;
  line-height: 1.7;
  letter-spacing: 0.6px;
  display: block;
  margin-top: 5px;
}
#servicePartnerLanding .chinalineup > a > span > b {
  font-size: 13px;
  color: white;
  font-weight: 500;
}
#servicePartnerLanding .chinalineup > p {
  grid-column: 1/-1;
  text-align: center;
  font-size: 10px;
  margin: 8px 0 0;
  color: #a8a8a8;
}
@media (max-width: 1000px) {
  #servicePartnerLanding .chinalineup img {
    height: 190px;
  }
  #servicePartnerLanding .chinese h3 {
    font-size: 27px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .chinese {
    grid-template-columns: 1fr;
  }
  #servicePartnerLanding .chinalineup img {
    height: 185px;
  }
  #servicePartnerLanding .chinalineup > a > span {
    font-size: 8px;
  }
  #servicePartnerLanding .chinalineup > p {
    font-size: 10px;
  }
}
/* Balanced client-trust section: copy left, image right */
#servicePartnerLanding .clientbalanced {
  padding: 65px 0;
}
#servicePartnerLanding .clientbalancedgrid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 5%;
  align-items: stretch;
}
#servicePartnerLanding .clientbalancedcopy {
  min-width: 0;
  align-self: center;
}
#servicePartnerLanding .clientbalancedcopy > .eyebrow {
  font-size: 10px;
  margin-bottom: 23px;
}
#servicePartnerLanding .clientbalancedcopy h2 {
  font-size: clamp(29px, 2.65vw, 40px);
  line-height: 1.16;
  letter-spacing: -0.5px;
  margin: 0 0 22px;
}
#servicePartnerLanding .clientbalancedcopy h2 br {
  display: none;
}
#servicePartnerLanding .clientbalancedcopy h2 em {
  font-style: normal;
}
#servicePartnerLanding .clientbalancedcopy > p {
  font-size: 15px;
  line-height: 1.7;
  color: #bdbdbd;
  margin: 0 0 22px;
  max-width: 640px;
}
#servicePartnerLanding .clientarguments {
  border-top: 1px solid #404040;
  padding-top: 20px;
  margin-top: 20px;
}
#servicePartnerLanding .clientarguments h3 {
  font-size: 23px;
  font-weight: 500;
  line-height: 1.25;
  margin: 0 0 12px;
}
#servicePartnerLanding .clientarguments h3 br {
  display: none;
}
#servicePartnerLanding .clientarguments p {
  font-size: 15px;
  line-height: 1.7;
  color: #bdbdbd;
  margin: 0;
}
#servicePartnerLanding .clientbalancedcopy > .tagstext {
  border-left: 2px solid var(--red);
  padding-left: 17px;
  color: #d7d7d7;
  font-size: 14px;
  line-height: 1.65;
  margin: 22px 0 0;
}
#servicePartnerLanding .clientbalancedphoto {
  min-height: 540px;
  height: auto;
}
#servicePartnerLanding .clientbalancedphoto img {
  object-fit: cover;
  object-position: 60% center;
}
@media (min-width: 1001px) and (max-height: 800px) {
  #servicePartnerLanding .clientbalanced {
    padding: 45px 0;
  }
  #servicePartnerLanding .clientbalancedphoto {
    min-height: 500px;
  }
  #servicePartnerLanding .clientbalancedcopy h2 {
    font-size: 32px;
  }
  #servicePartnerLanding .clientbalancedcopy > .eyebrow {
    margin-bottom: 17px;
  }
  #servicePartnerLanding .clientbalancedcopy > p,
#servicePartnerLanding .clientarguments p {
    font-size: 14px;
    line-height: 1.6;
  }
  #servicePartnerLanding .clientarguments {
    padding-top: 16px;
    margin-top: 16px;
  }
  #servicePartnerLanding .clientbalancedcopy > .tagstext {
    margin-top: 18px;
  }
}
@media (max-width: 1000px) {
  #servicePartnerLanding .clientbalancedgrid {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  #servicePartnerLanding .clientbalancedcopy h2 {
    font-size: 30px;
  }
  #servicePartnerLanding .clientbalancedcopy > p,
#servicePartnerLanding .clientarguments p {
    font-size: 14px;
  }
  #servicePartnerLanding .clientarguments h3 {
    font-size: 22px;
  }
  #servicePartnerLanding .clientbalancedphoto {
    min-height: 570px;
  }
  #servicePartnerLanding .clientbalancedphoto img {
    object-position: 58% center;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .clientbalanced {
    padding: 50px 0;
  }
  #servicePartnerLanding .clientbalancedgrid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  #servicePartnerLanding .clientbalancedcopy h2 {
    font-size: 32px;
  }
  #servicePartnerLanding .clientbalancedcopy > .eyebrow {
    font-size: 9px;
  }
  #servicePartnerLanding .clientbalancedcopy > p,
#servicePartnerLanding .clientarguments p {
    font-size: 15px;
  }
  #servicePartnerLanding .clientbalancedphoto {
    min-height: 0;
    height: 330px;
  }
  #servicePartnerLanding .clientbalancedphoto img {
    object-position: 54% center;
  }
  #servicePartnerLanding .clientbalancedcopy > .tagstext {
    font-size: 15px;
  }
}
#servicePartnerLanding .clientbalancedcopy h2 > span,
#servicePartnerLanding .clientbalancedcopy h2 > em {
  display: block;
}
@media (max-width: 650px) {
  #servicePartnerLanding .clientbalancedcopy h2 > span,
#servicePartnerLanding .clientbalancedcopy h2 > em {
    display: inline;
  }
}
/* Refined editorial layouts and gentle motion */
#servicePartnerLanding .brand {
  display: block;
  line-height: 0;
  letter-spacing: 0;
}
#servicePartnerLanding .brand:before {
  display: none;
}
#servicePartnerLanding .brand img {
  display: block;
  width: 105px;
  height: 72px;
  object-fit: contain;
}
#servicePartnerLanding .footrow .brand img {
  width: 130px;
  height: 94px;
}
#servicePartnerLanding .teamcompactgrid {
  grid-template-columns: 0.6fr 1.4fr;
  gap: 36px;
  align-items: stretch;
}
#servicePartnerLanding .teamcompactperson {
  min-height: 0;
  max-height: 570px;
}
#servicePartnerLanding .teamcompactcontent {
  display: flex;
  flex-direction: column;
}
#servicePartnerLanding .teamcompactcontent > p {
  max-width: 730px;
}
#servicePartnerLanding .merchpair {
  margin-top: auto;
  padding-top: 8px;
  gap: 16px;
}
#servicePartnerLanding .merchpairimage {
  height: auto;
  aspect-ratio: 3/2;
  background: none;
  overflow: hidden;
}
#servicePartnerLanding .merchpairimage img {
  object-fit: cover;
}
#servicePartnerLanding .clientbalancedgrid {
  grid-template-columns: 1.05fr 0.95fr;
  align-items: start;
  column-gap: 5%;
  row-gap: 25px;
}
#servicePartnerLanding .clientbalancedcopy {
  display: contents;
}
#servicePartnerLanding .clientbalancedcopy > .eyebrow,
#servicePartnerLanding .clientbalancedcopy > h2,
#servicePartnerLanding .clientbalancedcopy > p {
  grid-column: 1;
}
#servicePartnerLanding .clientbalancedcopy > .eyebrow {
  margin: 0;
}
#servicePartnerLanding .clientbalancedcopy h2 {
  margin: 0;
  font-size: clamp(28px, 2.55vw, 39px);
}
#servicePartnerLanding .clientbalancedcopy > p {
  margin: 0;
  align-self: end;
}
#servicePartnerLanding .clientbalancedphoto {
  grid-column: 2;
  grid-row: 1 / span 3;
  min-height: 0;
  height: 400px;
}
#servicePartnerLanding .clienttools {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5%;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  align-items: start;
}
#servicePartnerLanding .clientarguments {
  padding: 0;
  margin: 0;
  border: 0;
}
#servicePartnerLanding .clientarguments h3 {
  font-size: 22px;
  margin: 0 0 9px;
}
#servicePartnerLanding .clientarguments p {
  font-size: 15px;
}
#servicePartnerLanding .clienttools .tagstext {
  border-left: 2px solid var(--red);
  padding: 2px 0 2px 22px;
  margin: 0;
  font-size: 16px;
  color: #d7d7d7;
  line-height: 1.65;
}
#servicePartnerLanding .formsection {
  align-items: center;
}
#servicePartnerLanding .standphoto {
  margin: 0;
  justify-self: center;
  width: min(100%, 440px);
  height: 570px;
  overflow: hidden;
}
#servicePartnerLanding .standphoto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
#servicePartnerLanding.motion-ready .motion-item {
  opacity: 0;
  transform: translateY(26px);
  transition:
    opacity 0.85s ease var(--reveal-delay, 0ms),
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms);
}
#servicePartnerLanding.motion-ready .motion-item.motion-visible {
  opacity: 1;
  transform: none;
}
#servicePartnerLanding .catalogcard {
  transition:
    border-color 0.25s,
    background 0.25s;
}
#servicePartnerLanding .catalogcard:hover {
  border-color: #7c7c7c;
}
#servicePartnerLanding .photo img,
#servicePartnerLanding .merchpairimage img {
  transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (hover: hover) {
  #servicePartnerLanding .photo:hover img,
#servicePartnerLanding .merchpairimage:hover img {
    transform: scale(1.025);
  }
}
@media (min-width: 1001px) and (max-height: 800px) {
  #servicePartnerLanding .teamcompact {
    padding: 32px 0;
  }
  #servicePartnerLanding .teamcompactperson {
    max-height: 520px;
  }
  #servicePartnerLanding .merchpairimage {
    height: auto;
  }
  #servicePartnerLanding .clientbalancedphoto {
    height: 360px;
  }
  #servicePartnerLanding .clientbalancedgrid {
    row-gap: 18px;
  }
  #servicePartnerLanding .clienttools {
    padding-top: 18px;
  }
  #servicePartnerLanding .standphoto {
    height: 530px;
  }
}
@media (max-width: 1000px) {
  #servicePartnerLanding .teamcompactgrid {
    grid-template-columns: 0.65fr 1.35fr;
    gap: 25px;
  }
  #servicePartnerLanding .teamcompactperson {
    max-height: none;
  }
  #servicePartnerLanding .clientbalancedphoto {
    height: 420px;
  }
  #servicePartnerLanding .clientbalancedgrid {
    gap: 22px;
  }
  #servicePartnerLanding .clientbalancedcopy h2 {
    font-size: 29px;
  }
  #servicePartnerLanding .clienttools {
    gap: 25px;
  }
  #servicePartnerLanding .standphoto {
    height: 520px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .brand img {
    width: 85px;
    height: 60px;
  }
  #servicePartnerLanding .teamcompactgrid {
    grid-template-columns: 1fr;
  }
  #servicePartnerLanding .teamcompactperson {
    height: 350px;
  }
  #servicePartnerLanding .merchpair {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 8px;
  }
  #servicePartnerLanding .merchpairimage {
    aspect-ratio: 3/2;
    height: auto;
  }
  #servicePartnerLanding .merchpairimage img {
    object-position: center;
  }
  #servicePartnerLanding .clientbalancedgrid {
    display: flex;
    flex-direction: column;
    gap: 22px;
  }
  #servicePartnerLanding .clientbalancedcopy {
    display: contents;
  }
  #servicePartnerLanding .clientbalancedcopy > .eyebrow {
    order: 0;
  }
  #servicePartnerLanding .clientbalancedcopy > h2 {
    order: 1;
    font-size: 31px;
  }
  #servicePartnerLanding .clientbalancedcopy > p {
    order: 2;
  }
  #servicePartnerLanding .clientbalancedphoto {
    order: 3;
    width: 100%;
    height: 300px;
    min-height: 0;
  }
  #servicePartnerLanding .clienttools {
    order: 4;
    grid-template-columns: 1fr;
    gap: 22px;
    width: 100%;
  }
  #servicePartnerLanding .clienttools .tagstext {
    font-size: 15px;
  }
  #servicePartnerLanding .standphoto {
    width: 100%;
    max-width: 410px;
    height: 480px;
  }
  #servicePartnerLanding.motion-ready .motion-item {
    transform: translateY(18px);
  }
}
@media (prefers-reduced-motion: reduce) {
  #servicePartnerLanding.motion-ready .motion-item {
    opacity: 1;
    transform: none;
    transition: none;
  }
  #servicePartnerLanding .photo img,
#servicePartnerLanding .merchpairimage img {
    transition: none;
  }
  #servicePartnerLanding .photo:hover img,
#servicePartnerLanding .merchpairimage:hover img {
    transform: none;
  }
}
#servicePartnerLanding .teamcompactperson {
  align-self: end;
  height: 100%;
}
@media (max-width: 650px) {
  #servicePartnerLanding .teamcompactperson {
    height: 350px;
    width: 100%;
  }
}
/* Calm, high-contrast copy field; original workshop and raised car stay intact. */
#servicePartnerLanding .hero:after {
  background:
    linear-gradient(
      90deg,
      rgba(15, 15, 15, 0.97) 0%,
      rgba(15, 15, 15, 0.96) 34%,
      rgba(15, 15, 15, 0.93) 48%,
      rgba(15, 15, 15, 0.87) 58%,
      rgba(15, 15, 15, 0.46) 69%,
      rgba(15, 15, 15, 0.32) 100%
    ),
    linear-gradient(0deg, rgba(15, 15, 15, 0.86), transparent 48%);
}
#servicePartnerLanding .hero .intro {
  color: #d8d8d8;
}
#servicePartnerLanding .hero h1 {
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.16);
}
@media (max-width: 1000px) {
  #servicePartnerLanding .hero:after {
    background:
      linear-gradient(
        90deg,
        rgba(15, 15, 15, 0.97) 0%,
        rgba(15, 15, 15, 0.94) 48%,
        rgba(15, 15, 15, 0.76) 72%,
        rgba(15, 15, 15, 0.4) 100%
      ),
      linear-gradient(0deg, rgba(15, 15, 15, 0.86), transparent 55%);
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .hero:after {
    background:
      linear-gradient(90deg, rgba(15, 15, 15, 0.94), rgba(15, 15, 15, 0.82)),
      linear-gradient(0deg, rgba(15, 15, 15, 0.9), transparent 70%);
  }
}
#servicePartnerLanding #quality .tall img {
  object-position: 57% center;
}
@media (max-width: 650px) {
  #servicePartnerLanding #quality .tall {
    height: auto;
    aspect-ratio: 3/2;
  }
  #servicePartnerLanding #quality .tall img {
    object-position: center;
  }
}
#servicePartnerLanding .chinese {
  grid-template-columns: 0.95fr 1.05fr;
  gap: 10px;
  padding: 30px 20px 25px 35px;
  overflow: hidden;
}
#servicePartnerLanding .chinalineup.chinagroup {
  display: block;
  min-width: 0;
  position: relative;
  background: none;
  padding: 0;
}
#servicePartnerLanding .chinagroup > img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 360px;
  object-fit: contain;
  mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      #000000 11%,
      #000000 88%,
      transparent 100%
    ),
    linear-gradient(
      0deg,
      transparent 0%,
      #000000 18%,
      #000000 86%,
      transparent 100%
    );
  mask-composite: intersect;
  -webkit-mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      #000000 11%,
      #000000 88%,
      transparent 100%
    ),
    linear-gradient(
      0deg,
      transparent 0%,
      #000000 18%,
      #000000 86%,
      transparent 100%
    );
  -webkit-mask-composite: source-in;
}
#servicePartnerLanding .chinese h3 {
  font-size: clamp(26px, 2.2vw, 34px);
}
@media (max-width: 650px) {
  #servicePartnerLanding .chinese {
    grid-template-columns: 1fr;
    padding: 25px 20px 10px;
    gap: 5px;
  }
  #servicePartnerLanding .chinagroup > img {
    max-height: 320px;
    width: 100%;
  }
}
#servicePartnerLanding #supply .supplycallout {
  margin: 24px 0 28px;
}
#servicePartnerLanding #supply .supplycards .photo {
  height: auto;
  aspect-ratio: 16/9;
}
#servicePartnerLanding #supply .supplycards .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
#servicePartnerLanding #supply .supplycards {
  margin-bottom: 0;
}
@media (max-width: 650px) {
  #servicePartnerLanding #supply .supplycallout {
    margin: 20px 0 25px;
  }
}
#servicePartnerLanding .originbody {
  align-items: stretch;
}
#servicePartnerLanding .originheading {
  display: block;
  margin: 0 0 25px;
}
#servicePartnerLanding .originheading h2 {
  font-size: clamp(26px, 2.45vw, 38px);
  white-space: nowrap;
  line-height: 1.16;
}
#servicePartnerLanding .originvisual {
  display: flex;
  min-height: 0;
}
#servicePartnerLanding .originvisual > .photo {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  min-height: 350px;
}
#servicePartnerLanding .originvisual > .photo img {
  height: 100%;
  object-fit: cover;
  object-position: 55% center;
}
@media (max-width: 650px) {
  #servicePartnerLanding .originheading h2 {
    font-size: clamp(23px, 6.2vw, 35px);
    white-space: normal;
  }
  #servicePartnerLanding .originvisual > .photo {
    height: auto;
    min-height: 0;
    aspect-ratio: 3/2;
  }
}
#servicePartnerLanding .teamcompactperson img {
  object-position: 61% center;
}
#servicePartnerLanding .merchpair figure:first-child .merchpairimage img {
  object-position: 50% 29%;
}
@media (max-width: 650px) {
  #servicePartnerLanding .teamcompactperson img {
    object-position: 60% center;
  }
  #servicePartnerLanding .merchpair figure:first-child .merchpairimage img {
    object-position: 50% 27%;
  }
}
#servicePartnerLanding .catalogcard,
#servicePartnerLanding .catalogcard:hover {
  border: 0;
  background: transparent;
}
#servicePartnerLanding .catalogitem {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 8px 8px;
}
#servicePartnerLanding .catalogimage {
  height: 285px;
  overflow: hidden;
}
#servicePartnerLanding .catalogimage img {
  width: 135%;
  max-width: none;
  height: 135%;
  flex-shrink: 0;
  object-fit: contain;
}
#servicePartnerLanding .catalogcardcopy {
  border: 0;
  margin-top: 12px;
  padding-top: 0;
}
#servicePartnerLanding .catalogcardcopy h3 {
  font-size: 15px;
  min-height: 84px;
  margin: 12px 0 22px;
}
#servicePartnerLanding .catalogcardcopy .catalogorder {
  margin-top: auto;
  width: 100%;
  font-size: 12px;
  gap: 8px;
  padding: 13px 12px;
  min-height: 47px;
}
#servicePartnerLanding .catalogorder span {
  font-size: 18px;
}
@media (max-width: 1000px) {
  #servicePartnerLanding .catalogimage {
    height: 300px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .catalogimage {
    height: 290px;
  }
  #servicePartnerLanding .catalogcardcopy h3 {
    min-height: 65px;
    font-size: 17px;
  }
  #servicePartnerLanding .catalogcardcopy .catalogorder {
    font-size: 14px;
  }
}
#servicePartnerLanding .supplyeditorial {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 5%;
  align-items: center;
}
#servicePartnerLanding #supply .supplycards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  margin: 0;
}
#servicePartnerLanding #supply .supplycards h3 {
  font-size: 15px;
  margin: 0 0 10px;
}
#servicePartnerLanding #supply .supplycards .photo {
  aspect-ratio: 16/9;
  height: auto;
  max-height: 240px;
}
#servicePartnerLanding #supply .supplycompacthead h2 {
  font-size: clamp(30px, 3vw, 44px);
  margin: 0;
}
#servicePartnerLanding #supply .supplycallout {
  display: block;
  padding: 0;
  border: 0;
  background: none;
  margin: 30px 0 0;
}
#servicePartnerLanding #supply .supplycallout h3 {
  font-size: 23px;
  line-height: 1.35;
  margin: 0 0 12px;
}
#servicePartnerLanding #supply .supplycallout p {
  font-size: 15px;
  margin: 0 0 24px;
}
#servicePartnerLanding #supply .supplycallout .btn {
  margin: 0;
}
@media (max-width: 1000px) {
  #servicePartnerLanding .supplyeditorial {
    gap: 30px;
  }
  #servicePartnerLanding #supply .supplycompacthead h2 {
    font-size: 31px;
  }
  #servicePartnerLanding #supply .supplycallout h3 {
    font-size: 21px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .supplyeditorial {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  #servicePartnerLanding .supplyeditorialcopy {
    order: -1;
  }
  #servicePartnerLanding #supply .supplycards .photo {
    max-height: none;
  }
  #servicePartnerLanding #supply .supplycallout {
    margin-top: 22px;
  }
}
#servicePartnerLanding .catalogcardcopy {
  flex: 0;
}
#servicePartnerLanding .catalogcardcopy h3 {
  min-height: 0;
  margin: 12px 0 15px;
}
#servicePartnerLanding .catalogcardcopy .catalogorder {
  width: auto;
  align-self: flex-start;
  justify-content: center;
  text-align: center;
  margin: 0;
  padding: 11px 18px;
  min-height: 40px;
  font-size: 12px;
  line-height: 1.4;
  gap: 0;
}
@media (max-width: 650px) {
  #servicePartnerLanding .catalogcardcopy h3 {
    min-height: 0;
    margin-bottom: 15px;
  }
  #servicePartnerLanding .catalogcardcopy .catalogorder {
    font-size: 13px;
    padding: 11px 18px;
    min-height: 40px;
  }
}
#servicePartnerLanding .catalogcardcopy h3 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: clamp(12px, 1.05vw, 15px);
  height: 1.5em;
  line-height: 1.5;
  margin: 12px 0 15px;
  min-height: 0;
}
#servicePartnerLanding .supplyeditorial {
  grid-template-columns: 0.88fr 1.12fr;
  gap: 4%;
  align-items: center;
}
#servicePartnerLanding #supply .supplycards {
  width: 100%;
  min-width: 0;
}
#servicePartnerLanding #supply .supplycards > article {
  width: 100%;
  min-width: 0;
}
#servicePartnerLanding #supply .supplycards .photo {
  max-height: none;
  aspect-ratio: 16/9;
}
#servicePartnerLanding #supply .supplyeditorialcopy {
  max-width: 650px;
}
#servicePartnerLanding #supply .supplycompacthead h2 {
  font-size: clamp(30px, 3vw, 43px);
  line-height: 1.18;
}
#servicePartnerLanding #supply .supplycallout {
  margin-top: 25px;
}
#servicePartnerLanding #supply .supplycallout .supplydescription {
  font-size: 18px;
  line-height: 1.75;
  margin: 0 0 24px;
  color: #c7c7c7;
  max-width: 590px;
}
#servicePartnerLanding #supply .supplycallout .supplyprompt {
  font-size: 16px;
  line-height: 1.55;
  color: #f4f4f4;
  margin: 0 0 19px;
}
@media (max-width: 1000px) {
  #servicePartnerLanding #supply .supplycallout .supplydescription {
    font-size: 16px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .supplyeditorial {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  #servicePartnerLanding .catalogcardcopy h3 {
    font-size: 15px;
  }
  #servicePartnerLanding #supply .supplycallout .supplydescription {
    font-size: 16px;
  }
}
#servicePartnerLanding .catalogcardcopy {
  text-align: center;
  align-items: center;
}
#servicePartnerLanding .catalogcardcopy > span,
#servicePartnerLanding .catalogcardcopy h3 {
  width: 100%;
  text-align: center;
}
#servicePartnerLanding .catalogcardcopy .catalogorder {
  align-self: center;
  text-align: center;
  justify-content: center;
}
#servicePartnerLanding .chinese p {
  font-size: 15px;
  line-height: 1.75;
  max-width: 600px;
  margin: 0 0 15px;
}
#servicePartnerLanding .chinese .chinaorder {
  margin-top: 9px;
  padding: 14px 20px;
  min-height: 48px;
  justify-content: center;
  text-align: center;
  font-size: 13px;
  max-width: 100%;
}
@media (max-width: 650px) {
  #servicePartnerLanding .chinese p {
    font-size: 14px;
  }
  #servicePartnerLanding .chinese .chinaorder {
    font-size: 12px;
    width: 100%;
    padding: 14px 12px;
  }
}
/* Approved compact supply layout */
#servicePartnerLanding #supply {
  padding: 55px 0;
}
#servicePartnerLanding .supplyeditorial {
  grid-template-columns: 1.08fr 1fr;
  gap: 4%;
  align-items: start;
}
#servicePartnerLanding #supply .supplycards {
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 0;
}
#servicePartnerLanding #supply .supplycards .photo {
  height: clamp(290px, 27vw, 390px);
  aspect-ratio: auto;
  max-height: none;
}
#servicePartnerLanding #supply .supplycards .photo img {
  object-position: 45% center;
}
#servicePartnerLanding #supply .supplycards article:last-child .photo img {
  object-position: 42% center;
}
#servicePartnerLanding #supply .supplycards h3 {
  font-size: 17px;
  line-height: 1.3;
  margin: 17px 0 5px;
}
#servicePartnerLanding #supply .supplycards article > p {
  font-size: 14px;
  line-height: 1.5;
  color: #aaa;
  margin: 0;
}
#servicePartnerLanding #supply .supplyeditorialcopy {
  max-width: none;
}
#servicePartnerLanding #supply .supplyeditorialcopy > .eyebrow {
  font-size: 10px;
  letter-spacing: 1.4px;
  margin-bottom: 25px;
}
#servicePartnerLanding #supply .supplycompacthead h2 {
  font-size: clamp(28px, 2.45vw, 37px);
  line-height: 1.2;
}
#servicePartnerLanding #supply .supplycallout {
  margin-top: 23px;
}
#servicePartnerLanding #supply .supplycallout .supplydescription {
  font-size: 15px;
  line-height: 1.75;
  margin-bottom: 22px;
}
#servicePartnerLanding .supplybenefits {
  padding: 0;
  margin: 0 0 25px;
  list-style: none;
}
#servicePartnerLanding .supplybenefits li {
  position: relative;
  padding-left: 29px;
  font-size: 15px;
  line-height: 1.5;
  color: #bcbcbc;
  margin: 0 0 15px;
}
#servicePartnerLanding .supplybenefits li:before {
  content: "";
  position: absolute;
  width: 19px;
  height: 2px;
  left: 0;
  top: 10px;
  background: var(--red);
}
#servicePartnerLanding .supplybenefits b {
  font-weight: 600;
  color: #f4f4f4;
}
#servicePartnerLanding #supply .supplycallout .supplyprompt {
  font-size: 13px;
  color: #bcbcbc;
  margin-bottom: 15px;
}
#servicePartnerLanding #supply .supplycallout .btn {
  padding: 14px 22px;
  font-size: 13px;
  min-height: 48px;
}
#servicePartnerLanding .originheading h2 {
  white-space: normal;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.15;
}
#servicePartnerLanding .origin {
  display: block;
  border: 0;
  background: none;
  padding: 0;
  margin: 0 0 25px;
}
#servicePartnerLanding .origin p {
  font-size: 16px;
  line-height: 1.75;
  margin: 0;
  color: #bcbcbc;
}
#servicePartnerLanding .originvisual > .photo {
  position: relative;
  min-height: 350px;
  height: auto;
  flex: 1;
}
#servicePartnerLanding .originvisual > .photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 1001px) and (max-height: 800px) {
  #servicePartnerLanding #supply {
    padding: 38px 0;
  }
  #servicePartnerLanding #supply .supplycards .photo {
    height: 330px;
  }
  #servicePartnerLanding #supply .supplyeditorialcopy > .eyebrow {
    margin-bottom: 20px;
  }
  #servicePartnerLanding .supplybenefits li {
    margin-bottom: 12px;
  }
  #servicePartnerLanding #supply .supplycallout {
    margin-top: 20px;
  }
}
@media (max-width: 1000px) {
  #servicePartnerLanding .supplyeditorial {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  #servicePartnerLanding #supply .supplyeditorialcopy {
    order: -1;
  }
  #servicePartnerLanding #supply .supplycards .photo {
    height: 300px;
  }
  #servicePartnerLanding #supply .supplycompacthead h2 {
    font-size: 34px;
  }
  #servicePartnerLanding .supplybenefits {
    margin-bottom: 23px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding #supply {
    padding: 50px 0;
  }
  #servicePartnerLanding #supply .supplycards {
    gap: 14px;
  }
  #servicePartnerLanding #supply .supplycards .photo {
    height: 225px;
  }
  #servicePartnerLanding #supply .supplycards h3 {
    font-size: 15px;
  }
  #servicePartnerLanding #supply .supplycards article > p {
    font-size: 12px;
  }
  #servicePartnerLanding #supply .supplycompacthead h2 {
    font-size: 30px;
  }
  #servicePartnerLanding .origin p {
    font-size: 15px;
  }
  #servicePartnerLanding .originvisual > .photo {
    min-height: 0;
    height: auto;
    aspect-ratio: 3/2;
  }
}
#servicePartnerLanding .catalogintro {
  max-width: 1000px;
  margin: 0 auto 40px;
  text-align: center;
}
#servicePartnerLanding .catalogintro > .eyebrow,
#servicePartnerLanding .catalogintro .eyebrow {
  justify-content: center;
}
#servicePartnerLanding .catalogintro p {
  margin-left: auto;
  margin-right: auto;
}
#servicePartnerLanding .catalogstatic .catalogtrack {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-flow: row;
  grid-auto-columns: auto;
  gap: 16px;
  overflow: visible;
  scroll-snap-type: none;
  scroll-behavior: auto;
  overscroll-behavior: auto;
  padding: 0;
}
#servicePartnerLanding .catalogstatic .catalogcard {
  scroll-snap-align: none;
}
#servicePartnerLanding .catalogstatic + .chinese {
  margin-top: 40px;
}
@media (max-width: 1000px) {
  #servicePartnerLanding .catalogstatic .catalogtrack {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 16px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .catalogintro {
    text-align: center;
    margin-bottom: 30px;
  }
  #servicePartnerLanding .catalogstatic .catalogtrack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 14px;
  }
  #servicePartnerLanding .catalogstatic .catalogimage {
    height: 220px;
  }
  #servicePartnerLanding .catalogstatic .catalogcardcopy h3 {
    font-size: 12px;
  }
  #servicePartnerLanding .catalogstatic .catalogorder {
    font-size: 11px;
    padding: 11px 10px;
  }
  #servicePartnerLanding .catalogstatic .catalogcard:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 7px);
    justify-self: center;
  }
}
#servicePartnerLanding .chinese {
  border: 1px solid #464646;
  background: #202020;
  padding: 30px 20px 25px 35px;
  box-shadow: none;
}
@media (max-width: 650px) {
  #servicePartnerLanding .chinese {
    padding: 25px 20px 10px;
  }
}
/* Increase major section spacing by approximately twenty percent. */
#servicePartnerLanding .section {
  padding-top: 102px;
  padding-bottom: 102px;
}
#servicePartnerLanding .teamcompact {
  padding-top: 60px;
  padding-bottom: 60px;
}
#servicePartnerLanding .clientbalanced {
  padding-top: 78px;
  padding-bottom: 78px;
}
#servicePartnerLanding .formsection {
  padding-top: 120px;
  padding-bottom: 120px;
}
#servicePartnerLanding #supply {
  padding-top: 66px;
  padding-bottom: 66px;
}
@media (min-width: 1001px) and (max-height: 800px) {
  #servicePartnerLanding .teamcompact {
    padding-top: 39px;
    padding-bottom: 39px;
  }
  #servicePartnerLanding .clientbalanced {
    padding-top: 54px;
    padding-bottom: 54px;
  }
  #servicePartnerLanding #supply {
    padding-top: 46px;
    padding-bottom: 46px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .section {
    padding-top: 78px;
    padding-bottom: 78px;
  }
  #servicePartnerLanding .teamcompact,
#servicePartnerLanding .clientbalanced,
#servicePartnerLanding #supply {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #servicePartnerLanding .formsection {
    padding-top: 78px;
    padding-bottom: 78px;
  }
}

/* Four distinct partner screens, graphite palette and compact editorial grids. */
#servicePartnerLanding .partnergrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7%;
  align-items: center;
}
#servicePartnerLanding .partnercopy {
  min-width: 0;
}
#servicePartnerLanding .partnercopy h2 {
  font-size: clamp(30px, 3.1vw, 46px);
  line-height: 1.16;
}
#servicePartnerLanding .partnercopy p {
  font-size: 16px;
  line-height: 1.75;
  margin: 20px 0;
}
#servicePartnerLanding .partnercopy h3 {
  font-size: 23px;
  line-height: 1.3;
  margin: 30px 0 12px;
}
#servicePartnerLanding .partnerteam {
  background: #202020;
}
#servicePartnerLanding .partnerportrait {
  height: 490px;
}
#servicePartnerLanding .partnerportrait img {
  object-position: 61% center;
}
#servicePartnerLanding .supportpoints {
  display: grid;
  gap: 22px;
  margin-top: 30px;
}
#servicePartnerLanding .supportpoints article {
  border-top: 1px solid #424242;
  padding-top: 18px;
}
#servicePartnerLanding .supportpoints h3 {
  font-size: 20px;
  margin: 0 0 8px;
}
#servicePartnerLanding .supportpoints p {
  font-size: 15px;
  margin: 0;
}
#servicePartnerLanding .supportcollage {
  margin: 0;
  min-width: 0;
}
#servicePartnerLanding .supportcollage img {
  width: 100%;
  display: block;
  aspect-ratio: 1/1;
  object-fit: cover;
}
#servicePartnerLanding .retentionphoto {
  height: 470px;
}
#servicePartnerLanding .retentionphoto img {
  object-position: center;
}
#servicePartnerLanding .partnerrequest {
  border-bottom: 0;
}
#servicePartnerLanding .termslist {
  margin: 25px 0;
}
#servicePartnerLanding .termslist p {
  padding-left: 18px;
  border-left: 2px solid var(--red);
  font-size: 15px;
}
#servicePartnerLanding .termslist b {
  display: block;
  color: #f4f4f4;
  margin-bottom: 5px;
}
#servicePartnerLanding .partnerform {
  background: #222;
  padding: 36px;
  align-self: center;
}
#servicePartnerLanding .partnerform h3 {
  font-size: 26px;
  line-height: 1.25;
  margin: 0 0 25px;
}
#servicePartnerLanding .partnerform label {
  margin-top: 24px;
  font-size: 13px;
  color: #dedede;
}
#servicePartnerLanding .partnerform input {
  padding: 13px 0;
  font-size: 16px;
}
#servicePartnerLanding .partnerform .btn {
  margin-top: 30px;
  justify-content: center;
  width: 100%;
  min-height: 52px;
}
#servicePartnerLanding .partnerform .formhint {
  font-size: 11px;
  color: #a5a5a5;
  margin: 16px 0;
}
#servicePartnerLanding .formphone {
  font-size: 15px;
  display: inline-block;
  margin-top: 12px;
}
#servicePartnerLanding .partnerform #request-status {
  font-size: 13px;
  color: #f4f4f4;
}
#servicePartnerLanding .partnerform #request-status:empty {
  display: none;
}
@media (min-width: 1001px) and (max-height: 800px) {
  #servicePartnerLanding .partnerportrait {
    height: 440px;
  }
  #servicePartnerLanding .retentionphoto {
    height: 420px;
  }
  #servicePartnerLanding .partnercopy h2 {
    font-size: 38px;
  }
  #servicePartnerLanding .partnercopy p {
    font-size: 15px;
  }
}
@media (max-width: 1000px) {
  #servicePartnerLanding .partnergrid {
    gap: 35px;
  }
  #servicePartnerLanding .partnerportrait {
    height: 520px;
  }
  #servicePartnerLanding .partnercopy h2 {
    font-size: 34px;
  }
  #servicePartnerLanding .partnercopy p {
    font-size: 15px;
  }
  #servicePartnerLanding .partnerform {
    padding: 26px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .partnergrid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  #servicePartnerLanding .partnercopy h2 {
    font-size: 32px;
  }
  #servicePartnerLanding .partnerportrait {
    height: 360px;
    order: 2;
  }
  #servicePartnerLanding .supportcollage img {
    aspect-ratio: 3/2;
  }
  #servicePartnerLanding .retentionphoto {
    height: 300px;
    order: 2;
  }
  #servicePartnerLanding .partnercopy p {
    margin: 16px 0;
  }
  #servicePartnerLanding .partnerform {
    padding: 26px 22px;
  }
  #servicePartnerLanding .partnerform h3 {
    font-size: 24px;
  }
}

/* Approved distant front view, visible four-post lift, text kept clear of the car. */
#servicePartnerLanding .hero > img {
  object-position: right center;
}
#servicePartnerLanding .hero:after {
  background:
    linear-gradient(
      90deg,
      rgba(15, 15, 15, 0.38),
      rgba(15, 15, 15, 0.2) 48%,
      rgba(15, 15, 15, 0.02) 68%
    ),
    linear-gradient(0deg, rgba(15, 15, 15, 0.45), transparent 28%);
}
#servicePartnerLanding .herocopy {
  width: 60%;
  padding: 42px 0 65px;
}
#servicePartnerLanding .hero h1 {
  font-size: clamp(48px, 4.8vw, 86px);
  line-height: 1.04;
  letter-spacing: -1.5px;
  max-width: 100%;
  margin-bottom: 25px;
}
#servicePartnerLanding .hero h1 em {
  white-space: normal;
}
#servicePartnerLanding .hero .eyebrow {
  font-size: 11px;
  margin-bottom: 28px;
}
#servicePartnerLanding .hero .intro {
  font-size: 17px;
  margin-bottom: 25px;
  max-width: 560px;
}
#servicePartnerLanding .hero .heroactions .btn {
  min-width: 0;
  min-height: 56px;
  font-size: 13px;
  padding: 17px 21px;
  gap: 25px;
}
#servicePartnerLanding .herofoot {
  bottom: 15px;
  font-size: 9px;
}
@media (min-width: 1700px) {
  #servicePartnerLanding .herocopy {
    padding-top: 42px;
  }
  #servicePartnerLanding .hero h1 {
    font-size: 86px;
  }
  #servicePartnerLanding .hero .intro {
    font-size: 19px;
  }
}
@media (max-width: 1000px) {
  #servicePartnerLanding .herocopy {
    width: 65%;
  }
  #servicePartnerLanding .hero h1 {
    font-size: clamp(40px, 5vw, 58px);
  }
  #servicePartnerLanding .hero {
    min-height: 700px;
  }
  #servicePartnerLanding .hero:after {
    background: linear-gradient(90deg, #0f0f0fcc, #0f0f0f66 60%, transparent);
  }
  #servicePartnerLanding .hero .eyebrow {
    font-size: 9px;
  }
  #servicePartnerLanding .hero .intro {
    font-size: 16px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .herocopy {
    width: 100%;
    padding: 40px 0 80px;
  }
  #servicePartnerLanding .hero {
    min-height: calc(100svh - 72px);
  }
  #servicePartnerLanding .hero > img {
    object-position: 78% center;
  }
  #servicePartnerLanding .hero:after {
    background: linear-gradient(90deg, #0f0f0ff0, #0f0f0fbb);
  }
  #servicePartnerLanding .hero h1 {
    font-size: clamp(35px, 8.4vw, 51px);
    letter-spacing: -0.8px;
    line-height: 1.1;
  }
  #servicePartnerLanding .hero .intro {
    font-size: 15px;
  }
  #servicePartnerLanding .hero .heroactions .btn {
    width: 100%;
  }
  #servicePartnerLanding .herofoot {
    font-size: 8px;
  }
}

#servicePartnerLanding .hero h1 {
  font-size: clamp(40px, 3.65vw, 65px);
  line-height: 1.12;
}
#servicePartnerLanding .hero h1 em {
  display: block;
}
#servicePartnerLanding .heroproduct {
  display: block;
  font-size: clamp(23px, 2vw, 35px);
  line-height: 1.3;
  margin-top: 23px;
  letter-spacing: -0.4px;
  font-weight: 400;
}
@media (min-width: 1700px) {
  #servicePartnerLanding .hero h1 {
    font-size: 65px;
  }
}
@media (max-width: 1000px) {
  #servicePartnerLanding .hero h1 {
    font-size: clamp(32px, 4.1vw, 43px);
  }
  #servicePartnerLanding .heroproduct {
    font-size: 24px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .hero h1 {
    font-size: clamp(29px, 7.3vw, 43px);
  }
  #servicePartnerLanding .heroproduct {
    font-size: 22px;
    margin-top: 18px;
  }
}

/* Desktop: quiet dark backing across the complete text area. */
@media (min-width: 1001px) {
  #servicePartnerLanding .hero:after {
    background:
      linear-gradient(
        90deg,
        rgba(15, 15, 15, 0.91) 0%,
        rgba(15, 15, 15, 0.91) 40%,
        rgba(15, 15, 15, 0.87) 51%,
        rgba(15, 15, 15, 0.72) 59%,
        rgba(15, 15, 15, 0.28) 68%,
        rgba(15, 15, 15, 0.04) 80%
      ),
      linear-gradient(0deg, rgba(15, 15, 15, 0.45), transparent 32%);
  }
  #servicePartnerLanding .hero .intro {
    color: #e4e4e4;
  }
}

/* Fine neutral outlines echo the restrained OTOMOSHI panel treatment. */
#servicePartnerLanding {
  --frame: rgba(255, 255, 255, 0.19);
}
#servicePartnerLanding .hero h1 .herophrase {
  display: block;
  color: #f4f4f4;
}
#servicePartnerLanding .hero h1 .herophrase em {
  display: inline;
  color: var(--red);
  font-style: normal;
}
#servicePartnerLanding .photo,
#servicePartnerLanding .supportcollage {
  border-radius: 3px;
  outline: 1px solid var(--frame);
  outline-offset: -1px;
  overflow: hidden;
}
#servicePartnerLanding .chinese,
#servicePartnerLanding .partnerform,
#servicePartnerLanding .strip {
  border: 1px solid var(--frame);
  border-radius: 3px;
}
#servicePartnerLanding .chinalineup {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 3px;
}
#servicePartnerLanding .catalogimage {
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 3px;
}
#servicePartnerLanding .features > div,
#servicePartnerLanding .supportpoints > article {
  border: 1px solid var(--frame);
  border-radius: 3px;
  padding: 18px;
}
#servicePartnerLanding .termslist > p {
  border: 1px solid var(--frame);
  border-left: 2px solid var(--red);
  border-radius: 3px;
  padding: 15px 18px;
}
#servicePartnerLanding .strip {
  padding-left: 22px;
  padding-right: 22px;
}
@media (max-width: 650px) {
  #servicePartnerLanding .strip {
    padding-left: 16px;
    padding-right: 16px;
  }
  #servicePartnerLanding .features > div,
#servicePartnerLanding .supportpoints > article {
    padding: 14px;
  }
}

/* Keep decorative cutouts and the benefit strip free of unnecessary boxes. */
#servicePartnerLanding .strip {
  border: 0;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
}
#servicePartnerLanding .chinalineup {
  border: 0;
  border-radius: 0;
}
/* The collage spans exactly the height of its adjacent text column. */
#servicePartnerLanding .partnersupport .partnergrid {
  align-items: stretch;
}
#servicePartnerLanding .supportcollage {
  position: relative;
  min-height: 0;
  align-self: stretch;
}
#servicePartnerLanding .supportcollage img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
}
#servicePartnerLanding .features > div,
#servicePartnerLanding .supportpoints > article,
#servicePartnerLanding .termslist > p {
  transition:
    border-color 0.35s ease,
    background-color 0.35s ease,
    box-shadow 0.35s ease;
}
@media (hover: hover) {
  #servicePartnerLanding .features > div:hover,
#servicePartnerLanding .supportpoints > article:hover,
#servicePartnerLanding .termslist > p:hover {
    border-color: rgba(175, 52, 43, 0.48);
    background-color: rgba(255, 255, 255, 0.025);
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.12);
  }
}
#servicePartnerLanding header nav {
  gap: clamp(12px, 1.6vw, 26px);
}
#servicePartnerLanding header nav a {
  position: relative;
  padding: 10px 0;
  white-space: nowrap;
  transition: color 0.25s;
}
#servicePartnerLanding header nav a:after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s;
}
#servicePartnerLanding header nav a:hover,
#servicePartnerLanding header nav a[aria-current] {
  color: white;
}
#servicePartnerLanding header nav a:hover:after,
#servicePartnerLanding header nav a[aria-current]:after {
  transform: scaleX(1);
}
#servicePartnerLanding .menutoggle {
  display: none;
}
@media (max-width: 1100px) {
  #servicePartnerLanding header {
    gap: 18px;
  }
  #servicePartnerLanding header .brand {
    margin-right: auto;
  }
  #servicePartnerLanding .menutoggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 42px;
    height: 42px;
    padding: 10px;
    background: none;
    border: 1px solid #555;
    color: white;
    order: 3;
    border-radius: 3px;
  }
  #servicePartnerLanding .menutoggle span {
    display: block;
    width: 20px;
    height: 1px;
    background: currentColor;
    transition:
      transform 0.25s,
      opacity 0.25s;
  }
  #servicePartnerLanding header nav {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    padding: 20px 5%;
    background: #181818;
    border-bottom: 1px solid #444;
    grid-template-columns: 1fr 1fr;
    gap: 8px 25px;
    box-shadow: 0 14px 20px #0003;
  }
  #servicePartnerLanding header.menuopen nav {
    display: grid;
  }
  #servicePartnerLanding header.menuopen .menutoggle span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }
  #servicePartnerLanding header.menuopen .menutoggle span:nth-child(2) {
    opacity: 0;
  }
  #servicePartnerLanding header.menuopen .menutoggle span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }
  #servicePartnerLanding header nav a {
    font-size: 13px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .supportcollage {
    position: static;
  }
  #servicePartnerLanding .supportcollage img {
    position: static;
    height: auto;
    aspect-ratio: 3/2;
    object-fit: cover;
  }
  #servicePartnerLanding .menutoggle {
    width: 36px;
    height: 36px;
    padding: 7px;
  }
  #servicePartnerLanding header {
    gap: 12px;
  }
  #servicePartnerLanding header nav {
    grid-template-columns: 1fr;
  }
  #servicePartnerLanding .strip {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  #servicePartnerLanding .features > div,
#servicePartnerLanding .supportpoints > article,
#servicePartnerLanding .termslist > p,
#servicePartnerLanding header nav a,
#servicePartnerLanding header nav a:after,
#servicePartnerLanding .menutoggle span {
    transition: none;
  }
}

#servicePartnerLanding .hero h1 .herophrase.herophrasered {
  color: var(--red);
}

#servicePartnerLanding .strip {
  border-bottom: 1px solid var(--line);
}

/* Stronger, tighter hero slogan inspired by the supplied reference. */
#servicePartnerLanding .hero h1 {
  font-size: clamp(46px, 4.15vw, 76px);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -0.045em;
}
#servicePartnerLanding .hero h1 .herophrase {
  font-weight: 800;
}
#servicePartnerLanding .hero h1 .heroproduct {
  font-weight: 400;
  letter-spacing: -0.4px;
  line-height: 1.3;
}
@media (min-width: 1700px) {
  #servicePartnerLanding .hero h1 {
    font-size: 76px;
  }
}
@media (max-width: 1000px) {
  #servicePartnerLanding .hero h1 {
    font-size: clamp(35px, 4.7vw, 49px);
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .hero h1 {
    font-size: clamp(32px, 8.1vw, 47px);
    letter-spacing: -0.04em;
    line-height: 1.06;
  }
  #servicePartnerLanding .hero h1 .heroproduct {
    font-size: 22px;
    letter-spacing: -0.4px;
  }
}

#servicePartnerLanding .technologygrid {
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  gap: 6%;
  align-items: start;
}
#servicePartnerLanding .technologycopy h2 {
  font-size: clamp(31px, 3.1vw, 46px);
}
#servicePartnerLanding .technologycopy p {
  font-size: 15px;
  margin: 18px 0;
}
#servicePartnerLanding .technologyresult {
  color: #ddd;
}
#servicePartnerLanding .technologyphoto {
  height: 290px;
}
#servicePartnerLanding .technologyphoto img {
  object-fit: cover;
  object-position: left center;
}
#servicePartnerLanding .technologydocuments {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 18px;
}
#servicePartnerLanding .technologydocuments a {
  display: flex;
  gap: 14px;
  align-items: center;
  border: 1px solid var(--frame);
  border-radius: 3px;
  padding: 12px;
  background: #1b1b1b;
  transition: border-color 0.3s;
}
#servicePartnerLanding .technologydocuments img {
  height: 80px;
  width: 57px;
  object-fit: contain;
}
#servicePartnerLanding .technologydocuments span {
  font-size: 12px;
  color: #ccc;
  line-height: 1.5;
}
#servicePartnerLanding .technologydocuments a:hover {
  border-color: var(--red);
}
#servicePartnerLanding .technologypoints {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 32px;
}
#servicePartnerLanding .technologypoints article {
  border: 1px solid var(--frame);
  border-radius: 3px;
  padding: 18px 20px;
  background: #1b1b1b;
  transition:
    border-color 0.35s,
    background-color 0.35s;
}
#servicePartnerLanding .technologypoints article > span {
  color: var(--red);
  font-size: 10px;
  letter-spacing: 1px;
}
#servicePartnerLanding .technologypoints h3 {
  font-size: 16px;
  line-height: 1.35;
  margin: 7px 0;
}
#servicePartnerLanding .technologypoints p {
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
}
#servicePartnerLanding .technologypoints article:hover {
  border-color: rgba(175, 52, 43, 0.48);
  background: #202020;
}
@media (min-width: 1101px) {
  #servicePartnerLanding header nav {
    gap: clamp(10px, 1.2vw, 20px);
    font-size: 11px;
  }
}
@media (max-width: 1000px) {
  #servicePartnerLanding .technologygrid {
    gap: 30px;
  }
  #servicePartnerLanding .technologyphoto {
    height: 310px;
  }
  #servicePartnerLanding .technologydocuments a {
    flex-direction: column;
    text-align: center;
    padding: 10px;
  }
  #servicePartnerLanding .technologydocuments img {
    height: 65px;
  }
  #servicePartnerLanding .technologypoints {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .technologygrid {
    grid-template-columns: 1fr;
  }
  #servicePartnerLanding .technologyphoto {
    height: 250px;
  }
  #servicePartnerLanding .technologydocuments a {
    flex-direction: row;
    text-align: left;
  }
  #servicePartnerLanding .technologydocuments span {
    font-size: 11px;
  }
  #servicePartnerLanding .technologypoints {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 25px;
  }
  #servicePartnerLanding .technologypoints article {
    padding: 16px 18px;
  }
  #servicePartnerLanding .technologycopy h2 {
    font-size: 32px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #servicePartnerLanding .technologypoints article,
#servicePartnerLanding .technologydocuments a {
    transition: none;
  }
}

/* Separate cooperation screen and application screen */
#servicePartnerLanding .partnerconditions .partnergrid {
  align-items: stretch;
  gap: 6%;
}
#servicePartnerLanding .partnerconditions h2 {
  margin-bottom: 30px;
}
#servicePartnerLanding .conditioncards {
  display: grid;
  gap: 14px;
}
#servicePartnerLanding .conditioncards article {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  border: 1px solid var(--frame);
  border-radius: 3px;
  padding: 20px 22px;
  transition:
    border-color 0.35s,
    background 0.35s,
    transform 0.35s;
}
#servicePartnerLanding .conditioncards article:hover {
  border-color: rgba(175, 52, 43, 0.48);
  background: #1c1c1c;
  transform: translateY(-2px);
}
#servicePartnerLanding .conditionicon {
  color: var(--red);
  font-size: 30px;
  line-height: 1.1;
  flex: 0 0 30px;
  font-weight: 600;
}
#servicePartnerLanding .conditioncards h3 {
  font-size: 19px;
  line-height: 1.3;
  margin: 0 0 6px;
}
#servicePartnerLanding .conditioncards p {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}
#servicePartnerLanding .conditionsphoto {
  min-height: 620px;
}
#servicePartnerLanding .conditionsphoto img {
  object-position: 56% center;
}
#servicePartnerLanding .requestscreen {
  padding: 110px 0 130px;
  border-bottom: 0;
}
#servicePartnerLanding .requestscreen .partnerform {
  width: 100%;
  max-width: 804px;
  margin: 0 auto;
  padding: 44px;
}
#servicePartnerLanding .requestscreen .partnerform h3 {
  font-size: 32px;
  margin-bottom: 34px;
}
#servicePartnerLanding .requestscreen .partnerform label {
  font-size: 16px;
  margin-top: 26px;
}
#servicePartnerLanding .requestscreen .partnerform input {
  font-size: 20px;
  padding: 17px 0;
}
#servicePartnerLanding .requestscreen .partnerform .btn {
  min-height: 70px;
  font-size: 16px;
  margin-top: 36px;
}
@media (max-width: 1000px) {
  #servicePartnerLanding .conditionsphoto {
    min-height: 570px;
  }
  #servicePartnerLanding .conditioncards article {
    padding: 17px;
  }
  #servicePartnerLanding .conditioncards h3 {
    font-size: 17px;
  }
  #servicePartnerLanding .conditioncards p {
    font-size: 14px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .conditionsphoto {
    min-height: 0;
    height: 430px;
  }
  #servicePartnerLanding .partnerconditions .partnergrid {
    gap: 30px;
  }
  #servicePartnerLanding .requestscreen {
    padding: 65px 0 80px;
  }
  #servicePartnerLanding .requestscreen .partnerform {
    padding: 26px 22px;
  }
  #servicePartnerLanding .requestscreen .partnerform h3 {
    font-size: 25px;
  }
  #servicePartnerLanding .requestscreen .partnerform input {
    font-size: 17px;
  }
  #servicePartnerLanding .requestscreen .partnerform .btn {
    min-height: 58px;
    font-size: 14px;
  }
  #servicePartnerLanding .conditioncards article {
    gap: 12px;
  }
}

/* Production photo fills the former certificate area; portrait matches cards. */
#servicePartnerLanding .technologygrid {
  align-items: stretch;
}
#servicePartnerLanding .technologyvisual {
  position: relative;
  min-height: 420px;
}
#servicePartnerLanding .technologyvisual .technologyphoto {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
}
#servicePartnerLanding .technologyphoto img {
  width: 146.5%;
  max-width: none;
  object-fit: cover;
  object-position: left center;
}
#servicePartnerLanding .conditionsphoto {
  position: relative;
  min-height: 0;
  align-self: stretch;
}
#servicePartnerLanding .conditionsphoto img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
@media (max-width: 650px) {
  #servicePartnerLanding .technologyvisual {
    min-height: 280px;
  }
  #servicePartnerLanding .conditionsphoto {
    height: 430px;
    min-height: 0;
  }
}

/* Mobile hero: unobstructed photograph above the copy. */
@media (max-width: 760px) {
  #servicePartnerLanding .hero {
    display: block;
    min-height: 0;
    overflow: hidden;
    background: var(--bg);
  }
  #servicePartnerLanding .hero > img {
    position: relative;
    display: block;
    inset: auto;
    width: 100%;
    height: clamp(240px, 65vw, 390px);
    object-fit: cover;
    object-position: 78% 44%;
    mask-image: none;
    -webkit-mask-image: none;
  }
  #servicePartnerLanding .hero:after {
    display: none;
  }
  #servicePartnerLanding .hero .herocopy {
    width: 100%;
    padding: 28px 0 40px;
  }
  #servicePartnerLanding .hero h1 {
    font-size: clamp(32px, 7.7vw, 48px);
    line-height: 1.06;
    letter-spacing: -0.04em;
    margin-bottom: 20px;
  }
  #servicePartnerLanding .hero h1 .heroproduct {
    font-size: clamp(19px, 4.8vw, 24px);
    line-height: 1.35;
    letter-spacing: -0.35px;
    margin-top: 20px;
  }
  #servicePartnerLanding .hero .intro {
    max-width: 540px;
    font-size: 15px;
    line-height: 1.65;
    margin: 0 0 22px;
  }
  #servicePartnerLanding .hero .heroactions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
    max-width: 540px;
  }
  #servicePartnerLanding .hero .heroactions .btn,
#servicePartnerLanding .hero .heroactions .btnoutline {
    min-width: 0;
    width: 100%;
    min-height: 52px;
    margin-top: 0;
    padding: 16px 20px;
    font-size: 13px;
  }
}

/* Approved section 08: immersive photograph and joint branding band. */
#servicePartnerLanding .retentionimmersive {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 52px 38px 30px;
  margin: 90px 0;
  border: 1px solid var(--frame);
  border-radius: 3px;
  min-height: 640px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
}
#servicePartnerLanding .retentionbackground {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
#servicePartnerLanding .retentionimmersive:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(
      90deg,
      rgba(15, 15, 15, 0.97) 0%,
      rgba(15, 15, 15, 0.88) 27%,
      rgba(15, 15, 15, 0.35) 49%,
      transparent 65%
    ),
    linear-gradient(0deg, rgba(15, 15, 15, 0.64), transparent 40%);
}
#servicePartnerLanding .retentioncontent {
  max-width: 47%;
}
#servicePartnerLanding .retentioncontent h2 {
  font-size: clamp(32px, 3.25vw, 48px);
  line-height: 1.1;
}
#servicePartnerLanding .retentioncontent p {
  max-width: 410px;
  font-size: 15px;
  color: #d1d1d1;
}
#servicePartnerLanding .retentionbrand {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 30px;
  align-items: center;
  padding: 23px 28px;
  background: rgba(21, 21, 21, 0.84);
  backdrop-filter: blur(10px);
  border: 1px solid #606060;
  border-radius: 3px;
}
#servicePartnerLanding .retentionbrand h3 {
  font-size: clamp(23px, 2.5vw, 36px);
  line-height: 1.2;
  margin: 0;
  letter-spacing: -0.5px;
}
#servicePartnerLanding .retentionbrand h3 span {
  color: var(--red);
}
#servicePartnerLanding .retentionbrand p {
  margin: 0;
  padding-left: 28px;
  border-left: 1px solid #606060;
  font-size: 13px;
  color: #ccc;
  line-height: 1.65;
}
@media (max-width: 1000px) {
  #servicePartnerLanding .retentionimmersive {
    padding: 36px 25px 25px;
    min-height: 620px;
  }
  #servicePartnerLanding .retentioncontent {
    max-width: 55%;
  }
  #servicePartnerLanding .retentionbrand {
    padding: 20px;
    gap: 20px;
  }
  #servicePartnerLanding .retentionbrand p {
    padding-left: 20px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .retentionimmersive {
    margin: 60px 0;
    padding: 270px 20px 20px;
    min-height: 0;
    gap: 24px;
  }
  #servicePartnerLanding .retentionbackground {
    height: 285px;
    object-position: center;
  }
  #servicePartnerLanding .retentionimmersive:before {
    background: linear-gradient(0deg, #151515 0%, #151515 53%, transparent 80%);
  }
  #servicePartnerLanding .retentioncontent {
    max-width: 100%;
  }
  #servicePartnerLanding .retentioncontent h2 {
    font-size: 32px;
  }
  #servicePartnerLanding .retentioncontent p {
    font-size: 14px;
  }
  #servicePartnerLanding .retentionbrand {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 20px;
  }
  #servicePartnerLanding .retentionbrand h3 {
    font-size: 25px;
  }
  #servicePartnerLanding .retentionbrand p {
    border-left: 0;
    border-top: 1px solid #505050;
    padding: 14px 0 0;
    font-size: 13px;
  }
}
#servicePartnerLanding .hero h1 .herophrase .herophrasered {
  color: var(--red);
}
/* Section 06: atmospheric background instead of a split photo layout. */
#servicePartnerLanding .teamimmersive {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 91%;
  max-width: 1420px;
  margin: 90px auto;
  min-height: 610px;
  padding: 65px 42px;
  border: 1px solid var(--frame);
  border-radius: 3px;
  display: flex;
  align-items: center;
  background: #151515;
}
#servicePartnerLanding .teambackground {
  position: absolute;
  inset: -4px;
  z-index: -3;
  width: calc(100% + 8px);
  height: calc(100% + 8px);
  object-fit: cover;
  object-position: 72% 46%;
  filter: blur(1.2px);
}
#servicePartnerLanding .teamimmersive:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(
      90deg,
      rgba(15, 15, 15, 0.97) 0%,
      rgba(15, 15, 15, 0.94) 26%,
      rgba(15, 15, 15, 0.79) 43%,
      rgba(15, 15, 15, 0.12) 70%
    ),
    linear-gradient(0deg, rgba(15, 15, 15, 0.45), transparent 45%);
}
#servicePartnerLanding .teamimmersiveinner {
  width: 100%;
}
#servicePartnerLanding .teamimmersive .partnercopy {
  width: 48%;
  max-width: 610px;
}
#servicePartnerLanding .teamimmersive .partnercopy h2 {
  font-size: clamp(32px, 3.1vw, 46px);
}
#servicePartnerLanding .teamimmersive .partnercopy p {
  font-size: 15px;
  line-height: 1.75;
  color: #d0d0d0;
}
#servicePartnerLanding .teamimmersive .partnercopy p:last-child {
  margin-bottom: 0;
}
@media (max-width: 1000px) {
  #servicePartnerLanding .teamimmersive {
    padding: 45px 30px;
    min-height: 610px;
  }
  #servicePartnerLanding .teamimmersive .partnercopy {
    width: 57%;
  }
  #servicePartnerLanding .teamimmersive .partnercopy p {
    font-size: 14px;
  }
}
@media (max-width: 650px) {
  #servicePartnerLanding .teamimmersive {
    margin: 60px auto;
    padding: 280px 22px 30px;
    min-height: 0;
    display: block;
  }
  #servicePartnerLanding .teambackground {
    inset: 0;
    width: 100%;
    height: 310px;
    object-position: 68% center;
    filter: blur(0.5px);
  }
  #servicePartnerLanding .teamimmersive:before {
    background: linear-gradient(0deg, #151515 0%, #151515 53%, transparent 87%);
  }
  #servicePartnerLanding .teamimmersive .partnercopy {
    width: 100%;
    max-width: none;
  }
  #servicePartnerLanding .teamimmersive .partnercopy h2 {
    font-size: 32px;
  }
  #servicePartnerLanding .teamimmersive .partnercopy p {
    font-size: 14px;
  }
}

/* Section 06: photograph on the left, readable copy on the right. */
@media (min-width: 651px) {
  #servicePartnerLanding .teamimmersive .teambackground {
    left: -24%;
    right: auto;
    top: -4px;
    bottom: auto;
    width: 100%;
    height: calc(100% + 8px);
    object-fit: cover;
    object-position: 62% 42%;
  }
  #servicePartnerLanding .teamimmersive:before {
    background:
      linear-gradient(
        270deg,
        rgba(15, 15, 15, 0.98) 0%,
        rgba(15, 15, 15, 0.96) 25%,
        rgba(15, 15, 15, 0.83) 43%,
        rgba(15, 15, 15, 0.2) 62%,
        rgba(15, 15, 15, 0.08) 100%
      ),
      linear-gradient(0deg, rgba(15, 15, 15, 0.45), transparent 45%);
  }
  #servicePartnerLanding .teamimmersive .partnercopy {
    margin-left: auto;
    width: 48%;
    max-width: 610px;
  }
}
@media (min-width: 651px) and (max-width: 1000px) {
  #servicePartnerLanding .teamimmersive .partnercopy {
    width: 51%;
  }
  #servicePartnerLanding .teamimmersive .teambackground {
    left: -27%;
    width: 110%;
    object-position: 66% center;
  }
}
#servicePartnerLanding .partnerconditions .conditionsheadline {
  white-space: nowrap;
  font-size: clamp(26px, 2.8vw, 42px);
}
@media (max-width: 650px) {
  #servicePartnerLanding .partnerconditions .conditionsheadline {
    font-size: clamp(23px, 6.3vw, 38px);
    letter-spacing: -0.8px;
  }
}
#servicePartnerLanding .teamimmersive {
  width: 100%;
  max-width: none;
  border: 0;
  border-radius: 0;
  padding-left: 4.5%;
  padding-right: 4.5%;
}
#servicePartnerLanding .teamimmersiveinner {
  max-width: 1420px;
  margin: 0 auto;
}
@media (max-width: 650px) {
  #servicePartnerLanding .teamimmersive {
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }
}

/* Hero typography: short horizontal rule and a red vertical description rule. */
#servicePartnerLanding .herorule {
  width: 44px;
  height: 2px;
  background: var(--red);
  margin-bottom: 30px;
}
#servicePartnerLanding .hero h1 {
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1.04;
  margin-bottom: 32px;
}
#servicePartnerLanding .hero h1 .herophrase {
  display: block;
  font-weight: 900;
}
#servicePartnerLanding .hero h1 .herophrasered {
  color: var(--red);
}
#servicePartnerLanding .herodescription {
  border-left: 2px solid var(--red);
  padding: 0 0 0 24px;
  max-width: 600px;
  margin: 0 0 30px;
}
#servicePartnerLanding .hero .herodescription .heroproduct {
  font-size: 23px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.3px;
  color: #f4f4f4;
  margin: 0 0 14px;
  display: block;
}
#servicePartnerLanding .hero .herodescription .intro {
  max-width: none;
  font-size: 17px;
  line-height: 1.65;
  margin: 0;
  color: #d4d4d4;
}
#servicePartnerLanding .hero .heroactions .btn {
  margin-top: 0;
}
@media (min-width: 1001px) {
  #servicePartnerLanding .hero h1 {
    font-size: clamp(46px, 4.6vw, 76px);
  }
  #servicePartnerLanding .hero .herocopy {
    padding-top: 48px;
    padding-bottom: 60px;
  }
}
@media (min-width: 761px) and (max-width: 1000px) {
  #servicePartnerLanding .hero h1 {
    font-size: clamp(38px, 4.8vw, 49px);
  }
  #servicePartnerLanding .hero .herodescription .heroproduct {
    font-size: 21px;
  }
  #servicePartnerLanding .hero .herodescription .intro {
    font-size: 15px;
  }
}
@media (max-width: 760px) {
  #servicePartnerLanding .herorule {
    width: 36px;
    margin-bottom: 22px;
  }
  #servicePartnerLanding .hero h1 {
    font-size: clamp(29px, 7.3vw, 48px);
    line-height: 1.06;
    margin-bottom: 25px;
    letter-spacing: -0.035em;
  }
  #servicePartnerLanding .herodescription {
    padding-left: 18px;
    margin-bottom: 26px;
  }
  #servicePartnerLanding .hero .herodescription .heroproduct {
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 12px;
  }
  #servicePartnerLanding .hero .herodescription .intro {
    font-size: 14px;
    line-height: 1.65;
  }
}

/* Secondary hero action follows the understated underlined reference link. */
#servicePartnerLanding .hero .heroactions {
  align-items: center;
  gap: 28px;
}
#servicePartnerLanding .hero .heroactions .btnoutline {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #686868;
  border-radius: 0;
  box-shadow: none;
  min-width: 0;
  min-height: 0;
  width: auto;
  padding: 14px 0;
  gap: 12px;
  justify-content: flex-start;
  align-self: center;
  transition:
    color 0.2s,
    border-color 0.2s;
}
#servicePartnerLanding .hero .heroactions .btnoutline span {
  font-size: 18px;
}
#servicePartnerLanding .hero .heroactions .btnoutline:hover {
  background: transparent;
  border-color: var(--red);
  color: var(--red);
  transform: none;
}
@media (max-width: 760px) {
  #servicePartnerLanding .hero .heroactions {
    gap: 14px;
  }
  #servicePartnerLanding .hero .heroactions .btnoutline {
    width: max-content;
    max-width: 100%;
    min-height: 44px;
    justify-self: start;
    justify-content: flex-start;
    padding: 10px 0;
    font-size: 13px;
  }
}

/* Brand tokens shared with the reference landing page. */
#servicePartnerLanding .btn:not(.btnoutline) {
  border-radius: 7px;
  font-weight: 600;
}
#servicePartnerLanding .topcta,
#servicePartnerLanding .tabs button,
#servicePartnerLanding .menutoggle {
  border-radius: 6px;
}

/* Final request slide: full-width photo with the form aligned left. */
#servicePartnerLanding .requestscreen {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: none;
  min-height: 760px;
  margin-left: 0;
  padding: 110px max(4.5%, calc((100vw - 1420px) / 2)) 130px;
  overflow: hidden;
  background: url("assets/lastslide.webp") center / cover no-repeat;
  border-bottom: 0;
}
#servicePartnerLanding .requestscreen::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: linear-gradient(
    90deg,
    rgba(15, 15, 15, 0.96) 0%,
    rgba(15, 15, 15, 0.9) 28%,
    rgba(15, 15, 15, 0.58) 50%,
    rgba(15, 15, 15, 0.12) 76%
  );
}
#servicePartnerLanding .requestscreen .partnerform {
  position: relative;
  z-index: 1;
  width: min(560px, 46vw);
  max-width: none;
  margin: 0;
  padding: 44px;
  background: rgba(15, 15, 15, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(5px);
}

@media (max-width: 1000px) {
  #servicePartnerLanding .requestscreen {
    min-height: 700px;
    padding: 80px 5%;
    background-position: 54% center;
  }
  #servicePartnerLanding .requestscreen .partnerform {
    width: min(590px, 70vw);
  }
}

@media (max-width: 650px) {
  #servicePartnerLanding .requestscreen {
    align-items: flex-end;
    min-height: 720px;
    padding: 260px 5% 60px;
    background-position: 43% center;
  }
  #servicePartnerLanding .requestscreen::before {
    background: linear-gradient(
      0deg,
      rgba(15, 15, 15, 0.98) 0%,
      rgba(15, 15, 15, 0.9) 49%,
      rgba(15, 15, 15, 0.18) 82%
    );
  }
  #servicePartnerLanding .requestscreen .partnerform {
    width: 100%;
    padding: 26px 22px;
  }
}

/* Profile product slider */
#servicePartnerLanding .catalogslider {
  position: relative;
}
#servicePartnerLanding .catalogslider .catalogtrack {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 64px) / 5);
  grid-template-columns: none;
  align-items: stretch;
  gap: 16px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 0 10px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  cursor: grab;
  touch-action: pan-y;
}
#servicePartnerLanding .catalogslider .catalogtrack.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  scroll-snap-type: none;
  user-select: none;
}
#servicePartnerLanding .catalogslider .catalogtrack.is-animating {
  scroll-behavior: auto;
  scroll-snap-type: none;
}
#servicePartnerLanding .catalogslider .catalogtrack img {
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
#servicePartnerLanding .catalogslider .catalogtrack::-webkit-scrollbar {
  display: none;
}
#servicePartnerLanding .catalogslider .catalogcard {
  width: auto;
  min-width: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
#servicePartnerLanding .catalognav {
  position: absolute;
  z-index: 4;
  top: 42%;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #777;
  color: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
  transform: translateY(-50%);
  transition:
    background 0.2s,
    opacity 0.2s,
    transform 0.2s;
}
#servicePartnerLanding .catalognav:hover:not(:disabled),
#servicePartnerLanding .catalognav:focus-visible:not(:disabled),
#servicePartnerLanding .catalognav:active:not(:disabled) {
  background: var(--red);
  transform: translateY(-50%) scale(1.06);
}
#servicePartnerLanding .catalognav:disabled {
  background: #777;
  cursor: default;
  opacity: 0.58;
}
#servicePartnerLanding .catalognav--prev {
  left: -22px;
}
#servicePartnerLanding .catalognav--next {
  right: -22px;
}
#servicePartnerLanding .catalogcard--all {
  border: 0;
  background: transparent;
}
#servicePartnerLanding .catalogallvisual {
  display: grid;
  place-items: center;
  height: 285px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 3px;
  background:
    linear-gradient(145deg, rgba(175, 52, 43, 0.18), rgba(15, 15, 15, 0.1)),
    #1b1b1b;
  text-align: center;
  transition:
    border-color 0.25s,
    background 0.25s;
}
#servicePartnerLanding .catalogallvisual:hover,
#servicePartnerLanding .catalogallvisual:focus-visible {
  border-color: var(--red);
  background:
    linear-gradient(145deg, rgba(175, 52, 43, 0.3), rgba(15, 15, 15, 0.12)),
    #202020;
}
#servicePartnerLanding .catalogallvisual strong {
  max-width: 240px;
  font-size: clamp(18px, 1.5vw, 24px);
  line-height: 1.25;
}
#servicePartnerLanding .catalogcard--all .catalogallcopy {
  min-height: 102px;
  margin-top: 12px;
  padding-top: 0;
  border-top: 0;
}
#servicePartnerLanding .catalogcard--all .catalogallbutton {
  width: 100%;
  align-self: stretch;
  margin-top: auto;
  text-align: center;
}

@media (max-width: 1200px) {
  #servicePartnerLanding .catalogslider .catalogtrack {
    grid-auto-columns: calc((100% - 48px) / 4);
  }
}

@media (max-width: 900px) {
  #servicePartnerLanding .catalogslider .catalogtrack {
    grid-auto-columns: calc((100% - 32px) / 3);
  }
}

@media (max-width: 650px) {
  #servicePartnerLanding .catalogslider .catalogtrack {
    grid-auto-columns: 84%;
    grid-template-columns: none;
    gap: 14px;
  }
  #servicePartnerLanding .catalognav {
    top: 38%;
    width: 40px;
    height: 40px;
  }
  #servicePartnerLanding .catalognav--prev {
    left: 4px;
  }
  #servicePartnerLanding .catalognav--next {
    right: 4px;
  }
  #servicePartnerLanding .catalogallvisual {
    height: 290px;
  }
  #servicePartnerLanding .catalogallvisual strong {
    font-size: 23px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #servicePartnerLanding .catalogslider .catalogtrack {
    scroll-behavior: auto;
  }
  #servicePartnerLanding .catalognav,
#servicePartnerLanding .catalogallvisual {
    transition: none;
  }
}


/* ===== Bitrix / Aspro integration ===== */
#servicePartnerLanding {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  background: #151515;
  color: #f4f4f4;
}
#servicePartnerLanding,
#servicePartnerLanding * {
  box-sizing: border-box;
}
#servicePartnerLanding .catalogimage {
  display: flex;
  align-items: center;
  justify-content: center;
}
#servicePartnerLanding .catalogimage img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
#servicePartnerLanding .catalog-empty {
  grid-column: 1 / -1;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.12);
  color: #bdbdbd;
  font-size: 14px;
}

/* Consent used by the standard OTOMOSHI form pattern. */
#servicePartnerLanding .partnerform .form-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 18px;
  color: #bdbdbd;
  font-size: 12px;
  line-height: 1.45;
  cursor: pointer;
}
#servicePartnerLanding .partnerform .form-consent input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  padding: 0;
  accent-color: var(--red);
}
#servicePartnerLanding .partnerform .form-consent span {
  display: block;
}
#servicePartnerLanding .partnerform .form-consent a {
  color: #f4f4f4;
  text-decoration: underline;
  text-underline-offset: 3px;
}
#servicePartnerLanding .partnerform .form-consent a:hover {
  color: #fff;
}
#servicePartnerLanding .partnerform .form-honeypot {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
#servicePartnerLanding .partnerform .btn[disabled] {
  opacity: .65;
  cursor: wait;
  transform: none;
}
#servicePartnerLanding .partnerform #request-status.is-error {
  color: #ff9f98;
}
#servicePartnerLanding .partnerform #request-status.is-success {
  color: #b9e7b7;
}

/* ===== OTOMOSHI / Aspro page-host fixes (landing only) ===== */
html.autoservice-landing-page,
body.autoservice-landing-page {
  overflow-x: hidden !important;
}

/* The landing has its own H1. Hide Aspro's deferred page title and breadcrumb row. */
body.autoservice-landing-page .main .page-top,
body.autoservice-landing-page .main .page-title,
body.autoservice-landing-page .main .breadcrumbs,
body.autoservice-landing-page .main .breadcrumb,
body.autoservice-landing-page .main .breadcrumb-block,
body.autoservice-landing-page .main .breadcrumb-wrapper {
  display: none !important;
}

/* Remove the standard content wrapper gaps above the landing and before the footer. */
body.autoservice-landing-page .main > .container,
body.autoservice-landing-page .main > .container > .row,
body.autoservice-landing-page .main > .container > .row > .maxwidth-theme,
body.autoservice-landing-page .main .content_wrapper_block,
body.autoservice-landing-page .main .content_wrapper_block > .maxwidth-theme,
body.autoservice-landing-page .main .container_inner,
body.autoservice-landing-page .main .right_block.narrow_N {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* A few extra pixels on both sides, as on the contract-production landing. */
#servicePartnerLanding {
  width: calc(100vw + 8px) !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw - 4px) !important;
  margin-right: -4px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Aspro applies its own text variables/important rules to headings. Restore the design. */
#servicePartnerLanding h1,
#servicePartnerLanding h2,
#servicePartnerLanding h3,
#servicePartnerLanding h4,
#servicePartnerLanding h5,
#servicePartnerLanding h6 {
  color: #f4f4f4 !important;
}
#servicePartnerLanding .eyebrow,
#servicePartnerLanding .strip > div,
#servicePartnerLanding .catalogallvisual strong,
#servicePartnerLanding .partnerform label,
#servicePartnerLanding .btn {
  color: #f4f4f4 !important;
}
#servicePartnerLanding h1 em,
#servicePartnerLanding h2 em,
#servicePartnerLanding h3 em,
#servicePartnerLanding .herophrasered,
#servicePartnerLanding .catalogcardcopy > span {
  color: var(--red) !important;
}

/* Real catalog photos: show the whole canister, never crop a promo photo into the card. */
#servicePartnerLanding .catalogimage {
  height: 285px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: #151515;
}
#servicePartnerLanding .catalogimage img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 92% !important;
  max-height: 92% !important;
  object-fit: contain !important;
  object-position: center !important;
  mix-blend-mode: normal !important;
}
#servicePartnerLanding .catalogimage-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 20px;
  color: #777 !important;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
}

/* Keep the last block visually close to the footer without the large empty tail. */
#servicePartnerLanding .requestscreen {
  padding-bottom: 72px !important;
  margin-bottom: 0 !important;
}
#servicePartnerLanding > main,
#servicePartnerLanding > main > :last-child {
  margin-bottom: 0 !important;
}

/* ===== AUTOSERVICE integration refinements: slider, anchors and page edges ===== */
/* One extra pixel on the left only; keep the already-correct right overhang. */
#servicePartnerLanding {
  width: calc(100vw + 9px) !important;
  margin-left: calc(50% - 50vw - 5px) !important;
  margin-right: -4px !important;
}

/* Product titles: exactly two readable lines instead of a one-line ellipsis. */
#servicePartnerLanding .catalogcardcopy h3 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  height: 3em !important;
  min-height: 3em !important;
  line-height: 1.5 !important;
  margin: 12px 0 15px !important;
}

/* Drag/swipe should feel native, including when grabbing the product photo. */
#servicePartnerLanding .catalogslider .catalogtrack {
  cursor: grab;
  touch-action: pan-y;
}
#servicePartnerLanding .catalogslider .catalogtrack.is-dragging,
#servicePartnerLanding .catalogslider .catalogtrack.is-dragging * {
  cursor: grabbing !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}
#servicePartnerLanding .catalogslider .catalogimage,
#servicePartnerLanding .catalogslider .catalogallvisual {
  -webkit-user-drag: none;
}

/* Smooth CTA target positioning below the real Aspro header. */
#servicePartnerLanding #request {
  scroll-margin-top: 120px;
}

/* Aspro's main wrapper adds a white tail after custom full-width content. */
body.autoservice-landing-page .main,
body.autoservice-landing-page .main > .container,
body.autoservice-landing-page .main > .container > .row,
body.autoservice-landing-page .main .content_wrapper_block,
body.autoservice-landing-page .main .container_inner,
body.autoservice-landing-page .main .right_block.narrow_N {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  min-height: 0 !important;
}
body.autoservice-landing-page #servicePartnerLanding,
body.autoservice-landing-page #servicePartnerLanding > main,
body.autoservice-landing-page #servicePartnerLanding > main > :last-child {
  padding-bottom: 0;
  margin-bottom: 0 !important;
}

/* No template-created gap between the custom landing and the real site footer. */
body.autoservice-landing-page footer,
body.autoservice-landing-page #footer,
body.autoservice-landing-page .footer,
body.autoservice-landing-page .footer-wrapper,
body.autoservice-landing-page .footer_wrapper {
  margin-top: 0 !important;
}

/* ===== AUTOSERVICE fix4: finite slider + final-card alignment ===== */
#servicePartnerLanding .catalogslider .catalogtrack {
  grid-auto-rows: 1fr;
}
#servicePartnerLanding .catalogslider .catalogcard,
#servicePartnerLanding .catalogslider .catalogitem {
  height: 100%;
}
#servicePartnerLanding .catalogcard--all .catalogallcopy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}
#servicePartnerLanding .catalogcard--all .catalogallbutton {
  margin-top: auto !important;
}
@media (min-width: 1001px) {
  #servicePartnerLanding .catalogcard--all .catalogallcopy {
    min-height: 126px !important;
  }
}

@media (min-width: 1001px) {
  #servicePartnerLanding .requestscreen {
    background-size: 110% auto;
    background-position: calc(-10% - 20px) calc(50% + 40px);
  }
}


/* =========================================================
   Visual-editor safe icons
   SVG paths are kept in CSS so Bitrix HTML editor cannot rewrite them.
   ========================================================= */
#servicePartnerLanding .catalognav::before {
  content: "";
  display: block;
  width: 19px;
  height: 19px;
  background-color: currentColor;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
#servicePartnerLanding .catalognav--prev::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27m12%204-6%206%206%206%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27m12%204-6%206%206%206%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}
#servicePartnerLanding .catalognav--next::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27m8%204%206%206-6%206%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27m8%204%206%206-6%206%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}
#servicePartnerLanding .conditionicon--fast {
  display: grid;
  place-items: center;
}
#servicePartnerLanding .conditionicon--fast::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M5%2019L19%205M10%205h9v9%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27square%27%20stroke-linejoin%3D%27miter%27%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M5%2019L19%205M10%205h9v9%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27square%27%20stroke-linejoin%3D%27miter%27%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

#servicePartnerLanding .conditionicon--individual::before,
#servicePartnerLanding .conditionicon--bonus::before,
#servicePartnerLanding .conditionicon--branding::before {
  display: block;
  width: 30px;
  text-align: center;
  color: currentColor;
  font: inherit;
  line-height: 1.1;
}
#servicePartnerLanding .conditionicon--individual::before { content: "↔"; }
#servicePartnerLanding .conditionicon--bonus::before { content: "＋"; }
#servicePartnerLanding .conditionicon--branding::before { content: "◇"; }


#servicePartnerLanding + br {
  display: none !important;
}