@charset"utf-8";
@import url("fonts.css");

/* =========================
   TOKENS / BASE
========================= */
:root {

  --bg: #ffffff;
  --bgAlt: #3646F5;                 /* blue block */
  --bgDark: #0C0D28;                /* dark block */
  --bgPanel: #F5F9FA;               /* light panel */
  --text: #0c0d28;
  --textMuted: #4b5563;
  --primaryBlue: #0f23ff;
  --accentGreen: #29ff65;           /* neon green */
  --accentBlue: #3b82f6;            /* blue tag */
  --border: #e5e7eb;
  --white: #fff;
  --black: #000;
  --grayLight: #D9D9D9;
  --gray: rgba(0,0,0,.5);
  --greenGradient: linear-gradient(90deg, #45ff98 0%, #39BECA 45% ,#3088f4 100%); 

  --radiusSm: 10px;
  --radius: 16px;
  --radiusLg: 24px;
  --radiusXl: 32px;
  --radiusHero: 65px;

  --shadowSm: 0 4px 16px rgba(0, 0, 0, 0.06);
  --shadow: 0 12px 36px rgba(7, 11, 23, 0.12);
  --shadowStrong: 0 20px 60px rgba(7, 11, 23, 0.18);
  --shadowGreen: 0 28px 70px rgba(41, 251, 101, 0.40), inset 0 0 80px rgba(41, 255, 101, 0.55);

  --space1: 6px;
  --space2: 10px;
  --space3: 16px;
  --space4: 24px;
  --space5: 32px;
  --space6: 40px;
  --space7: 56px;
  --space8: 80px;

  --container: 1440px;

  --font: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  --leading: 1.5;
}

/*#region ========   RESET  ========================= */
*,
::after,
::before {
  box-sizing: border-box;
}
*:focus{outline:0 none;}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 400 16px / var(--leading) var(--font);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;

  max-width: 100dvw;
}
img,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover,
a:active{outline:0;}
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
h1,
h2,
h3,
h4,
p {
  margin: 0;
}
@viewport{width:device-width;}

::placeholder {
  color: rgba(12, 13, 40, .45);
  font-weight: 300;
  font-size: 15px;
  font-family: var(--font);
}

::-webkit-scrollbar {
  	width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
  	background: transparent !important;
}
::-webkit-scrollbar-thumb {
	background-color: var(--accentGreen);
	border-radius: 3px;
	border: 2px solid var(--accentGreen);
}
/* ::-webkit-scrollbar-thumb:hover {
	background-color: #D9D9D9;
} */
::-webkit-scrollbar-corner {
	background-color: transparent;
}
::-webkit-scrollbar-button {
	display: none;
}


/* helpers */
.visuallyHidden,
.srOnly {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.center {
  text-align: center;
}
/*#endregion ---------------------------------------------- */



/*#region ----------- TO TOP BUTTON ---------------*/
.scrollTopButton {
	position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  aspect-ratio: 1;
  bottom: 50px;
  right: 10px;
  z-index: 100;
  border-radius: 50%;
  outline: 0;
  border: 0 none;
  cursor: pointer;
	transition: all 0.4s ease-in;
	background: conic-gradient(var(--bgAlt) 0%, #e0e0e0 0%);
  color: #212db6;
  font-weight: 700;
  font-family: var(--font);
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.55);
  opacity: 0;
  transform: translateY(100px);
  transition: all .5s ease;
}
.showBtn {
  opacity: 1;
  transform: translateY(0);
}
.scrollTopButton .box {
  display: flex;
  flex-direction: column;
  width: 100%;
  aspect-ratio: 1;
  background-color: var(--accentGreen);
  border-radius: 50%;
  overflow: hidden;
}
.scrollTopButton .box > span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1;
  transition: transform 0.3s;
}
.scrollTopButton:hover .box > span {
  transform: translateY(-100%);
}
.icon::before,
.percentage:before {
  content: url(/cdn/img/up.svg);
  position: relative;
  top: 2px;
}
/*#endregion -------------------------------------*/




/*#region =============   LAYOUT   ========================= */
.mainContainer {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: clamp(20px, 3.6vw, 52px);
}

.sectionTitle {
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.1px;
  font-size: clamp(32px, 3.3vw, 47px);
}

.sectionSubtitle {
  color: var(--text);
  margin-top: 16px;
  font-weight: 300;
  font-size: clamp(13px, 2.27vw, 16px);
}

.eyebrow {
  display: block;
  font-size: 13px;
  letter-spacing: 0.32px;
  text-transform: uppercase;
  color: var(--primaryBlue);
  margin-bottom: 10px;
}

.highlight {
  color: #0c0f1a;
}
/*#endregion ---------------------------------------------- */




/*#region ===========   BUTTONS & INPUTS   ========================= */
.primaryButton,
.secondaryButton,
.accentButton,
.accentDarkButton,
.accentLightButton,
.lightButton,
.formButton,
.accentBackButton,
.accentDarkBackButton {
  font-family: var(--font);
  display: inline-flex;
  position: relative;
  z-index: 0;
  align-items: center;
  justify-content: center;
  color: var(--text);
  height: 48px;
  padding: 0 22px;
  overflow: hidden;
  gap: 10px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: all 0.3s ease;
  user-select: none;
}
.blueText {
  color: #212db6;
}
.primaryButton {
  background: var(--primaryBlue);
  color: var(--white);
  box-shadow: var(--shadow);
  transition: all 0.5s;
}
.primaryButton:hover {
  background: var(--accentGreen);
  color: var(--text);
}

.secondaryButton {
  border-color: var(--border);
  color: #0b0f1a;
  transition: all 0.5s;
}
.secondaryButton:hover {
  background: var(--primaryBlue);
  color: var(--white);
  border-color: var(--primaryBlue);
}

.accentButton,
.accentLightButton {
  font-size: clamp(16px, 1.53vw, 22px);
  height: 64px;
  padding: 0 50px;
  box-shadow: 0 12px 30px rgba(30, 234, 100, 0.35);
  border: 0 none;
}
.lightButton,
.accentDarkButton {
  font-size: clamp(16px, 1.53vw, 22px);
  height: 64px;
  padding: 0 50px;
  box-shadow: var(--shadow);
  border: 0 none;
}
.accentDarkButton {
  color: var(--white);
}
.formButton {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 15px;
  padding: 28px 35px;
  height: 100%;
}
.accentButton:hover,
.lightButton:hover,
.formButton:hover {
  color: var(--white);
}
.accentLightButton:hover {
  color: var(--text);
}
.accentDarkButton:hover {
  color: #212db6;
}
.formButton:hover {
  color: var(--text);
}
.accentButton:before,
.accentButton:after,
.formButton:before,
.formButton:after,
.lightButton:before,
.lightButton:after,
.accentDarkButton:before,
.accentDarkButton:after,
.accentLightButton:before,
.accentLightButton:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  background: var(--primaryBlue); /* onhover background color */
  z-index: -1;
  transition: all .3s;
}
.accentButton:before,
.formButton:before,
.lightButton:before,
.accentDarkButton:before,
.accentLightButton:before {
  background: var(--accentGreen); /* button default background color */
  z-index: -2;
  transform: translate3D(0,0,0);
  border-radius: 999px;
}
.lightButton:before {
  background: var(--white);
}
.accentDarkButton:before {
  background: var(--primaryBlue);
}
.accentButton:after,
.formButton:after,
.lightButton:after,
.accentDarkButton:after,
.accentLightButton:after {
  top: 50%;
  left: 50%;
  width: 100%;
  height: 0%;
  transform: translate(-50%,-50%) rotate(-45deg);
}
.accentDarkButton:after {
  background: var(--accentGreen);
}
.formButton:after,
.accentLightButton:after {
  background: var(--white);
}
.accentButton:hover:after,
.formButton:hover:after,
.lightButton:hover:after,
.accentDarkButton:hover:after,
.accentLightButton:hover:after {
  height: 480%;
}

.accentBackButton {
  border-color: var(--accentGreen);
  color: #0b0f1a;
  transition: all 0.5s;
}
.accentDarkBackButton {
  border-color: var(--accentBlue);
  color: #3646F5;
  transition: all 0.5s;
}
.accentBackButton:hover {
  border-color: var(--accentBlue);
}
.accentDarkBackButton:hover {
  border-color: var(--accentGreen);
}

.smallButton {
  height: 40px;
  padding: 0 16px;
}






.inputField {
  height: 58px;
  padding: 0 18px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--white);
  color: var(--text);
  font-size: 19px;
  font-family: var(--font);
  width: 100%;
  text-overflow: ellipsis;
}
.textareaField {
  min-height: 120px;
  vertical-align:top;
  overflow: auto;
  resize: none;
  padding: 18px;
  font-family: var(--font);
  font-size: 19px;
  line-height: 1.1;
}
.inputField:focus,
.textareaField:focus {
  border: 1px solid var(--accentBlue);
}
.passwordWrapper,
.inputWrapper { 
  position: relative;
}
.inputWrapper input[type="text"],
.inputField[type="password"] {
  padding: 0 40px 0 18px;
}
.togglePassword,
.inputBtnIcon { 
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
}

@media (max-width: 619px) {
  .inputField,
  .textareaField {
    font-size: 15px;
  }
}



.selectComponent {
  position: relative;
}
.selectField {
  border: 1px solid var(--border);
  background-color: var(--white);
  font-size: 19px;
  font-family: var(--font);
  /* font-weight: 400; */
  color: var(--text);
  text-align: left;
  width: 100%;
  height: 58px;
  border-radius: 18px;
  padding: 0 36px 0 18px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  position: relative;
  transition: all .3s ease-in-out;
}
.selectField::after {
  content: '\276F';
  display: block;
  position: absolute;
  top: 18px;
  right: 18px;
  color: #111827;
  font-size: 16px;
  font-weight: 400;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transition: transform 0.3s ease; 
}
.selectField:focus, .selectField:active {
  border: 1px solid var(--accentBlue);
}
.selectDataList {
  display: none;
  list-style: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  padding: 0;
  margin: 0;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radiusLg);
  box-shadow: var(--shadow);
  z-index: 1;
  width: 100%;
  overflow: hidden;
}
.selectComponent.open .selectDataList {
  display: block;
}
.selectComponent.open .selectField::after {
  transform: rotate(-90deg); 
  -webkit-transform: rotate(-90deg);
}
.selectDataList ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.selectDataList li {
  padding: 16px 18px;
  cursor: pointer;
  transition: all 0.3s ease;
  border-bottom: 1px solid var(--border);
  text-align: left;
  font-size: 19px;
}
.selectDataList li:hover {
  background: var(--accentBlue);
  color: var(--white);
}
.selectDataList li:last-child {
  border-bottom: none;
}

@media (max-width: 619px) {
  .selectField,
  .selectDataList li {
    font-size: 15px;
  }
}







.indicators {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  gap: 10px;
  z-index: 10;
  display: none;
}
.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #D9D9D9;
  transition: all 0.3s ease;
}
.dot.active {
  background: var(--bgAlt); 
  transform: scale(1.3);
}
/*#endregion ---------------------------------------------- */




/*#region ============   HEADER   ========================= */
.siteHeader {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(244, 248, 249, 0.5);
  backdrop-filter: saturate(180%) blur(6px);
}
.headerRow {
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.logo,
.logoFooter {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  font-size: 20px;
}
.logoMark {
  width: 172px;
  height: 36px;
  background-image: url("/cdn/img/logo_header_blk.svg");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
.logoMark.green {
  background-image: url("/cdn/img/logo_header_blk-grn.svg");
}
.logoMark.blue {
  background-image: url("/cdn/img/logo_header_blk-bl.svg");
}
.mobileNavHeader .logoMark {
  background-image: url("/cdn/img/logo_header_wht.svg");
}
.navMenu {
  display: flex;
  gap: 26px;
}
.navMenuItem {
  color: #293041;
  font-weight: 500;
  transition: all 0.3s ease;
}
.navMenuItem:hover,
.activeNavItem {
  color: var(--primaryBlue);
}
.headerCta {
  display: flex;
  gap: 10px;
}
/*#endregion ---------------------------------------------- */




/*#region ======   Mobile nav wrapper  ===================== */
.mobileNavWrapper {
  position: fixed;
  top: 0;
  left: -100%;
  width: 100vw;
  height: 100vh;
  background: var(--bgAlt);
  color: var(--white);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding: clamp(20px, 5vw, 40px) 20px;
  transition: left 0.3s ease;
  z-index: 100;
}
.mobileNavHeader {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  padding-top: 30px;
}
.closeNav {
  background: none;
  border: 1px solid var(--white);
  border-radius: 50%;
  cursor: pointer;
  padding: 5px;
}
.mobileNavList {
  list-style: none;
  padding: 0;
  margin: 40px 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.mobileNavItem {
  font-size: 32px;
  font-weight: 500;
  color: var(--white);
  transition: all 0.3s ease;
}
.mobileNavItem:hover,
.activeMobileNavItem {
  opacity: 0.3;
}
.mobileNavDevider {
  display: flex;
  width: 100%;
  border-top: 1px solid rgba(255,255,255,.5);
}
.mobileNavCta {
  display: flex;
  gap: 16px;
  width: 100%;
  justify-content: center;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.5);
  min-height: 20dvh;
  padding-top: clamp(20px, 5vw, 40px);
}
.mobileNavCta .primaryButton {
  background: var(--accentGreen);
  color: #0b0f1a;
  font-size: 15px;
}
.mobileNavCta .secondaryButton {
  color: var(--white);
  font-size: 15px;
  font-weight: 500;
}
.backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 99;
  display: none;
}

/* Mobile menu toggle */
.mobileMenuToggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.hamburgerIcon,
.closeIcon {
  width: 24px;
  height: 24px;
  fill: var(--primaryBlue);
}
.closeIcon {
  fill: var(--white);
}
/*#endregion ---------------------------------------------- */




/*#region ==========   HERO SECTION   ========================= */
.heroSection {
  padding-top: 60px;
  padding-bottom: 56px;
  background: #f5f9fa 50% 50% no-repeat url("/cdn/img/background_hero_new.png");
  background-size: contain;
  display: flex;
  align-items: center;
}
.heroRow {
  display: flex;
  gap: clamp(24px, 2.8vw, 40px);
  align-items: center;
  width: 100%;
}
.heroContent {
  flex: 1 1 55%;
  max-width: 700px;
}
.heroTitle {
  font-size: clamp(40px, 3.3vw, 47px);
  line-height: 1.04;
  letter-spacing: -1%;
  font-weight: 600;
  color: #0c0d28;
  margin-bottom: var(--space2);
}
.heroTitle strong {
  color: var(--primaryBlue);
  font-weight: 600;
}
.heroSubtitle {
  margin-top: 20px;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 400;
  color: #272730;
  max-width: 640px;
}
.heroActions {
  margin-top: 26px;
}

.heroMedia {
  flex: 1 1 45%;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: flex-end;
  z-index: 0;
  width: 100%;
  height: clamp(400px, 38.5vw, 555px);
}

.noteGreen {
  position: absolute;
  right: 0;
  top: 0;
  background: var(--accentGreen);
  color: #0c0d28;
  font-size: clamp(17px, 2.36vw, 34px);
  font-weight: 900;
  line-height: 1.1;
  padding: clamp(48px, 4.5vw, 64px) clamp(40px, 3.8vw, 54px);
  border-radius: clamp(20px, 5.48vw, 65px) var(--radiusSm) clamp(20px, 5.48vw, 65px) clamp(20px, 5.48vw, 65px);
  box-shadow: var(--shadowGreen);
  z-index: 4;
}

.mediaThumb {
  position: absolute;
  border-radius: var(--radiusHero);
  overflow: hidden;
  box-shadow: var(--shadowStrong);
  object-fit: cover;
}

.videoThumb {
  width: clamp(138px, 18.4vw, 265px);
  height: clamp(181px, 25vw, 350px);
  top: 0;
  left: 15px;
  border-radius: clamp(20px, 5.48vw, 65px) clamp(20px, 5.48vw, 65px) 0 clamp(20px, 5.48vw, 65px);
}

.pickThumb {
  width: clamp(140px, 21.3vw, 306px);
  height: clamp(140px, 21.3vw, 304px);
  bottom: 0;
  right: 0;
  border-radius: 0 clamp(20px, 5.48vw, 65px) clamp(20px, 5.48vw, 65px) clamp(20px, 5.48vw, 65px);
}

.badge {
  position: absolute;
  bottom: 0;
  left: 15px;
  background: var(--primaryBlue);
  color: var(--white);
  border-radius: clamp(20px, 5.48vw, 65px) var(--radiusSm) clamp(20px, 5.48vw, 65px) clamp(20px, 5.48vw, 65px);
  padding: clamp(26px, 2.74vw, 40px) clamp(46px, 4.15vw, 61px);
  box-shadow: var(--shadow);
  text-align: left;
  z-index: 3;
}
.badgeTitle {
  font-size: clamp(13px, 1.65vw, 24px);
  opacity: 0.92;
  font-weight: 800;
}
.badgeValue {
  font-size: clamp(40px, 5.15vw, 75px);
  line-height: 1;
  margin-top: 6px;
}
/*#endregion ---------------------------------------------- */




/*#region =========   FEATURE RIBBON   ========================= */
.featureRibbon {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--white);
  box-shadow: 0 0 5px #dfdfe5;
  overflow: hidden;
}
.featureRibbonListWrapper {
  width: 100%;
  overflow: hidden;
}
.featureRibbonList {
  display: flex;
  justify-content: space-between;
  gap: 0;
  padding: 0;
  text-transform: uppercase;
  font-size: 14px;
  color: #60606e;
  letter-spacing: 0.14px;
}
.featureRibbonItem {
  padding: 24px 30px;
  border-right: 1px solid #dfdfe5;
  text-align: center;
  width: 100%;
}
.featureRibbonItem:nth-child(5):not(.copyForScroll) {
  border-right: 0 none;
}
.copyForScroll {
  display: none;
}
/*#endregion ---------------------------------------------- */




/*#region ========   HOW IT WORKS SECTION    ====================== */
.howItWorksSection {
  padding: 64px 0;
  background: var(--bgAlt) url("/cdn/img/how_pattern.png") no-repeat 94% 0;
  border-radius: 0 0 60px 60px;
  color: #0c0d28;
  position: relative;
  overflow: hidden;
  min-height: 952px;
}
.cardPanel {
  background: var(--white);
  border-radius: 60px;
  padding: 60px 90px;
  box-shadow: var(--shadow);
  position: relative;
}
.howItWorksHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}
.howItWorksTitleWrap {
  max-width: 440px;
}
.howItWorksAside {
  max-width: 380px;
  color: #4b5563;
  font-weight: 400;
  font-size: 16px;
}
.howItWorksAside strong {
  color: #0c0d28;
  font-weight: 600;
}
.howItWorksSteps {
  display: flex;
  gap: 30px;
  margin-top: 20px;
}
.stepCard {
  flex: 1 1 0;
  background: var(--white);
  padding: 22px 0;
  min-width: 150px;
  scroll-snap-align: start;
}
.stepIcon {
  width: 100px;
  height: 100px;
  margin-bottom: 14px;
}
.stepTitle {
  font-size: 21px;
  font-weight: 600;
}
.stepText {
  color: var(--textMuted);
  margin-top: 8px;
  font-size: 16px;
  font-weight: 300;
}

/* Inline CTA */
.inlineCta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin: 22px auto 0;
  justify-content: center;
}
.inlineCtaHeader {
  width: 100%;
  text-align: center;
  color: var(--white);
  font-size: 21px;
  margin-top: 8px;
  font-weight: 400;
}
.inlineCtaNote {
  width: 100%;
  text-align: center;
  color: var(--white);
  font-size: 13px;
  margin-top: 8px;
  font-weight: 200;
}

.emailWrapper {
  position: relative;
  width: 390px;
}
.howItWorksSection .inputField {
  background: transparent;
  padding: 0 95px 0 22px;
  border-radius: 999px;
  color: var(--white);
  text-overflow: ellipsis;
}
.howItWorksSection .inputField::placeholder {
  color: var(--white);
}
/*#endregion ---------------------------------------------- */




/*#region =======   WHY CHOOSE SECTION   ========================= */
.whyChooseSection {
  padding: 80px 0 100px;
}
.whyChooseSection .eyebrow,
.whyChooseSection .sectionTitle {
  text-align: center;
}
.whyChooseSection .sectionTitle {
  margin-bottom: 26px;
  font-size: clamp(25px, 4.0vw, 38px);
}
.whyChooseSection .sectionTitle strong {
  font-weight: 700;
}
.whyChooseGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  grid-auto-rows: minmax(145px, auto);
  padding-inline: 40px;
}
.metricCard,
.panelCard {
  background: #f5f9fa;
  border-radius: 20px;
  padding: 60px;
  box-shadow: var(--shadowSm);
}
.metricTitle {
  font-weight: 600;
  font-size: 23px;
  margin-bottom: 6px;
}
.metricValue {
  font-size: 85px;
  color: var(--accentGreen);
  font-weight: 900;
  display: inline-block;
  line-height: 1;
  background: var(--greenGradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.metricValueZero {
  background: #45FF98;
  background-clip: text;
}
.metricDesc {
  font-size: 16px;
  margin-top: 6px;
}

.panelCard svg {
  display: inline-block;
  margin-right: 10px;
}
.panelTitle {
  font-size: 23px;
  font-weight: 600;
}
.panelDesc {
  font-size: 15px;
}
.panelMap {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 24px;
  box-shadow: var(--shadow);
}
.panelMap .panelTitle {
  font-size: clamp(43px, 4.45vw, 65px);
  font-weight: 600;
  line-height: 60px;
  margin-bottom: 30px;
}
.panelMap .panelDesc {
  font-size: 26px;
  font-weight: 300;
}
.panelMapImage {
  flex: 1 1 auto;
  max-width: 470px;
}
.panelBlue,
.panelDark {
  color: var(--white);
  padding: 30px;
  box-shadow: var(--shadowSm);
}
.panelBlue {
  background: #2b40ff;
}
.panelDark {
  background: #0f1730;
}
.panelIcon {
  width: 18px;
  height: 22px;
}
/*#endregion ---------------------------------------------- */




/*#region =========   SERVE SECTION  ============================= */
.serveSection {
  padding: 80px 0 30px;
  background: var(--bgPanel);
  border-top: 1px solid #E2E2E2;
}
.serveGridWrapper {
  position: relative;
  padding-bottom: 50px;
}
.serveGrid {
  display: flex;
  gap: 24px;
  margin-top: 40px;
}
.tileCard {
  flex: 1;
  padding: 80px 60px;
  border-radius: 20px;
  transition: all 0.3s ease;
}
.tileCard:hover {
  transform: translateY(-4px);
}
.tileGreen {
  background: var(--accentGreen);
  border-radius: 20px 120px 20px 20px;
}
.tileDark {
  background: var(--bgDark);
  color: var(--white);
}
.tileLight {
  background: var(--bg);
  border: 1px solid var(--grayLight);
}
.tileTitle {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 8px;
}
.tileDesc {
  color: var(--textMuted);
  font-size: 16px;
}
.tileIcon {
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  fill: var(--accentGreen);
}
/*#endregion ---------------------------------------------- */




/*#region =========    INTEGRATION SECTION   ==================*/
.integrationSection {
  padding: 20px 0 240px;
  background: var(--bgPanel);
}
.integrationSection.whiteBg {
  background: var(--white);
}
.integrationSection.normalBottom {
  padding: 20px 0 100px;
  border-bottom: 1px solid #E2E2E2;
}
.integrationLogos {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.integrationRow {
  display: block;
}
.integrationMobile {
  display: none;
}
/*#endregion ---------------------------------------------- */




/*#region ======   Strip section   ================================*/
.stripSection {
  padding: 0 0 180px;
  background: var(--bgAlt) url("/cdn/img/how_pattern.png") no-repeat 94% 100%;
  border-radius: 60px 60px 0 0;
  margin-top: -60px;
}
.stripSection.noNote {
  padding: 0 0 60px;
}
.stripCard {
  background: transparent;
  padding: 40px;
  position: relative;
  display: flex;
  gap: clamp(5px, 6.83vw, 100px);
  align-items: center;
}
.stripText .eyebrow,
.stripText .sectionTitle,
.stripText .sectionSubtitle {
  color: var(--white);
}
.stripText .eyebrow {
  font-weight: 300;
}
.stripText .sectionTitle {
  font-size: clamp(25px, 2.65vw, 37px);
}
.stripText .sectionSubtitle {
  font-size: 22px;
  padding: 30px 0 60px;
}
.stripPhoto {
  flex: 1;
  border-radius: 65px 65px 65px 20px;
  overflow: hidden;
  margin-top: -120px;
  min-width: 380px;
  max-width: 520px;
}
.noteRaised {
  position: absolute;
  top: 75%;
  left: 70%;
  right: unset;
  background: var(--accentGreen);
  font-size: clamp(21px, 4.0vw, 38px);
  padding: clamp(40px, 3.8vw, 54px) clamp(48px, 4.5vw, 64px);
  color: #0c0d28;
  font-weight: 400;
  box-shadow: var(--shadowGreen);
}
/*#endregion ---------------------------------------------- */




/*#region ========   Features section    ===============================*/
.featuresSection {
  padding: 80px 0;
  background: var(--bgDark);
  color: var(--white);
  border-radius: 60px 60px 0 0;
  margin-top: -60px;
}
.featuresTitle {
  font-size: 100px;
  color: var(--accentGreen);
  display: inline-block;
  font-weight: 900;
  line-height: 1;
  background: var(--greenGradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.compare {
  display: flex;
  gap: 0;
  margin: -28px auto 0;
  background: url("/cdn/img/featuresBg.png") no-repeat 100% 100%;
  background-size: cover;
  border-radius: 20px;
  overflow: hidden;
  max-width: 950px;
}
.compareCol {
  flex: 1;
  padding: 40px;
}
.compareUntreepl {
  background: rgba(41, 255, 212, .1);
  backdrop-filter: saturate(180%) blur(6px);
  border-radius: 20px 0 0 20px;
}
.compareOther {
  background: rgba(255, 255, 255, .1);
  backdrop-filter: saturate(180%) blur(6px);
  border-radius: 0 20px 20px 0;
}
.compareTitle {
  font-size: 19px;
  font-weight: 600;
  margin-bottom: 20px;
  text-align: left;
  color: rgba(255, 255, 255, .7);
}
.featuresSubTitle {
  color: #8E8F9E;
  font-size: 13px;
  padding-top: 25px;
}
.compareUntreepl .compareTitle,
.featuresSubTitle .accented {
  color: var(--accentGreen);
}
.checkList li,
.crossList li {
  position: relative;
  padding: 14px 0 14px 32px;
  margin: 0;
  font-size: 15px;
  color: rgba(255, 255, 255, .7);
}
.checkList li:after,
.crossList li:after {
  content: '';
  position: absolute;
  left: 32px;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, .2);
  height: 1px;
}
.checkList li:last-of-type:after,
.crossList li:last-of-type:after {
  display: none;
}
.checkList li::before {
  content: url("/cdn/img/check.svg");
  position: absolute;
  left: 0;
  top: 13px;
  width: 23px;
  height: 23px;
}
.crossList li::before {
  content: url("/cdn/img/cross.svg");
  position: absolute;
  left: 0;
  top: 13px;
  width: 22px;
  height: 22px;
}
/*#endregion ---------------------------------------------- */




/*#region ========   FAQ section   ======================================= */
.faqSection {
  padding: 80px 0;
}
.faqSectionGrid {
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 100px;
}
.faqTitle .sectionTitle {
  font-size: clamp(25px, 2.65vw, 37px);
}
.accordion {
  display: flex;
  flex-direction: column;
  gap: 10px;;
}
.accordionItem {
  border: 1px solid var(--border);
  border-radius: 20px;
  transition: all 0.3s ease;
}
.accordionButton {
  width: 100%;
  padding: 20px;
  background: none;
  border: none;
  border-radius: 20px;
  text-align: left;
  font-size: 19px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.3s ease;
}
.accordionButton:hover {
  background-color: var(--bgAlt);
  color: var(--white);
}
.accordionIcon {
  font-size: 24px;
  transition: transform 0.3s ease;
}
.accordionItem[open] {
  background: rgba(54, 70, 245, 0.08);
}
.accordionItem[open] .accordionButton {
  border-radius: 20px 20px 0 0;
}
.accordionItem[open] .accordionIcon {
  transform: rotate(45deg);
}
.accordionPanel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  padding: 0 20px;
}
.accordionItem[open] .accordionPanel {
  max-height: 200px; /* Adjust based on content */
  padding: 20px;
}
.accordionPanel p {
  margin: 0;
  color: var(--textMuted);
  font-size: 17px;
  line-height: 1.5;
}
/*#endregion ---------------------------------------------- */



/*#region =======    CTA Green section   ======================= */
.ctaGreenSection {
  padding: 80px 0;
  margin: 30px 0 0;
}
.ctaGreenCard {
  background: var(--accentGreen);
  border-radius: 32px;
  padding: 100px 90px 80px;
  position: relative;
  display: flex;
  gap: 40px;
  align-items: center;
  box-shadow: var(--shadowStrong);
}
.ctaGreenText {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
  gap: 24px;
}
.ctaTextRow {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
}
.ctaGreenText .sectionTitle {
  font-weight: 600;
   max-width: 46%;
}
.ctaGreenText .sectionSubtitle {
  max-width: 30%;
}
.ctaGreenGoods {
  position: absolute;
  top: -100px;
  right: 50px;
  display: flex;
  gap: 10px;
  background-image: url('/cdn/img/ctaGreenCardShadow.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: -10px 100px;
}
.ctaGreenGoods img {
  width: 471px;
  height: 344px;
  object-fit: cover;
}
/*#endregion ---------------------------------------------- */



/*#region ============    FOOTER   ============================ */
.siteFooter {
  background: var(--grayLight);
  padding: 120px 0 20px;
  border-radius: 60px 60px 0 0;
}
.logoFooter {
  margin-bottom: 40px;
}
.logoFooter .logoMark {
  width:147px;
  height:167px;
  background-image: url("/cdn/img/logo_footer_d.svg");
}
.footerGrid {
  display: grid;
  grid-template-columns: 2fr 2fr;
  gap: 40px;
  margin-bottom: 40px;
}
.footerLinkGrid {
   display: grid;
   grid-template-columns: minmax(200px, 1fr) minmax(200px, 1fr);
   gap: 40px;
}
.footerBrand {
  text-align: center;
  margin-bottom: 40px;
  text-align: left;
}
.footerCopy {
  color: var(--text);
  font-size: 14px;
  margin-top: 16px;
  max-width: 280px;
}
.footerTitle {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 16px;
  color: rgba(0, 0, 0, 0.3);
}
.footerList {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.footerList a {
  color: var(--text);
  font-size: 14px;
  transition: all 0.3s ease;
}
.footerList a:hover {
  color: #1b4bff;
}
.socialList {
  display: flex;
  gap: 16px;
  justify-content: left;
  margin-top: 16px;
}
.socialIcon {
  width: 22px;
  height: 22px;
  fill: var(--text);
  opacity: 0.4;
  transition: all 0.3s ease;
}
.socialIcon:hover {
  fill: var(--primaryBlue);
}
.footerLegal {
  text-align: center;
  border-top: 1px solid #C7CFCF;
  padding-top: 20px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.footerLegal p {
  color: var(--gray);
  font-size: 13px;
  line-height: 24px;
}
.footerLinks {
  display: flex;
  justify-content: center;
  gap: 24px;
}
.footerLinks a {
  color: var(--gray);
  font-size: 13px;
  transition: all 0.3s ease;
}
.footerLinks a:hover {
  color: var(--primaryBlue);
}
/*#endregion ---------------------------------------------- */



/*#region Responsive (additions for mobile stack, carousel snap, etc.) */
@media screen and (max-width: 619px) {

  .mainContainer {
    padding-inline: 20px;
  }

  
  .heroSection {
    background-size: cover;
    padding-top: 0;
  }
  .heroRow {
    flex-direction: column-reverse;
    gap: 32px;
    text-align: center;
  }
  .heroMedia {
    flex: none;
  }
  .noteGreen {
    top: 10%;
    right: 21%;
  }
  .badge {
    bottom: 10%;
    left: 20%;
  }
  .videoThumb {
    top: 30%;
    left: unset;
    right: 0;
  }
  .pickThumb {
    right: unset;
    bottom: 30%;
    left: 0;
  }


  .navMenu {
    display: none;
  }
  .mobileMenuToggle {
    display: block;
  }
  .headerCta {
    display: none;
  }



  .featureRibbonListWrapper {
    width: max-content;
    animation: scrolling linear 22s infinite;
  }
   .featureRibbonListWrapper::-webkit-scrollbar {
    display: none;
   }
  .featureRibbonListWrapper:hover,
  .featureRibbonListWrapper:focus-within {
    animation-play-state: paused;
  }
  .featureRibbonItem {
    white-space: nowrap;
  }
  .featureRibbonItem:nth-child(5):not(.copyForScroll) {
    border-right: 1px solid #dfdfe5;
  }
  .copyForScroll {
    display: block;
  }
  @keyframes scrolling {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
  }



  .howItWorksSteps {
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
  }
  .howItWorksSteps::-webkit-scrollbar {
    display: none;
  }
  .cardPanel {
    padding: 30px;
    border-radius: 20px;
  }
  .howItWorksHeader {
    flex-direction: column;
  }
  .inlineCtaNote {
    font-size: 11px;
  }
  .emailWrapper {
    width: 100%;
  }
  .stepCard {
    flex: 0 0 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    padding: 22px 0 35px;
  }
  .indicators.howIndicators {
    display: flex;
  }




  .whyChooseGrid {
    grid-template-columns: 1fr;
    padding-inline: 0;
    gap: 16px;
  }
  .metricCard {
    padding: 30px;
  }
  .metricValue {
    font-size: 85px;
    line-height: 1.2;
  }
  .panelMap {
    flex-direction: column-reverse;
  }



  

  .serveGrid {
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
  }
  .serveGrid::-webkit-scrollbar {
    display: none;
  }
  .tileCard {
    flex: 0 0 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    padding: 60px 40px;
  }
  .tileCard:hover {
    transform: none;
  }
  .indicators.serveIndicators {
    display: flex;
  }





  
  .integrationSection {
    padding: 20px 0 130px;
  }
  .integrationRow {
    display: none;
  }
  .integrationMobile {
    display: block;
    margin-top: 50px;
  }






  .stripSection {
    padding: 0 0 60px;
  }
  .stripCard {
    flex-direction: column;
    gap: 24px;
    position: relative;
    padding: 40px 20px 280px;
  }
  .stripText {
    padding-top: 50px;
    text-align: center;
  }
  .stripText .eyebrow {
    margin-bottom: 40px;
  }
  .stripPhoto {
    margin-top: 0;
    max-width: 230px;
    min-width: 230px;
    border-radius: 20px 20px 20px 5px;
    position: absolute;
    left: 4%;
    bottom: -18px;
  }
  .stripSection.noNote .stripCard {
    padding-bottom: 50px;
    padding-top: 190px;
  }
  .stripSection.noNote .stripPhoto {
    left: 50%;
    bottom: unset;
    top: -5%;
    transform: translateX(-50%);
  }
  .noteRaised {
    top: unset;
    left: unset;
    right: 4%;
    bottom: -32px;
  }





  .featuresTitle,
  .compareOther {
    display: none;
  }
  .compare {
    flex-direction: column;
    gap: 16px;
    margin-top: -10px;
    width: 100%;
  }
  .featuresSubTitle {
    font-size: 12px;
  }
  .checkList li {
    font-size: 13px;
  }
  .compareCol {
    padding: 24px;
  }







  .faqSectionGrid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .faqTitle .sectionTitle,
  .faqTitle .sectionSubtitle {
    text-align: center;
  }
  .accordionButton {
    padding: 20px;
    min-height: 44px;
    font-size: 13px;
  }
  .accordionPanel {
    padding: 0 20px 20px;
  }
  .accordionPanel p {
    font-size: 12px;
  }







  .ctaGreenSection {
    margin: 0;
    padding: 30px 0 80px;
  }
  .ctaGreenCard {
    flex-direction: column;
    gap: 24px;
    text-align: center;
    padding: 150px 20px 85px;
  }
  .ctaTextRow {
    flex-direction: column;
    gap: 34px;
  }
  .ctaGreenText .sectionTitle {
    max-width: unset;
  }
  .ctaGreenText .sectionSubtitle {
    max-width: unset;
  }
  .ctaGreenGoods {
    right: 50%;
    top: -60px;
    transform: translateX(50%); 
    background-image: url('/cdn/img/ctaGreenCardShadowSmall.png');
    background-position: -10px 30px;
  }
  .ctaGreenGoods img {
    max-width: 256px;
    max-height: 185px;
  }


  .logoFooter,
  .footerCopy {
    align-self: center;
  }
  .logoFooter .logoMark {
    width:79px;
    height:85px;
    background-image: url("/cdn/img/logo_footer_m.svg");
  }
  .footerGrid,
  .footerLinkGrid {
    grid-template-columns: 1fr;
  }
  .order1 {
    order: 1;
  }
  .order2 {
    order: 2;
  }
  .order3 {
    order: 3;
  }
  .order4 {
    order: 4;
  }
  .footerBrand {
    display: flex;
    grid-column: auto;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    margin-bottom: 0;;
  }
  .footerBrand .footerTitle,
  .footerBrand .footerCopy {
    display: none;
  }
  .footerCol {
    text-align: center;
  }
  .footerList a,
  .footerList li {
    font-size: 12px;
  }
  .socialList {
    justify-content: center;
  }
  .footerLegal {
    flex-direction: column;
  }
  .footerLegal p {
    font-size: 12px;
  }
  .footerLinks {
    flex-direction: row;
    gap: 11px;
  }
  .footerLinks a {
    font-size: 10px;
  }
}
/*#endregion ---------------------------------------------- */




/*#region =================  FOR BRANDS  ============================================== */


/*#region ==========  Hero variations   ======================= */
.heroSectionBrands {
  background-image: url(/cdn/img/BG_Brand.png);
}
.noteTerm {
  position: absolute;
  right: 10px;
  top: -10px;
  background: var(--accentGreen);
  color: #0c0d28;
  font-size: clamp(15px, 1.7vw, 23px);
  font-weight: 900;
  line-height: 1.1;
  text-align: left;
  padding: clamp(25px, 3.7vw, 50px) clamp(20px, 2.9vw, 40px) clamp(20px, 2.9vw, 40px);
  border-radius: clamp(20px, 5.48vw, 65px) var(--radiusSm) clamp(20px, 5.48vw, 65px) clamp(20px, 5.48vw, 65px);
  box-shadow: var(--shadowGreen);
  z-index: 4;
}
.noteSupplies {
  position: absolute;
  top: 25%;
  right: 0;
  z-index: 2;
  background: var(--bgAlt);
  color: #96CEFF;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 900;
  font-size: clamp(9px, 0.95vw, 13px);
  text-align: left;
  padding: clamp(23px, 3.4vw, 46px) clamp(30px, 4.3vw, 60px) clamp(23px, 3.4vw, 46px) clamp(25px, 3.7vw, 50px);
  border-radius: clamp(20px, 5.48vw, 65px) var(--radiusSm) clamp(20px, 5.48vw, 65px) clamp(20px, 5.48vw, 65px);
}
.noteSupplies span {
  font-size: clamp(18px, 1.7vw, 32px);
  font-weight: 200;
  vertical-align: top;
  color: var(--white);
}
.noteSupplies span strong {
  font-size: clamp(34px, 4.9vw, 60px);
  line-height: 1;
  font-weight: 300;
  color: var(--white);
}
.noteSupplies b {
  font-size: clamp(17px, 1.7vw, 24px);
  font-weight: 900;
  color: var(--white);
  text-transform: none;
}
.noteProof {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: rgba(20, 149, 126, 0.35);
  backdrop-filter: saturate(180%) blur(6px);
  color: var(--white);
  font-size: clamp(17px, 1.7vw, 24px);
  font-weight: 900;
  text-align: left;
  padding: clamp(20px, 2.9vw, 40px) clamp(60px, 7.2vw, 90px) clamp(20px, 2.9vw, 40px) clamp(30px, 4.3vw, 60px);
  border-radius: clamp(20px, 5.48vw, 65px) var(--radiusSm) clamp(20px, 5.48vw, 65px) clamp(20px, 5.48vw, 65px);
}
.noteProof svg {
  width: 32px;
  height: 32px;
  position: absolute;
  top: 20px;
  right: 25px;
}
.brandMedia {
  width: clamp(148px, 23.4vw, 335px);
  height: clamp(246px, 38vw, 555px);
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: clamp(20px, 5.48vw, 65px) clamp(20px, 5.48vw, 65px) clamp(20px, 5.48vw, 65px) var(--radiusSm);
}


@media (max-width: 619px) {
  
  .noteTerm {
    top: 5%;
    right: 10%;
    padding: 25px;
  }
  .noteSupplies {
    top: 28%;
    right: 5%;
    padding: 23px 30px 23px 25px;
  }
  .noteProof {
    bottom: 10%;
    right: 10%;
    padding: 20px 60px 20px 30px;
  }
  .noteProof svg {
    width: 19px;
    height: 19px;
    top: 15px;
    right: 15px;
  }
  .brandMedia {
    top: 15%;
    left: 5%;
  }

}
/*#endregion ---------------------------------------------- */





/*#region ==========  How It Works for Retailers (no inline form, 4 steps)  =================*/
.howItWorksRetailers {
  padding: 120px 0;
  background: var(--bgAlt);
}
.howItWorksRetailers .eyebrow {
  color: var(--white);
  text-transform: uppercase;
}
.howItWorksRetailers .sectionTitle {
  font-weight: 700;
  color: var(--white);
}
.retailerGrid {
  display: flex;
  flex-direction: row;
  gap: 50px;
  justify-content: space-between;
}
.stepsDesktopWrapper {
  display: flex;
  flex-direction: column;
}
.stepsDesktop {
  display: flex;
  gap: 5px;
  margin-bottom: 20px;
}
.howItWorksRetailers .stepCard {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 25px 25px 10px;
  width: 200px;
  max-height: 155px;
  border-radius: 30px;
  display: grid;
  vertical-align: top;  
  text-align: center;
  transition: all 0.4s ease;
  position: relative;
}
.stepBubble {
  margin: 0 auto;
}
.stepLabel {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.32px;
  color: rgba(12, 13, 40, 0.4);
  position: absolute;
  left: 20px;
  top: 25px;
  opacity: 0;
  transition: all 0.4s ease;
}
.howItWorksRetailers .stepText {
  font-size: 16px;
  font-weight: 700;
  color: var(--white);
  transition: all 0.4s ease;
}
.howItWorksRetailers .stepCard.active {
  background: var(--white);
  box-shadow: 0 10px 30px rgba(0,0,0,.45);
}
.howItWorksRetailers .stepCard::after {
  content: '';
  display: block;
  position: absolute;
  bottom: -9px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px 16px 0 16px;
  border-style:  solid;
  border-color: #fff transparent transparent transparent;
  transition: all 0.4s ease;
  opacity: 0;
}
.howItWorksRetailers .stepCard.active::after {
  opacity: 1;
}
.howItWorksRetailers .stepCard.active .stepLabel { opacity: 1; }
.howItWorksRetailers .stepCard.active .iconGray { opacity: 0; }
.iconColor { opacity: 0; position: absolute; }
.howItWorksRetailers .stepCard.active .iconColor { opacity: 1; }
.howItWorksRetailers .stepCard.active .stepText { 
  opacity: 1;
  color: var(--text);
}
.sliderDots {
  justify-content: left;
  gap: 12px;
  margin: 40px 0 0;
  display: none;
}
.sliderDots .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  transition: all 0.3s;
}
.sliderDots .dot.active {
  background: white;
  transform: scale(1.2);
}


.stepDescriptionWrapper {
  padding: 20px 0 0 20px;
}
.stepDescription {
  display: none;
  font-size: 21px;
  font-weight: 300;
  color: var(--white);
  max-width: 680px;
  min-height: 63px;
  margin: 0;
  opacity: 0;
  animation: fadeIn 0.8s forwards;
}
.stepDescription[data-desc="1"] { display: block; }


@media (max-width: 1200px) {
  .retailerGrid {
    flex-direction: column;
    padding: 0 20px;
  }
}

@media (max-width: 619px) {
  .howItWorksRetailers {
    padding: 90px 0 60px;
  }
  .stepsDesktop {
    flex-direction: row;
    width: 100%;
    scroll-snap-type: x mandatory;
    overflow-x: auto;
    /* -webkit-overflow-scrolling: touch; */
    scroll-behavior: smooth;
    gap: 24px;
    padding: 0 0 16px;
  }
  .stepsDesktop::-webkit-scrollbar {
    display: none;
  }
  .howItWorksRetailers .stepCard {
    flex: 0 0 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .howItWorksRetailers .stepCard.active {
    box-shadow: none;
  }

  .stepDescription {
    min-height: 95px;
  }
  .sliderDots {
    display: flex;
  }
  .stepDescriptionWrapper {
    padding: 20px 0 0 0;
  }

}

@keyframes fadeIn {
  to { opacity: 1; }
}
/*#endregion ---------------------------------------------- */




/*#region ==============  No Hidden Fees block  ===========================*/
.noFeesBlock {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 24px;
  border: none;
  border-radius: 20px;
  background: var(--bgPanel);
  box-shadow: var(--shadow);
  padding: 60px;
}
.noFeesTitle {
  margin-bottom: 24px;
  font-size: clamp(36px, 5.4vw, 75px);
  color: var(--accentGreen);
  display: inline-block;
  font-weight: 700;
  line-height: 1;
  background: var(--greenGradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.noFeesPatterns {
  display: block;
  width: 100%;
  max-width: 450px;
}
.noFeesPatterns .pattern {
  color: #0c0d28;
  width: fit-content;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  padding: 10px 28px;
  border-radius: 999px;
  margin: 0 16px 16px 0;
}
.pattern.patternOne {
  border: 3px solid #A3D6CC;
  background-image: url(/cdn/img/no_fee_pattern.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.pattern.patternTwo {
  border: 3px solid #A6FBC0;
  background-image: url(/cdn/img/no_fee_pattern2.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.pattern.patternThree {
  border: 3px solid transparent;
  border-radius: 999px;
  background: linear-gradient(white, white) padding-box,
              linear-gradient(to right, #A8B5BD, #44FC9A) border-box; 
}
.pattern.patternFour {
  color: var(--white);
  background: var(--black);
  border: 3px solid var(--black);
  align-self: flex-end;
}

.dedicatedShipper,
.fullTransparency {
  border-radius: 20px;
  padding: 30px;
  color: var(--white);
}
.dedicatedShipper {
  background: #090909;
}
.fullTransparency {
  background-color: rgba(20, 149, 126, 0.4);
  background-image: url(/cdn/img/no_fee_pattern.png);
  background-size: cover;
  background-repeat: no-repeat;
}

@media (max-width: 619px) {
  .noFeesBlock {
    flex-direction: column;
    padding: 60px 20px;
  }
  .noFeesPatterns {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .noFeesTitle {
    display: block;
    text-align: center;
  }
  .noFeesPatterns .pattern {
    margin: 0 auto 16px;
    display: block;
  }

}
/*#endregion ---------------------------------------------- */



/*#region ==============  Dashboard section  ============================*/
.dashboardSection {
  padding: 80px 0;
  background: var(--white);
  border-top: 1px solid #E2E2E2;
}
.dashboardSection .sectionSubtitle {
  font-size: clamp(17px, 2.1vw, 26px);
}
.dashboardSection .sectionSubtitle b {
  color: var(--bgAlt);
  font-weight: 600;
}
.dashboardMocks {
  margin-top: 40px;
  height: 604px;
  background: url('/cdn/img/clouds_connec.png') no-repeat top center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.dashboardMocks .accentDarkButton {
  height: 55px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6);
}
/*#endregion ---------------------------------------------- */




/*#region ===================  Pricing Calculator  =================*/
.pricingCalculatorSection {
  padding: 80px 0 140px;
  background: #E0E9E9;
  border-radius: 60px 60px 0 0;
  margin-bottom: -60px;
}

.calculatorTitleWrap{
  display: flex;
  flex-direction: row;
  padding-inline: 60px;
  justify-content: space-between;
  margin-bottom: 30px;
}
.calculatorTitle .sectionTitle {
  font-weight: 700;
}
.costOutput {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
}
.costOutput .sectionTitle {
  font-weight: 500;
  color: var(--bgAlt);
}
.costLabel {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
}

.calculatorCard {
  border-radius: var(--radiusXl);
  border: 1px solid #C4CDCD;
  padding: 60px 30px;
}
.calculatorForm {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.calculatorForm .formRow {
  grid-template-columns: 1fr 3fr;
  gap: 50px;
}
.insideFormRow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: baseline;
}

.calculatorCard .accentDarkButton {
  height: 48px;
  padding: 0 22px;
  font-size: 13px;
  font-weight: 600;
}

.calculatorNote {
  font-size: 13px;
  color: rgba(75, 85, 99, 0.6);
}
.calculatorNote strong {
  display: block;
  color: #111827;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 4px;
}

@media (max-width: 619px) {

  .calculatorTitleWrap{
    flex-direction: column;
    gap: 40px;
    padding-inline: 30px;
    align-items: center;
    text-align: center;
  }
  .costOutput{
    align-items: center;
  }
  .calculatorForm .formRow {
    grid-template-columns: 1fr;
    gap: 24px;
    text-align: center;
  }
  .insideFormRow {
    grid-template-columns: 1fr;
  }

}
/*#endregion ---------------------------------------------- */




/*#region ===============  Serve Products (icons row)  ========================*/
.serveProducts {
  margin-bottom: 60px;
  border-top: none;
  border-bottom: 1px solid #E2E2E2;
  border-radius: 60px 60px 0 0;
}
.serveProducts .serveProductsTitle {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 40px;
}
.serveProducts .serveProductsTitle,
.serveProducts .eyebrow {
  padding-inline: 70px;
}
.serveActions {
  text-align: right;
}
.serveActions .accentDarkButton {
  height: 48px;
  padding: 0 22px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 10px;
}
.productIconsRowWrapper {
  position: relative;
  padding-bottom: 30px;
}
.productIconsRow {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 40px;
  margin: 80px 0 40px;
}

.productItem {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.productIcon {
  width: 135px;
  height: 176px;
  object-fit: contain;
  flex-shrink: 0;
  scroll-snap-align: center;
}
.productTitle {
  color: #4B5563;
  font-size: 13px;
  font-weight: 400;
}


@media (max-width: 619px) {

  .serveProducts .serveProductsTitle {
    flex-direction: column;
  }
  .serveProducts .serveProductsTitle,
  .serveProducts .eyebrow {
    padding-inline: 30px;
  }
  .serveActions {
    text-align: left;
  }
  .serveActions .accentDarkButton {
    margin-bottom: 25px;
  }
  .productIconsRow {
    width: 100%;
    justify-content: left;
    scroll-snap-type: x mandatory;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 20px;
    padding: 0 0 16px;
  }
  .productIconsRow::-webkit-scrollbar {
    display: none;
  }
  .productItem {
    flex: 0 0 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .productIconsIndicators {
    display: flex;
  }
}
/*#endregion ---------------------------------------------- */
/*#endregion ---------------------------------------------- */







/*#region =================  FOR SHIPPERS  ============================================== */

/*#region ==========  Hero variations   ======================= */
.heroSectionShippers {
  background-image: url(/cdn/img/BG_Brand.png);
}

.noteCapacity {
  position: absolute;
  left: 6%;
  bottom: 6%;
  background: rgba(20, 149, 126, 0.1);
  backdrop-filter: saturate(180%) blur(6px);
  color: var(--white);
  font-size: clamp(17px, 2.3vw, 30px);
  font-weight: 900;
  text-align: left;
  padding: clamp(20px, 2.9vw, 40px) clamp(60px, 7.2vw, 90px) clamp(20px, 2.9vw, 40px) clamp(30px, 4.3vw, 60px);
  border-radius: clamp(20px, 5.48vw, 65px) var(--radiusSm) clamp(20px, 5.48vw, 65px) clamp(20px, 5.48vw, 65px);
}
.noteCapacity span {
  font-size: clamp(18px, 1.7vw, 32px);
  font-weight: 200;
  vertical-align: top;
  color: var(--white);
}
.noteCapacity span strong {
  font-size: clamp(34px, 4.9vw, 60px);
  line-height: 1;
  font-weight: 300;
  color: var(--white);
}

.noteVolume {
  position: absolute;
  top: 0;
  right: 10px;
  background: var(--bgDark);
  color: var(--white);
  font-size: clamp(15px, 2vw, 26px);
  font-weight: 900;
  line-height: 1;
  text-align: left;
  z-index: 2;
  padding: clamp(23px, 3.4vw, 46px) clamp(60px, 7.2vw, 90px) clamp(23px, 3.4vw, 46px) clamp(30px, 4.3vw, 60px);
  border-radius: clamp(20px, 5.48vw, 65px) var(--radiusSm) clamp(20px, 5.48vw, 65px) clamp(20px, 5.48vw, 65px);
}
.noteVolume svg {
  display: inline-block;
  margin-bottom: 25px;
  white-space: nowrap;
  width: clamp(23px, 3.5vw, 48px);
  height: clamp(27px, 3.8vw, 55px);
}

.shippersMedia {
  width: clamp(134px, 19vw, 265px);
  height: clamp(175px, 25vw, 348px);
  top: 20px;
  left: 10px;
  z-index: 0;
  border-radius: clamp(20px, 5.48vw, 65px);
}
.shippersMediaSecond {
  width: clamp(155px, 21vw, 307px);
  height: clamp(154px, 21vw, 305px);
  bottom: 10px;
  right: 10px;
  z-index: 0;
  border-radius: clamp(20px, 5.48vw, 65px);
}


@media (max-width: 619px) {
  
  .noteVolume {
    top: 15%;
    right: 5%;
  }
  .noteCapacity {
    bottom: 15%;
    left: 9%;
  }
  .noteVolume svg {
    width: 23px;
    height: 27px;
    margin-bottom: 15px;
  }
  .shippersMediaSecond {
    bottom: 10%;
    right: 9%;
  }
  .shippersMedia {
    top: 18%;
    left: 10%;
  }

}
/*#endregion ---------------------------------------------- */





/*#region ========  How It Works for Shippers  =======================*/
.howItWorksShippers {
  padding: 30px 0 clamp(120px, 14vw, 200px);
  background: var(--text) url(/cdn/img/how_pattern.png) no-repeat bottom center;
  background-size: contain;
  border-radius: 0 0 60px 60px;
  position: relative;
  overflow: hidden;
  min-height: 952px;
}
.howItWorksShippers .howItWorksShippersTitle {
  background: transparent;
  padding: 30px 40px 60px;
}
.howItWorksShippersTitle .eyebrow {
  color: var(--accentGreen);
}
.howItWorksShippersTitle .sectionTitle {
  color: var(--white);
}
.howItWorksShippersTitle .sectionTitle strong,
.howItWorksShippersTitle .howItWorksAside {
  color: #999;
}
.howItWorksShippersTitle .sectionTitle strong {
  display: block;
  font-weight: 700;
}


.wideContainer {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
}

.mainPanelWrapper {
  border-top: 1px solid rgba(255,255,255,.15);
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.howItWorksShippersStepsWrapper {
  display: flex;
  flex-direction: row;
  padding-left: 6%;
}
.howItWorksShippersSteps {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.partnerProgram {
  background-image: url(/cdn/img/shippers_bg_opacity_new1.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right center;
  display: flex;
  align-items: center;
  padding: 40px 0;
}


.howItWorksShippers .stepLine {
  background: transparent;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  width: 100%;
  padding: 24px;
  display: flex;
  flex-direction: row;
  gap: 25px;
}
.howItWorksShippers .stepLine:last-child {
  border-bottom: none;
}
.stepLineNumber {
  color: #999;
  font-size: clamp(34px, 3vw, 43px);
  font-weight: 100;
  padding: 0 10px;
  display: flex;
  justify-content: center;
  align-self: center;
  min-width: 53px;
}
.stepLineTextWrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
  align-self: center;
}
.stepLineTitle {
  color: var(--white);
  font-size: clamp(17px, 2vw, 21px);
  font-weight: 700;
}
.stepLineText {
  color: #999;
  font-size: clamp(13px, 2.2vw, 21px);
  font-weight: 300;
}
.stepPaid .stepLineNumber {
  font-size: 21px;
  color: var(--accentGreen);
  font-weight: 300;
}
.stepPaid .stepLineTitle {
  color: var(--accentGreen);
}




.howItWorksShippers .inlineCta {
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-top: 80px;
}
.howItWorksShippers .inlineCtaNote {
  color: rgba(255, 255, 255, 0.4);
  font-size: clamp(10px, 1.3vw, 14px);
  font-weight: 300;
}

@media (max-width: 619px) {

  .mainPanelWrapper {
    border-top: none;
  }
  .howItWorksShippersStepsWrapper {
    flex-direction: column-reverse;
    gap: 20px;
  }
  .howItWorksShippersStepsWrapper {
    padding-left: 0;
  }
  .howItWorksShippers .stepLine {
    flex-direction: column;
  }
  .howItWorksShippers .stepLine:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
  }
  .stepLineTextWrap {
    text-align: center;
  }
  .partnerProgram {
    height: 450px;
    padding: 0;
    /* background-position: right -40px center; */
    background-position: right 30px center;

  }
  .stepNumber {
    position: static;
    margin-bottom: 8px;
  }
}
/*#endregion ---------------------------------------------- */





/*#region ===============  Requirements section  =======================*/
.requirementsSection {
  padding: 140px 0 30px;
  margin-top: -60px;
  background: var(--bgPanel);
  border-bottom: 1px solid #E2E2E2;
}
.requirementsGridWrapper {
  position: relative;
  padding-bottom: 50px;
}
.requirementsGrid {
  display: flex;
  gap: 24px;
  margin-top: 40px;
}
.requirementCard {
  flex: 1;
  padding: 80px 60px;
  border-radius: 20px;
  transition: all 0.3s ease;
}
.requirementCard:hover {
  transform: translateY(-4px);
}
.requirementTitle {
  color: var(--text);
  font-size: 23px;
  font-weight: 700;
  margin: 26px 0 16px;
}
.requirementDesc {
  color: var(--text);
  font-size: 14px;
  line-height: 1.5;
}
.requirementDescNote {
  color: var(--text);
  font-size: 11px;
  margin-top: 40px;
}

.requirementEmpty {
  background: var(--text);
}
.requirementEmpty .requirementTitle,
.requirementEmpty .requirementDesc {
  color: var(--white);
}
.requirementInsurance {
  background: rgba(59, 130, 246, 0.1);
  border-radius: 20px 60px 20px 20px;
}
.requirementDriver {
  background: var(--accentGreen);
  padding: 80px 60px 30px;
  border-radius: 60px 20px 60px 60px;
}

@media (max-width: 619px) {

  .requirementsGrid {
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
  }
  .requirementsGrid::-webkit-scrollbar {
    display: none;
  }
  .requirementCard {
    flex: 0 0 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    padding: 60px 40px;
  }
  .requirementCard:hover {
    transform: none;
  }
  .indicators.requirementIndicators {
    display: flex;
  }

}
/*#endregion ---------------------------------------------- */






/*#region ===============  Platform section  ==========================*/
.platformSection {
  padding: 80px 0;
  background: var(--white);
}
.platformSection .sectionSubtitle {
  font-size: clamp(17px, 2.1vw, 26px);
}
.platformSection .sectionSubtitle b {
  color: var(--bgAlt);
  font-weight: 600;
}
.platformMocks {
  margin-top: 40px;
  height: 630px;
  background: url('/cdn/img/clouds_shipping.png') no-repeat top center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.platformMocks .accentButton {
  height: 55px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6);
}
/*#endregion ---------------------------------------------- */

/*#endregion ---------------------------------------------- */









/*#region =================  PRICING  ============================================== */



/*==========  Hero variations   ================= */
.heroSectionPricing {
  background-image: url("/cdn/img/BG_Price.png");
}
.heroSectionPricing .heroContent {
  flex: none;
  max-width: 100%;
  text-align: center;
  padding: 80px 0;
}
.heroSectionPricing .heroSubtitle {
  margin: 50px auto;
  font-size: clamp(17px, 2.1vw, 26px); 
}

/*============  Plan section ==================== */
.planSection {
  padding: 0 0 10px;
  background: var(--black);
  color: rgba(255, 255, 255, .7);
  border-radius: 0 0 60px 60px;
}
.planCard {
  background: var(--black);
  padding: 100px 0;
  border-radius: 0 0 60px 60px;
  text-align: center;
}
.cyanTitle {
  font-size: 36px;
  color: var(--accentGreen);
  display: inline-block;
  font-weight: 900;
  line-height: 1;
  background: var(--greenGradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.planCard .sectionSubtitle {
  color: rgba(255, 255, 255, .7);
}
.planSizes {
  display: flex;
  border-radius: var(--radiusLg);
  gap: 0;
  justify-content: center;
  margin: 60px 0;
}
.planSize {
  flex: 1;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 40px;
  color: var(--white);
  border: 1px solid #2D2D2D;
  transition: all 0.3s ease;
}
.planMeta {
  text-align: left;
  display: flex;
  flex-direction: column;
}
.planSizeTitle {
  font-size: 26px;
  font-weight: 600;
}
.planSizeDesc {
  font-size: 18px;
  font-weight: 400;
}
.planPrice {
  font-size: 13px;
  line-height: 23px;
  font-weight: 400;
  color: rgba(255,255,255,.8);
}
.planCube {
  display: flex;
}
.smallPlan {
  border-radius: var(--radiusLg) 0 0 var(--radiusLg);
}
.largePlan {
  border-radius: 0 var(--radiusLg) var(--radiusLg) 0;
}


.planFeatures {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
  max-width: 450px;
  margin: 40px auto;
  text-align: left;
  transform: translateX(70px);
}
.planFeatures li {
  position: relative;
  padding: 4px 0 4px 32px;
  font-size: 18px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.7);
}
.planFeatures li::before {
  content: url(/cdn/img/check.svg);
  position: absolute;
  left: 0;
  top: 5px;
  width: 23px;
  height: 23px;
}
.planActions {
  margin: 10px 0;
}


/*====================  Features Comparison ================== */
.featuresComparison {
  padding: 100px 0 40px;
  background: var(--white);
  color: var(--text);
  margin-top: 0;
}
.featuresComparison .compare {
  background: var(--white);
  border: 1px solid #C4CDCD;
  overflow: hidden;
  margin: 40px auto;
}
.featuresComparison .compareUntreepl {
  background: var(--white);
}
.featuresComparison .compareUntreepl .compareTitle {
  color: var(--bgAlt);
} 
.featuresComparison .compareOther {
  background: #F5F9FA;
  backdrop-filter: saturate(430%) blur(6px);
}
.featuresComparison .compareOther .compareTitle {
  color: var(--text);
}
.featuresComparison .checkList li,
.featuresComparison .crossList li {
  color: var(--text);
}
.featuresComparison .checkList li {
  font-weight: 600;
}
.featuresComparison .checkList li::before {
  content: url(/cdn/img/check-gradient.svg);
}
.featuresComparison .crossList li::before {
  content: url(/cdn/img/cross-gray.svg);
}
.featuresComparison .checkList li:after,
.featuresComparison .crossList li:after {
  background: #C3D4D4;
}



/* Mobile adjustments for pricing  */
@media (max-width: 619px) {
  .planSizes {
    flex-direction: column;
  }
  .planSize {
    max-width: 100%;
    padding: 40px 25px;
  }
  .smallPlan {
    border-radius: var(--radiusLg) var(--radiusLg) 0 0;
  }
  .largePlan {
    border-radius: 0 0 var(--radiusLg) var(--radiusLg);
  }
  .planSizeTitle {
    font-size: 21px;
  }
  .planSizeDesc {
    font-size: 14px;
  }
  .planPrice {
    font-size: 12px;
  }
  .planFeatures {
    max-width: 100%;
    transform: none;
    padding-inline: 40px;
  }
  .featuresComparison .compare {
    margin: 20px 0;
  }
}
/*#endregion ---------------------------------------------- */







/*#region =================  CONTACTS  ============================================== */
.contactSection {
  padding: 80px 0;
  background-image: url(/cdn/img/BG_Contact.png);
  background-position: top right;
  border-bottom: 1px solid #E2E2E2;
}
.contactRow {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 760px;
  margin: 0 auto;
  gap: 40px;
}
.contactContent {
  text-align: center;
  width: 100%;
}
.contactUIcon {
  display: block;
  margin: 0 auto 40px;
  width: 31px;
  height: 38px;
}
.contactContent .heroSubtitle {
  margin: 0 auto;
}
.contactForm {
  display: grid;
  gap: 24px;
  width: 100%;
  padding: 40px;
  margin-top: 20px;
}
.formRow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.textareaField {
  grid-column: 1 / -1;
}
.contactForm .inputField:focus,
.contactForm .selectField:focus,
.contactForm .textareaField:focus {
  box-shadow: var(--shadowStrong);
}
.contactSection + .ctaGreenSection {
  margin: 70px 0 0;
}

/* blue pattern section ================= */
.bluePatternSection {
  position: relative;
  padding: 80px 0;
  margin-bottom: -60px;
  min-height: 540px; /* +60 */
  background-color: var(--bgAlt); 
  overflow: hidden; 
  border-radius: 60px 60px 0 0;
  z-index: -1;
}
.bluePatternSection::before {
  content: '';
  position: absolute;
  top: 96px;
  left: 448px;
  right: 0;
  bottom: 0;
  background-image: url("/cdn/img/pattern_acc_b.png");
  background-repeat: no-repeat; 
  background-position: top center;
  background-size: 43px 50px;
  z-index: 1;
  pointer-events: none;
}
.bluePatternSection::after {
  content: '';
  position: absolute;
  top: 15px;
  left: 15px;
  right: 0;
  bottom: 0;
  background-image: url("/cdn/img/pattern_bg.png");
  background-repeat: repeat-x; 
  background-position: center top;
  pointer-events: none;
}
.patternContent {
  position: relative;
  z-index: 2;
  text-align: center;
  color: var(--white);
}
.patternTitle {
  font-size: clamp(30px, 5vw, 65px); 
  font-weight: 600;
  line-height: 1.1;
  margin: 130px auto 0;
}

/* Mobile adjustments for contacts  */
@media (max-width: 619px) {
  .contactSection {
    padding: 40px 0;
  }
  .contactRow {
    gap: 24px;
  }
  .contactForm {
    padding: 24px;
    gap: 16px;
  }
  .formRow {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .textareaField {
    min-height: 100px;
  }



  .bluePatternSection {
    padding: 40px 0;
    min-height: 380px;
  }
  .bluePatternSection::before {
    left: 158px;
  }
}
/*#endregion ---------------------------------------------- */











/*#region ============  Адаптивная модалка  ================= */
.authModal { 
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  background: rgba(229,229,229,1);
  padding: 0 20px 20px;
  z-index: 1000;

  overflow-y: auto;
}
.modaleHeader {
  height: 140px;
  min-height: 140px;
  width: 100%;
  max-width: 770px;
  border: 0 none;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.modalWindow { 
  background: transparent;
  border: 0 none;
  width: 100%;
  max-width: 770px; 
  position: relative; 
  overflow: hidden; 

  min-height: fit-content;
}
.closeModal {
  display: flex;
  font-size: 19px;
  font-weight: 400;
  background: transparent;
  border: 0 none;
  color: #64748B;
  position: relative;
  padding: 5px 30px 5px 5px;
  cursor: pointer;
  transition: all .4s;
}
.closeModal::after,
.closeModal::before {
  content: '';
  display: block;
  width: 20px;
  height: 2px;
  position: absolute;
  top: 14px;
  right: 3px;
  transform: rotate(45deg);
  background: #64748B;
}
.closeModal::before {
  transform: rotate(-45deg);
}
.closeModal:hover {
  color: var(--primaryBlue);
}
.closeModal:hover::after,
.closeModal:hover::before {
  background: var(--primaryBlue);
}
/* Шаги + слайд-анимация */
.stepsWrapper {
  position: relative;
  min-height: 700px;
  transition: min-height 0.4s cubic-bezier(0.25,1,0.5,1);
}
.step { 
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0; 
  opacity: 0;
  transform: translateX(100%);
  transition: all 0.4s cubic-bezier(0.25,1,0.5,1);
}
.step.active { 
  opacity: 1;
  transform: translateX(0);
  z-index: 1;
}
.step.prev { 
  transform: translateX(-100%);
}
/* Стили шагов */
.stepHeader { 
  text-align: center;
  margin-bottom: 24px;
}
.stepTitle { 
  font-size: 24px;
  font-weight: 700;
  color: #020817;
  margin-bottom: 8px;
}
.stepSubtitle { 
  font-size: 13px;
  font-weight: 400;
  color: #64748B;
}

.accChoose {
  border: 1px solid #C4CDCD;
  border-radius: 30px;
  padding: 60px;
}
.accountTypeGrid { 
  display: flex;
  gap: 24px;
  justify-content: center;
}
.accountCard { 
  width: 280px;
  padding: 80px 50px;
  border-radius: 20px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}
.accountCard:hover { 
  transform: scale(1.07);
}
.shipperCard { 
  background: var(--accentGreen);
  color: #020817;
}
.brandCard {
  background: var(--primaryBlue);
  color: white;
}
.cardTitle {
  font-size: 34px;
  font-weight: 700;
}
.cardDesc {
  font-size: 14px;
  font-weight: 400;
  margin-top: 15px;
}

.loginFormWrap,
.stepsFormWrap {
  max-width: 430px;
  margin: 0 auto;
  background: #F5F9FA;
  border-radius: 30px;
  border: 1px solid #E2E8F0;
  padding: 40px;
}
.stepsFormWrap {
  max-width: 770px;
  padding: 60px;
  position: relative;
  margin: 11px auto 18px;
}
.loginForm,
.onboardingForm { 
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  margin: 0 auto;
}
.loginFormWrap .accentButton,
.loginFormWrap .accentDarkButton {
  font-size: 15px;
  font-weight: 600;
  height: 60px;
  padding: 0 60px;
  box-shadow: none;
}
.stepsFormWrap .accentButton,
.stepsFormWrap .accentDarkButton,
.stepsFormWrap .accentBackButton,
.stepsFormWrap .accentDarkBackButton {
  font-size: 15px;
  font-weight: 600;
  height: 60px;
  padding: 0 60px;
  box-shadow: none;
}
.forgotLink {
  font-size: 13px;
  font-weight: 400;
  color: #64748B;
  display: inline-flex;
  align-self: flex-end;
  transition: all .4s;
}
.forgotLink:hover {
  color: var(--accentBlue);
  text-decoration: underline;
}
.altAction { 
  text-align: center;
  margin: 30px 0 0;
  font-size: 15px;
  font-weight: 400;
  color: #020817;
}
.altAction a {
  text-decoration: underline;
  font-weight: 700;
}
.altAction a:hover {
  text-decoration: none;
}
[data-step="shipper-login"] .altAction a {
  color: #1CC74C;
}
[data-step="brand-login"] .altAction a {
  color: #3646F5;
}
.onboardingForm .wrapper {
  margin-top: 24px;
}
.backButton { 
  background: none;
  border: none;
  color: #64748B;
  font-size: 15px;
  font-weight: 400;
  text-decoration: none;
  cursor: pointer;
  margin-top: 32px;
  transition: all .4s;
}
.backButton::before {
  content: '\2190';
  display: inline-block;
  margin-right: 5px;
  color: #64748B;
  font-size: 15px;
  font-weight: 400;
}
.backButton:hover {
  text-decoration: underline;
}



/* Прогресс-бар */
.progressBar {
  text-align: center;
  font-size: 12px;
  color: var(--white);
  background: #0C0D28;
  border: 1px solid #E2E8F0;
  border-radius: 999px;
  display: block;
  padding: 3px 12px;
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 619px) {
  .authModal { 
    padding: 12px;
    overflow-y: auto;
  }
  .modaleHeader { 
    padding: 16px 0 26px;
    min-height: auto;
    height: fit-content;
  }
  .desktopOnly { 
    display: none;
  }
  .accChoose {
    padding: 40px 12px;
  }
  .accountTypeGrid {
    flex-direction: column;
    align-items: center;
  }
  .accountCard {
    max-width: 280px;
    width: auto;
  }
  .loginFormWrap {
    padding: 40px 20px;
  }
  .stepsFormWrap {
    padding: 60px 20px 20px;
  }
  .stepsFormWrap .accentButton,
  .stepsFormWrap .accentDarkButton,
  .stepsFormWrap .accentBackButton,
  .stepsFormWrap .accentDarkBackButton {
    height: 50px;
    padding: 0 25px;
  }
}
/*#endregion ---------------------------------------------- */




/*#region ===========      STEPS for SHIPPER and BRANDS    ==================*/
.formGrid.twoCol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.buttonGroup {
  display: flex;
  justify-content: space-between;
  margin-top: 32px;
}
/* Верификация */
.verificationGrid {
  display: grid;
  gap: 32px;
  margin: 32px 0;
}
.verificationItem p {
  font-size: 13px;
  color: #374151;
  margin-bottom: 15px;
}
.codeInputWrapper {
  position: relative;
}
.resendCode {
  background: none;
  border: none;
  color: var(--accentBlue);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  position: absolute;
  top: 20px;
  right: 75px;
}
.codeTimer {
  color: rgba(12, 13, 40, 0.45);
  font-weight: 500;
  position: absolute;
  top: 2px;
  right: -55px;
  cursor: default;
}


@media (max-width: 619px) {

  .resendCode {
    font-size: 12px;
    top: 22px;
    right: 10px;
  }
  .codeTimer {
    top: -14px;
    right: 6px;
  }
}



/* Каналы */
.channelsGrid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.channelCard {
  padding: 14px;
  border: 2px solid #E5E7EB;
  border-radius: 16px;
  background: var(--white);
  cursor: pointer;
  transition: all .3s;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.channelCard svg {
  margin: 10px auto 15px;
}
.channelCard span {
  color: #64748B;
  font-size: 12px;
}
.channelCard.active,
.channelCard:hover {
  border-color: #0C0D28;
}



/* Загрузка */
.uploadButton {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 15px;
  width: 100%;
  height: 90px;
  border: 2px dashed #CBD5E1;
  border-radius: 16px;
  background: white;
  cursor: pointer;
  transition: all .3s;
  overflow: hidden;
  position: relative;
  margin-bottom: 30px;
}
.uploadButton:hover {
  border-color: #16A34A;
  box-shadow: var(--shadow);
}
.uploadButton svg {
  pointer-events: none;
}
.uploadButton span {
  color: rgba(100, 116, 139, 0.5);
  font-size: 13px;
  font-weight: 400;
}
.uploadButton span b {
  color: rgba(12, 13, 40, 0.45);
  font-size: 19px;
  font-weight: 400;
}
.uploadButton input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.uploadContent {
  display: flex;
  flex-direction: row;
  gap: 20px;
}
.uploadColumn {
  width: 50%;
}
.guidelineTitle {
  font-size: 15px;
  font-weight: 600;
  color: #020817;
  margin-bottom: 8px;
}
.uploadColumn p {
  font-size: 13px;
  color: #64748B;
  margin-bottom: 16px;
  min-height: 40px;
}
.attachedCounter {
  margin-top: 12px;
  font-size: 13px;
  color: #64748B;
  font-weight: 500;
  margin-bottom: 10px;
}
.attachedList {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.attachedItem {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #374151;
  position: relative;
  width: 100%;
}
.attachedItem > span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: auto;
  max-width: 83%;
}
.attachedItem > span:hover {
  text-decoration: underline;
  cursor: pointer;
}
.removeFile {
  margin-left: auto;
  position: relative;
  width: 20px;
  height: 20px;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all .4s;
}
.removeFile::before,
.removeFile::after {
  content: '';
  display: block;
  width: 13px;
  height: 1px;
  position: absolute;
  top: 50%;
  right: 3px;
  transform: rotate(45deg);
  background: #000;
}
.removeFile::before {
  transform: rotate(-45deg);
}
.removeFile:hover {
  color: #16A34A;
}
.removeFile:hover::after,
.removeFile:hover::before {
  background: #16A34A;
}


@media (max-width: 619px) {
  .uploadButtons {
    flex-direction: column;
    align-items: center;
  }
  .uploadContent {
    flex-direction: column;
    gap: 40px;
  }
  .uploadColumn {
    width: 100%;
  }
}


/* Чекбоксы необыкновенные */
.checkboxForm {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.checkbox {
    cursor: pointer;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    position: relative;
    padding: 15px 18px;
    background: var(--white);
    border-radius: 18px;
}
.checkbox:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.26);
}
.checkbox input[type='checkbox'] {
    outline: none;
    width: 24px;
    height: 24px;
    overflow: hidden;
    z-index: 1;
    position: absolute;
    right: 18px;
    opacity: 0;
}
.checkbox span.bg {
    display: block;
    width: 24px;
    min-width: 24px;
    height: 24px;
    position: relative;
    text-align: center;
    z-index: 1;
    background: transparent;
}
.checkbox input[type='checkbox'] + span.bg::before {
    content: '\2714\fe0e';
    display: inline-block;
    color: rgba(22, 163, 74, 0.2);
    font-size: 24px;
    line-height: 1;
    margin: 0;
}
.checkbox input[type='checkbox']:checked + span.bg::before {
    color: #16A34A;
}
.checkbox input[type='checkbox'] ~ span.flow {
    border: 1px solid #E5E7EB;
    background: transparent;
    width: 100%;
    height: 100%;
    border-radius: 18px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.checkbox input[type='checkbox']:checked ~ span.flow {
    background: #DAFFE4;
    border-color: #DAFFE4;
    box-shadow: var(--shadow);
}
.checkbox span:not(.bg, .flow) {
  font-size: 17px;
  font-weight: 500;
  color: #0C0D28;
  position: relative;
  z-index: 1;
  width: 90%;
}


/* Соглашение */
.agreementBox {
  background: #ECECEC;
  padding: 24px;
  border-radius: 18px;
  margin: 32px 0 16px;
  font-size: 13px;
  line-height: 20px;
}
.agreementBox h3 {
  margin-bottom: 15px;
}


/* Спасибо */
.thankyouStep {
  text-align: center;
  padding: 80px;
}
.checkmark {
  width: 99px;
  height: 99px;
  margin: 0 auto 32px;
}
.thankyouStep .wrapper {
  margin-top: 48px;
}
.tnkButton {
  white-space: nowrap;
  gap: 5px;
}

@media (max-width: 619px) {
  
  .formGrid.twoCol {
    grid-template-columns: 1fr;
  }
  .channelsGrid {
    grid-template-columns: repeat(2, 1fr);
  }
  .tnkButton span {
    display: none;
  }
  .thankyouStep {
    padding: 80px 40px;
  }
}



/* интро */
.platformGrid {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 80px 0;
}
.platformCard {
  width: 220px;
  height: 150px;
  border-radius: 24px;
  background: white;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.shopifyCard {
  box-shadow: var(--shadowStrong);
  border-radius: 60px 10px 60px 60px;
}
.shopifyCard svg {
  width: 161px;
  height: 48px;
}
.othersCard {
  background: transparent;
}
.othersText {
  font-size: 43px;
  color: #B1B7BE;
  font-weight: 700;
  font-style: italic;
}


/* Вопросы */
.question {
  margin-bottom: 32px;
}
.topSpacer {
  margin-top: 160px;
}
.question p {
  margin-bottom: 12px;
  font-size: 17px;
  font-weight: 500;
  color: #0C0D28;
}
.radioGroup {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.radioGroup label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.radioGroup input[type="radio"] {
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.radioGroup input[type="radio"]:checked + span {
  box-shadow: 0 0 0 0.0625em var(--bgAlt);
  background-color: var(--bgAlt);
  z-index: 1;
  color: var(--white);
}
.radioGroup label span {
  display: block;
  cursor: pointer;
  background-color: var(--white);
  box-shadow: 0 0 0 0.0625em var(--border);
  padding: 13px 18px;
  position: relative;
  margin-left: .0625em;
  letter-spacing: .05em;
  color: rgba(12, 13, 40, 0.45);
  text-align: center;
  transition: background-color .5s ease;
  min-width: 70px;
}
.radioGroup label:first-child span {
  border-radius: 14px 0 0 14px;
}
.radioGroup label:last-child span {
  border-radius: 0 14px 14px 0;
}

@media (max-width: 619px) {
  
  .platformCard {
    width: 120px;
    height: 92px;
  }
  .shopifyCard {
    box-shadow: var(--shadowStrong);
    border-radius: 30px 5px 30px 30px;
  }
  .shopifyCard svg {
    width: 80px;
    height: 24px;
  }
  .othersText {
    font-size: 21px;
  }
  .question p {
    font-size: 14px;
  }
}
/*#endregion ---------------------------------------------- */