.elementor-1032 .elementor-element.elementor-element-59aef25e{--display:flex;--min-height:90vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--overlay-opacity:0.6;--overlay-mix-blend-mode:multiply;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1032 .elementor-element.elementor-element-59aef25e:not(.elementor-motion-effects-element-type-background), .elementor-1032 .elementor-element.elementor-element-59aef25e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://tsgfuturi.com/wp-content/uploads/2026/10/AdobeStock_812230898-1-scaled.jpeg");background-repeat:no-repeat;background-size:cover;}.elementor-1032 .elementor-element.elementor-element-59aef25e::before, .elementor-1032 .elementor-element.elementor-element-59aef25e > .elementor-background-video-container::before, .elementor-1032 .elementor-element.elementor-element-59aef25e > .e-con-inner > .elementor-background-video-container::before, .elementor-1032 .elementor-element.elementor-element-59aef25e > .elementor-background-slideshow::before, .elementor-1032 .elementor-element.elementor-element-59aef25e > .e-con-inner > .elementor-background-slideshow::before, .elementor-1032 .elementor-element.elementor-element-59aef25e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#143247;--background-overlay:'';}.elementor-1032 .elementor-element.elementor-element-2be14304{--display:flex;--justify-content:center;}.elementor-1032 .elementor-element.elementor-element-686b96e1{width:100%;max-width:100%;padding:0px 0px 0px 0px;text-align:center;}.elementor-1032 .elementor-element.elementor-element-686b96e1.elementor-element{--align-self:center;}.elementor-1032 .elementor-element.elementor-element-686b96e1 .elementor-heading-title{font-family:"Fraunces", Sans-serif;font-size:3.3rem;font-weight:500;line-height:1em;color:#F7F2F0;}.elementor-1032 .elementor-element.elementor-element-313c5d9b{width:100%;max-width:100%;padding:0px 0px 0px 0px;text-align:center;font-family:"Inter", Sans-serif;font-size:16px;color:#FCFCFC;}.elementor-1032 .elementor-element.elementor-element-313c5d9b.elementor-element{--align-self:center;}.elementor-1032 .elementor-element.elementor-element-9f2b97f{width:100%;max-width:100%;text-align:center;color:#F6F1EA;}.elementor-1032 .elementor-element.elementor-element-9f2b97f a{color:#FFFFFF;transition-duration:0.5s;}.elementor-1032 .elementor-element.elementor-element-9f2b97f a:hover, .elementor-1032 .elementor-element.elementor-element-9f2b97f a:focus{color:#C89591;}.elementor-1032 .elementor-element.elementor-element-f3f5db3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:50px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-1032 .elementor-element.elementor-element-f3f5db3:not(.elementor-motion-effects-element-type-background), .elementor-1032 .elementor-element.elementor-element-f3f5db3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6F1EA;}.elementor-1032 .elementor-element.elementor-element-52abd3f4{--display:flex;--padding-top:0em;--padding-bottom:3em;--padding-left:0em;--padding-right:0em;}.elementor-1032 .elementor-element.elementor-element-52abd3f4.e-con{--align-self:center;}.elementor-1032 .elementor-element.elementor-element-542ea97{text-align:center;}.elementor-1032 .elementor-element.elementor-element-542ea97 .elementor-heading-title{font-family:"Futura", Sans-serif;font-size:18px;color:#2F688A;}.elementor-1032 .elementor-element.elementor-element-2a3091c.elementor-element{--align-self:center;}.elementor-1032 .elementor-element.elementor-element-2a3091c .elementor-heading-title{font-family:"Fraunces", Sans-serif;font-size:40px;}.elementor-1032 .elementor-element.elementor-element-11d57cea{width:var( --container-widget-width, 350% );max-width:350%;--container-widget-width:350%;--container-widget-flex-grow:0;font-family:"Inter", Sans-serif;color:#252525;}.elementor-1032 .elementor-element.elementor-element-18cc21ce{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:1;--border-radius:5px 5px 5px 5px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;--z-index:1;}.elementor-1032 .elementor-element.elementor-element-18cc21ce:not(.elementor-motion-effects-element-type-background), .elementor-1032 .elementor-element.elementor-element-18cc21ce > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF00;}.elementor-1032 .elementor-element.elementor-element-18cc21ce::before, .elementor-1032 .elementor-element.elementor-element-18cc21ce > .elementor-background-video-container::before, .elementor-1032 .elementor-element.elementor-element-18cc21ce > .e-con-inner > .elementor-background-video-container::before, .elementor-1032 .elementor-element.elementor-element-18cc21ce > .elementor-background-slideshow::before, .elementor-1032 .elementor-element.elementor-element-18cc21ce > .e-con-inner > .elementor-background-slideshow::before, .elementor-1032 .elementor-element.elementor-element-18cc21ce > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-1032 .elementor-element.elementor-element-18cc21ce.e-con{--align-self:center;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-1032 .elementor-element.elementor-element-59aef25e:not(.elementor-motion-effects-element-type-background), .elementor-1032 .elementor-element.elementor-element-59aef25e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-size:250% auto;}.elementor-1032 .elementor-element.elementor-element-686b96e1 .elementor-heading-title{font-size:3.6rem;line-height:1em;}.elementor-1032 .elementor-element.elementor-element-f3f5db3{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1032 .elementor-element.elementor-element-542ea97.elementor-element{--align-self:flex-start;}.elementor-1032 .elementor-element.elementor-element-2a3091c.elementor-element{--align-self:center;}.elementor-1032 .elementor-element.elementor-element-18cc21ce{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:2em;--padding-bottom:0em;--padding-left:1em;--padding-right:1em;}}@media(max-width:767px){.elementor-1032 .elementor-element.elementor-element-59aef25e:not(.elementor-motion-effects-element-type-background), .elementor-1032 .elementor-element.elementor-element-59aef25e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-size:450% auto;}.elementor-1032 .elementor-element.elementor-element-59aef25e{--padding-top:0px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-1032 .elementor-element.elementor-element-686b96e1{padding:70px 20px 0px 20px;text-align:center;}.elementor-1032 .elementor-element.elementor-element-686b96e1 .elementor-heading-title{font-size:3rem;line-height:1em;}.elementor-1032 .elementor-element.elementor-element-313c5d9b{padding:0px 0px 0px 0px;text-align:center;}.elementor-1032 .elementor-element.elementor-element-313c5d9b.elementor-element{--align-self:center;}.elementor-1032 .elementor-element.elementor-element-542ea97.elementor-element{--align-self:center;}.elementor-1032 .elementor-element.elementor-element-2a3091c{text-align:center;}.elementor-1032 .elementor-element.elementor-element-2a3091c .elementor-heading-title{font-size:36px;}.elementor-1032 .elementor-element.elementor-element-11d57cea{text-align:center;}.elementor-1032 .elementor-element.elementor-element-18cc21ce{--padding-top:3em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}}/* Start custom CSS for container, class: .elementor-element-f3f5db3 *//* ===== Contact section: themed background ===== */
.contact-section{
  position:relative;
  overflow:hidden;
  padding:110px 24px !important;
  background-color:#F7F2F0 !important;
  background-image:
    radial-gradient(620px 420px at 6% 8%, rgba(200,149,145,.28), transparent 70%),
    radial-gradient(700px 480px at 96% 96%, rgba(47,104,138,.20), transparent 70%),
    radial-gradient(rgba(36,82,109,.07) 1.2px, transparent 1.2px) !important;
  background-size:auto, auto, 26px 26px !important;
  background-repeat:no-repeat, no-repeat, repeat !important;
}
/* soft glow shapes (circles, not arches) */
.contact-section::before,
.contact-section::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}
.contact-section::before{
  width:340px;height:340px;
  top:-120px;right:8%;
  border:1.5px solid rgba(200,149,145,.45);
}
.contact-section::after{
  width:220px;height:220px;
  bottom:-70px;left:7%;
  background:rgba(47,104,138,.08);
}
.contact-section > *,
.contact-section > .e-con-inner{position:relative;z-index:1}

/* Text */
.contact-section .elementor-widget-heading:first-of-type .elementor-heading-title{
  color:#C89591 !important;
  font-size:14px !important;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-align:center;
}
.contact-section h2.elementor-heading-title{
  color:#24526D !important;
  text-align:center;
  font-size:clamp(30px,4vw,50px) !important;
  line-height:1.15 !important;
  text-wrap:balance;
}
.contact-section h2.elementor-heading-title::after{
  content:"";
  display:block;
  width:90px;height:3px;
  border-radius:3px;
  background:#C89591;
  margin:24px auto 0;
}
.contact-section .elementor-widget-text-editor,
.contact-section .elementor-widget-text-editor p{
  color:#3D4148 !important;
  text-align:center;
  font-size:clamp(16px,1.5vw,19px);
  line-height:1.7;
  max-width:640px;
  margin-left:auto;
  margin-right:auto;
}

/* Form card */
.contact-section .elementor-widget-form,
.contact-section .contact-form-card{
  background:#fff !important;
  border-radius:22px !important;
  padding:48px 44px !important;
  max-width:760px;
  margin:40px auto 0;
  box-shadow:0 24px 60px rgba(36,82,109,.14);
  border-top:5px solid transparent;
  border-image:linear-gradient(90deg,#2F688A,#C89591) 1;
}
.contact-section .elementor-field-label{
  color:#3D4148 !important;
  font-weight:600;
  font-size:14px;
}
.contact-section .elementor-field-textual{
  background:#F7F2F0 !important;
  border:1.5px solid transparent !important;
  border-radius:12px !important;
  padding:14px 16px !important;
  color:#3D4148 !important;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.contact-section .elementor-field-textual:focus{
  background:#fff !important;
  border-color:#2F688A !important;
  box-shadow:0 0 0 4px rgba(47,104,138,.14);
  outline:none;
}
.contact-section .elementor-button{
  width:100%;
  background:#2F688A !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:16px 36px !important;
  font-weight:600;
  transition:background .25s, transform .25s;
}
.contact-section .elementor-button:hover{
  background:#24526D !important;
  transform:translateY(-2px);
}

/* Tablet and mobile */
@media (max-width:767px){
  .contact-section{padding:70px 16px !important}
  .contact-section::before{width:220px;height:220px;top:-90px;right:-40px}
  .contact-section::after{width:150px;height:150px;bottom:-50px;left:-30px}
  .contact-section .elementor-widget-form,
  .contact-section .contact-form-card{padding:32px 22px !important;margin-top:28px}
}/* End custom CSS */
/* Start custom CSS */@media (max-width: 767px) {

  html body .services-flex {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 28px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }

  /* Every direct child (text block, cards block) goes full width */
  html body .services-flex > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }

  /* Any inner container that holds the cards stacks too */
  html body .services-flex :has(> .resources-box) {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
  }

  html body .services-flex .resources-box,
  html body .services-flex .resources-box .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body .services-flex h1,
  html body .services-flex h2,
  html body .services-flex h3 {
    font-size: clamp(30px, 8vw, 38px) !important;
    line-height: 1.15 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  html body .services-flex .resources-box .elementor-image-box-wrapper {
    grid-template-columns: 1fr !important;
    row-gap: 14px;
  }
  html body .services-flex .resources-box .elementor-image-box-wrapper::after {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
  }
}


/* NEW: parent of .services-row stacks vertically (works boxed or full-width) */
.elementor-element:has(> .services-row),
.elementor-element:has(> .e-con-inner > .services-row) > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: clamp(24px, 3vw, 40px) !important;
}

/* NEW: cards row takes the full width */
.services-row {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
}

/* NEW: the button (any sibling after the cards) sits centered underneath */
.services-row ~ .elementor-element {
  width: auto !important;
  max-width: 100% !important;
  flex: none !important;
  align-self: center !important;
}
.services-row ~ .elementor-element .elementor-button {
  background: #2F688A !important;
  color: #fff !important;
  font-family: 'Fraunces', serif !important;
  font-weight: 600;
  border-radius: 12px;
  padding: 16px 34px;
  transition: background .25s ease, transform .25s ease;
}
.services-row ~ .elementor-element .elementor-button:hover {
  background: #24526D !important;
  transform: translateY(-3px);
}

@media (max-width: 480px) {
  .services-row ~ .elementor-element,
  .services-row ~ .elementor-element .elementor-button {
    width: 100% !important;
    text-align: center;
  }
}





/* ===== TSG: Path cards ===== */
.tsg-paths {
  --tsg-blue: #2F688A;
  --tsg-blue-dark: #24526D;
  --tsg-charcoal: #3D4148;
  --tsg-rose-white: #F7F2F0;
  --tsg-rose: #C89591;
  --tsg-cream: #EFE4D6; /* NEW: icon tile */

  width: 100% !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
  box-sizing: border-box;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  --width: 100%;
}

/* Every wrapper between .tsg-paths and the cards: plain full-width block */
.tsg-paths:has(.tsg-card):not(:has(> .tsg-card)),
.tsg-paths :has(.tsg-card):not(:has(> .tsg-card)) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 100% !important;
  --width: 100%;
}

/* The element that directly holds the cards = the 3-column grid */
.tsg-paths:has(> .tsg-card),
.tsg-paths :has(> .tsg-card) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  gap: clamp(20px, 2.5vw, 32px) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  box-sizing: border-box;
  --width: 100%;
}

.tsg-paths {
  padding-inline: clamp(16px, 4vw, 40px) !important;
}

/* ===== NEW: Background logos (before / after) ===== */
.tsg-paths {
  --tsg-bg-logo: url("https://tsgfuturi.com/wp-content/uploads/2026/10/4.png");
  --tsg-bg-logo-size: clamp(140px, 16vw, 240px);  /* CHANGED: smaller */
  --tsg-bg-logo-show: 0.5; /* how much of each logo is visible (0.5 = half) */
  --tsg-bg-logo-opacity: 0.14;                     /* NEW: faint, adjust 0.08 - 0.25 */

  position: relative;
  isolation: isolate; /* logos stay behind the cards, above the section background */
}

.tsg-paths::before,
.tsg-paths::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: calc(var(--tsg-bg-logo-size) * var(--tsg-bg-logo-show));
  height: var(--tsg-bg-logo-size);
  background-image: var(--tsg-bg-logo);
  background-repeat: no-repeat;
  background-size: var(--tsg-bg-logo-size) var(--tsg-bg-logo-size);
  opacity: var(--tsg-bg-logo-opacity);                      /* CHANGED: controlled opacity */
  filter: grayscale(1) brightness(0.55);                    /* NEW: turns logo into a soft gray shape; remove if already gray */
}

/* Left logo: pinned to the screen's left edge, shows its right part */
.tsg-paths::before {
  left: calc(50% - 50vw);
  top: 6%;                                  /* CHANGED: sits near the top of the cards */
  background-position: right center;
}

/* Right logo: pinned to the screen's right edge, shows its left part */
.tsg-paths::after {
  right: calc(50% - 50vw);
  bottom: 6%;                               /* CHANGED: a bit closer in */
  background-position: left center;
}

/* Stops the pinned logos from causing horizontal scroll */
.tsg-section-bg {
  overflow-x: clip;
}

/* Shared card styling */
.tsg-paths .tsg-card {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;        /* CHANGED: centered */
  justify-content: flex-start !important;
  text-align: center;                    /* NEW */
  gap: 16px;
  grid-column: auto !important;
  grid-row: auto !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  box-sizing: border-box;
  padding: clamp(28px, 3vw, 44px) !important;
  border-radius: 20px !important;
  border: 1px solid rgba(61, 65, 72, 0.06) !important;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(47, 104, 138, 0.08);
  transition: transform .3s ease, box-shadow .3s ease;
  container-type: inline-size;           /* NEW: lets heading scale to card width */
  --width: 100%;
}

/* Accent bar across the top */
.tsg-paths .tsg-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: var(--tsg-accent);
}

.tsg-paths .tsg-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(47, 104, 138, 0.16);
}

/* Card colors */
.tsg-paths .tsg-card-1 {
  --tsg-accent: #2F688A;
  background: #E6EFF5 !important;
}
.tsg-paths .tsg-card-2 {
  --tsg-accent: #C89591;
  background: #F7F2F0 !important;
}
.tsg-paths .tsg-card-3 {
  --tsg-accent: #2F688A;
  background: #F0DCD9 !important;
}

/* ===== NEW: Icon on top, centered, inside cream tile ===== */

/* Icon Box / Image Box wrapper: stack vertically */
.tsg-paths .tsg-card .elementor-icon-box-wrapper,
.tsg-paths .tsg-card .elementor-image-box-wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 16px;
}
.tsg-paths .tsg-card .elementor-icon-box-icon,
.tsg-paths .tsg-card .elementor-image-box-img {
  margin: 0 !important;
  width: auto !important;
}
.tsg-paths .tsg-card .elementor-icon-box-content,
.tsg-paths .tsg-card .elementor-image-box-content {
  width: 100%;
}

/* The cream tile */
.tsg-paths .tsg-card .elementor-icon-box-icon .elementor-icon,
.tsg-paths .tsg-card .elementor-widget-icon .elementor-icon,
.tsg-paths .tsg-card .elementor-image-box-img,
.tsg-paths .tsg-card .elementor-widget-image .elementor-widget-container {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: clamp(60px, 18cqw, 76px) !important;
  height: clamp(60px, 18cqw, 76px) !important;
  background: var(--tsg-cream) !important;
  border-radius: 18px;
  padding: 0 !important;
  margin-inline: auto !important;
  box-sizing: border-box;
}

/* Logo inside the tile: recolored to brand blue */
.tsg-paths .tsg-card .elementor-icon svg,
.tsg-paths .tsg-card .elementor-icon i {
  width: 52%;
  height: 52%;
  font-size: clamp(28px, 8cqw, 36px);
  color: var(--tsg-blue) !important;
  fill: var(--tsg-blue) !important;
}
.tsg-paths .tsg-card .elementor-icon svg path {
  fill: var(--tsg-blue) !important;
}
/* If the logo is an image (white PNG/SVG), this turns it blue */
.tsg-paths .tsg-card .elementor-image-box-img img,
.tsg-paths .tsg-card .elementor-widget-image img {
  width: 52% !important;
  height: auto !important;
  max-width: none !important;
  filter: brightness(0) saturate(100%) invert(33%) sepia(32%) saturate(900%) hue-rotate(167deg) brightness(92%) contrast(90%);
}

/* Typography */
.tsg-paths .tsg-card .elementor-heading-title,
.tsg-paths .tsg-card .elementor-icon-box-title,
.tsg-paths .tsg-card .elementor-image-box-title {
  font-family: 'Fraunces', serif !important;   /* CHANGED */
  font-weight: 600 !important;
  color: var(--tsg-charcoal) !important;
  font-size: clamp(18px, 1.7vw, 24px);         /* fallback */
  font-size: clamp(16px, 6.2cqw, 26px);        /* scales to card width */
  line-height: 1.2;
  white-space: nowrap;                          /* NEW: one line */
  text-align: center;
  margin: 0;
}
.tsg-paths .tsg-card .elementor-icon-box-title a,
.tsg-paths .tsg-card .elementor-icon-box-title span,
.tsg-paths .tsg-card .elementor-image-box-title a {
  font: inherit;
  color: inherit;
}

.tsg-paths .tsg-card p,
.tsg-paths .tsg-card .elementor-widget-text-editor,
.tsg-paths .tsg-card .elementor-icon-box-description,
.tsg-paths .tsg-card .elementor-image-box-description {
  color: #4A4F57;
  font-size: clamp(15px, 1.1vw, 17px);
  line-height: 1.65;
  text-align: center;                           /* NEW */
  margin: 0;
}

/* Button pinned to the bottom so all three align */
.tsg-paths .tsg-card .elementor-widget-button {
  margin-top: auto;
  padding-top: 12px;
  width: 100%;
}
.tsg-paths .tsg-card .elementor-widget-button .elementor-button-wrapper {
  display: flex;                                /* NEW: centered button */
  justify-content: center;
}
.tsg-paths .tsg-card .elementor-button {
  background: var(--tsg-blue) !important;
  color: #fff !important;
  border-radius: 10px;
  padding: 14px 26px;
  transition: background .25s ease, transform .25s ease;
}
.tsg-paths .tsg-card .elementor-button:hover {
  background: var(--tsg-blue-dark) !important;
  transform: translateX(3px);
}

/* Small laptops: tighten */
@media (max-width: 1200px) {
  .tsg-paths .tsg-card { padding: 28px 24px !important; }
  .tsg-paths .tsg-card .elementor-button { padding: 12px 20px; }
}

/* NEW: Tablet: smaller background logos */
@media (max-width: 1024px) {
  .tsg-paths { --tsg-bg-logo-size: clamp(110px, 18vw, 170px); }   /* CHANGED: smaller */
}

/* Tablet and mobile: stack */
@media (max-width: 900px) {
  .tsg-paths { max-width: 640px !important; }
  .tsg-paths:has(> .tsg-card),
  .tsg-paths :has(> .tsg-card) {
    grid-template-columns: 1fr !important;
  }
  .tsg-paths .tsg-card:hover { transform: none; }
}

@media (max-width: 480px) {
  .tsg-paths { --tsg-bg-logo-size: 100px; }       /* CHANGED: smaller */
  .tsg-paths::before,
  .tsg-paths::after { opacity: .12; }             /* CHANGED: stays faint on mobile */
  .tsg-paths .tsg-card { border-radius: 16px !important; }
  .tsg-paths .tsg-card .elementor-button {
    width: 100%;
    text-align: center;
  }
}

/* Very narrow phones: allow the heading to wrap instead of overflowing */
@media (max-width: 340px) {
  .tsg-paths .tsg-card .elementor-heading-title,
  .tsg-paths .tsg-card .elementor-icon-box-title,
  .tsg-paths .tsg-card .elementor-image-box-title {
    white-space: normal;
  }
}
/* Extra space under the card headings */
.tsg-paths .tsg-card .elementor-heading-title,
.tsg-paths .tsg-card .elementor-icon-box-title,
.tsg-paths .tsg-card .elementor-image-box-title {
  padding-bottom: 10px;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Futura';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://tsgfuturi.com/wp-content/uploads/2026/10/FuturaCyrillicMedium.ttf') format('truetype');
}
/* End Custom Fonts CSS */