:root,
:root[data-theme="SetupTwo"] {
  --primary-color: #d02224;
  --secondary-color: #171717;
  --yellow-color: #d02224;
  --heading-color: #171717;
  --paragraph: rgba(23, 23, 23, 0.72);
  --span: rgba(23, 23, 23, 0.72);
  --border: rgba(23, 23, 23, 0.16);
  --tp-common-green: #171717;
  --tp-common-green-light: #d02224;
  --tp-theme-primary: #d02224;
  --tp-gradient-primary: linear-gradient(90deg, #d02224 0%, #d02224 100%);
  --tp-topbar-color: #171717;
  --tp-preloader-color: #171717;
  --tp-heading-primary: #171717;
  --tp-heading-secondary: #171717;
  --tp-text-body: rgba(23, 23, 23, 0.72);
  --tp-text-1: rgba(23, 23, 23, 0.65);
}

html {
  scroll-behavior: smooth;
}

#home,
#about,
#portfolio,
#process,
#why-choose,
#clients,
#footer,
#contact {
  scroll-margin-top: 94px;
}

/* Let the browser skip below-the-fold rendering work until sections are near view. */
#about,
#portfolio,
#process,
#why-choose,
#clients,
#contact,
#footer {
  content-visibility: auto;
  contain-intrinsic-size: 1000px;
}

/* Keep the header compact while preserving the full horizontal logo. */
.tp-agenshark-header-3 .tp-header-bottom,
.tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
  margin-top: 0;
  padding: 24px 0 11px;
  background: #171717;
}

.tp-header-logo .standard-logo,
.tp-header-logo .standard-logo img {
  display: block;
}

.tp-header-logo .standard-logo img {
  width: clamp(185px, 12vw, 210px);
  height: auto;
}

.tp-header-logo {
  margin-left: -12px;
}

.tp-agenshark-header-3-nav-area {
  padding-inline: 0;
  border-radius: 0;
  background: transparent;
  transform: none;
}

.tp-agenshark-header-3 .tp-main-menu-area {
  justify-content: flex-end !important;
}

.tp-agenshark-header-3 .tp-main-menu ul li a {
  padding-block: 12px;
  color: #fff;
}

.tp-agenshark-header-3 .tp-main-menu ul li:hover > a,
.tp-agenshark-header-3 .tp-main-menu ul li.current-menu-item > a {
  color: #d02224;
  opacity: 1;
}

.elementor-element-a717617 .banner__content .section__title-sub,
.elementor-element-a717617 .banner__content .section__title-title,
.elementor-element-a717617 .banner__content .section__title-title strong {
  color: #fff !important;
}

.elementor-element-a717617 .banner__content .section__title-title > span {
  color: #d02224 !important;
}

.offcanvas__area,
.offcanvas__wrapper {
  background: #171717;
}

.offcanvas__logo img {
  width: 180px;
  height: auto;
}

.hamburger-btn,
.offcanvas__close-btn {
  color: #fff;
}

/* Remove legacy green, yellow, purple, and pastel UI accents. */
.title-dot,
.section-header-inner h5 .title-dot,
.section-header-four h5 .title-dot,
.banner-four__content h4 .title-dot {
  background-color: #d02224 !important;
}

.wpr__button.btn-three,
.btn-three,
.btn-three i {
  border-color: #d02224;
  background: #d02224;
  color: #fff;
}

.wpr__button.btn-three:hover,
.btn-three:hover {
  border-color: #171717;
  background: #171717;
  color: #fff;
}

.wpr__button.btn-three:hover i,
.btn-three:hover i {
  color: #fff;
}

/* Film-storyboard process: alternating scenes connected by a reel-like spine. */
#process {
  background: #ededed !important;
}

.process-area .process__line {
  display: none;
}

.process-area .process__wrp {
  position: relative;
  padding: 82px 64px 62px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 36px;
  background:
    radial-gradient(circle at 12% 8%, rgba(117, 117, 117, 0.28), transparent 22%),
    radial-gradient(circle at 88% 88%, rgba(117, 117, 117, 0.2), transparent 26%),
    #171717;
  box-shadow: 0 30px 80px rgba(23, 23, 23, 0.2);
}

.process-area .process__wrp::before {
  position: absolute;
  z-index: 0;
  top: 68px;
  bottom: 58px;
  left: 50%;
  width: 3px;
  background: repeating-linear-gradient(to bottom, #757575 0 7px, transparent 7px 17px);
  content: "";
  transform: translateX(-50%);
}

.process-area .process__wrp::after {
  position: absolute;
  z-index: 2;
  top: 25px;
  left: 50%;
  padding: 7px 18px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: #171717;
  color: rgba(255, 255, 255, 0.55);
  content: "THE PRODUCTION JOURNEY";
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 3px;
  transform: translateX(-50%);
  white-space: nowrap;
}

.process-area .row {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 26px;
  margin: 0;
}

.process-area .row > [class*="col-"] {
  display: flex;
  width: 100%;
  padding: 0;
  margin-top: 0;
}

.process-area .row > [class*="col-"]:nth-child(odd) {
  justify-content: flex-start;
}

.process-area .row > [class*="col-"]:nth-child(even) {
  justify-content: flex-end;
}

.process__item {
  position: relative;
  z-index: 1;
  width: calc(50% - 68px);
  min-height: 176px;
  padding: 27px 34px 26px;
  overflow: visible;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.035));
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(5px);
  transition: transform 300ms ease, box-shadow 300ms ease;
}

.process-area .row > [class*="col-"]:nth-child(odd) .process__item {
  box-shadow: inset 3px 0 0 #757575, 0 18px 38px rgba(0, 0, 0, 0.22);
}

.process-area .row > [class*="col-"]:nth-child(even) .process__item {
  box-shadow: inset -3px 0 0 #757575, 0 18px 38px rgba(0, 0, 0, 0.22);
}

.process-area .row > [class*="col-"]:nth-child(odd) .process__item:hover {
  transform: translateX(7px);
}

.process-area .row > [class*="col-"]:nth-child(even) .process__item:hover {
  transform: translateX(-7px);
}

.process__item::before {
  position: absolute;
  top: 50%;
  width: 68px;
  height: 2px;
  background: repeating-linear-gradient(to right, #757575 0 6px, transparent 6px 14px);
  content: "";
}

.process-area .row > [class*="col-"]:nth-child(odd) .process__item::before {
  right: -68px;
}

.process-area .row > [class*="col-"]:nth-child(even) .process__item::before {
  left: -68px;
}

.process__item::after {
  position: absolute;
  top: 12px;
  color: rgba(255, 255, 255, 0.065);
  font-size: 104px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -9px;
}

.process-area .row > [class*="col-"]:nth-child(odd) .process__item::after {
  right: 24px;
}

.process-area .row > [class*="col-"]:nth-child(even) .process__item::after {
  left: 24px;
}

.process-area .row > [class*="col-"]:nth-child(1) .process__item::after { content: "01"; }
.process-area .row > [class*="col-"]:nth-child(2) .process__item::after { content: "02"; }
.process-area .row > [class*="col-"]:nth-child(3) .process__item::after { content: "03"; }
.process-area .row > [class*="col-"]:nth-child(4) .process__item::after { content: "04"; }
.process-area .row > [class*="col-"]:nth-child(5) .process__item::after { content: "05"; }
.process-area .row > [class*="col-"]:nth-child(6) .process__item::after { content: "06"; }

.process-area .wpr__process_info {
  position: relative;
  z-index: 2;
  text-align: left;
}

.process-area .wpr__process_title,
.process-area .wpr__process_title .word,
.process-area .wpr__process_title .char {
  color: #fff !important;
}

.process-area .wpr__process_info p {
  color: rgba(255, 255, 255, 0.68);
  max-width: 440px;
  margin-bottom: 0;
  font-size: 15px;
  line-height: 1.68;
}

.process-area .process__number {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 74px;
  height: 74px;
  border: 4px solid #d8d8d8;
  background: #757575;
  box-shadow: 0 0 0 8px #171717, 0 12px 30px rgba(0, 0, 0, 0.35);
  transform: translateY(-50%);
  transition: transform 250ms ease, box-shadow 250ms ease;
}

.process-area .row > [class*="col-"]:nth-child(odd) .process__number {
  right: -105px;
}

.process-area .row > [class*="col-"]:nth-child(even) .process__number {
  left: -105px;
}

.process-area .process__number:hover {
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 0 0 8px #171717, 0 18px 40px rgba(0, 0, 0, 0.45);
}

.process-area .process__number h4 {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 66px;
}

.process-area .wpr__process_title,
.process-area .wpr__process_title .word,
.process-area .wpr__process_title .char {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

.process-area .process__number img {
  display: none;
}

.process-area .process__number::before {
  position: absolute;
  inset: -13px;
  border: 2px dotted rgba(216, 216, 216, 0.72);
  border-radius: 50%;
  content: "";
  animation: rotate 12s linear infinite;
}

.process-area .row > [class*="col-"]:nth-child(even) .process__number::before {
  animation-direction: reverse;
}

.choose__image {
  background: transparent;
}

.section__title-title,
.section__title-title *,
.st-counter,
.st-counter-number,
.st-counter-after,
.st-counter-label {
  color: #171717;
}

.fanfact__item h2,
.wpr__process_title,
.wpr__process_title *,
.choose__item h3,
.choose__item h3 * {
  color: #171717 !important;
}

.contact__item,
.signup__item,
.signin__item,
.reset-password__item {
  background-color: #f1efe9;
  border: 1px solid rgba(23, 23, 23, 0.14);
}

.contact__item h3 {
  color: #171717;
}

#contact .contact__item,
#contact .contact__item h3,
#contact .contact__item p,
#contact .contact__item label,
#contact .contact__item a {
  color: #171717 !important;
}

#contact .elementor-element-6943ce7 .section__title-sub,
#contact .elementor-element-dd32d3c .section__title-sub,
#contact .elementor-element-99ba405 .section__title-sub,
#contact .elementor-element-c70e126 .section__title-sub,
#contact .elementor-element-6943ce7 .section__title-title,
#contact .elementor-element-dd32d3c .section__title-title,
#contact .elementor-element-99ba405 .section__title-title,
#contact .elementor-element-c70e126 .section__title-title,
#contact .elementor-element-6943ce7 .section__title-sub *,
#contact .elementor-element-dd32d3c .section__title-sub *,
#contact .elementor-element-99ba405 .section__title-sub *,
#contact .elementor-element-c70e126 .section__title-sub *,
#contact .elementor-element-6943ce7 .section__title-title *,
#contact .elementor-element-dd32d3c .section__title-title *,
#contact .elementor-element-99ba405 .section__title-title *,
#contact .elementor-element-c70e126 .section__title-title * {
  color: #171717 !important;
  -webkit-text-fill-color: #171717 !important;
}

#contact .contact__item a:hover,
#contact .contact__item a:focus-visible {
  color: #d02224 !important;
}

#contact > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  gap: clamp(36px, 4vw, 56px);
}

#contact .elementor-element-b74262e {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  flex: 0 0 43.5%;
  width: 43.5% !important;
  max-width: none !important;
  min-width: 0;
}

#contact .elementor-element-d5b8855 {
  flex: 0 0 56.5%;
  width: 56.5% !important;
  max-width: none !important;
  min-width: 0;
}

#your_form_id > label,
#your_form_id > .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

#your_form_id > label {
  margin: 0 0 4px;
}

#your_form_id > label:not(:first-child) {
  margin-top: 0;
}

#your_form_id > .wpcf7-form-control-wrap {
  margin: 0 0 10px;
}

#your_form_id > .wpcf7-form-control-wrap:last-of-type {
  margin-bottom: 0;
}

#your_form_id input,
#your_form_id textarea {
  width: 100%;
}

#your_form_id textarea {
  line-height: 1.45;
  resize: vertical;
}

#your_form_id .btn-three {
  margin-top: 8px !important;
}

#contact #your_form_id .btn-three,
#contact #your_form_id .btn-three i {
  border-color: #171717 !important;
  background: #171717 !important;
  color: #fff !important;
}

#contact #your_form_id .btn-three:hover,
#contact #your_form_id .btn-three:hover i {
  border-color: #d02224 !important;
  background: #d02224 !important;
  color: #fff !important;
}

.elementor-element-673b384,
.elementor-element-7c09e61,
.elementor-element-ef6f32f {
  background-color: rgba(247, 247, 249, 0.5) !important;
}

.marquee-two-area {
  background-color: #171717;
}

.marquee-two-area h4,
.marquee-two-area svg path {
  color: #fff;
  fill: #fff;
}

/* Footer uses the same brand lockup as the header. */
.tcm-footer-logo img {
  width: min(195px, 62vw);
  height: auto;
}

#footer .elementor-element-9888f9a p {
  margin: 0;
  font-size: 14px !important;
  line-height: 1.5 !important;
  letter-spacing: 0.015em;
}

@media (min-width: 768px) and (max-width: 1440px) {
  #footer .elementor-element-9888f9a p {
    font-size: 13.5px !important;
  }
}

@media (max-width: 767px) {
  #footer .elementor-element-9888f9a p {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }
}

.elementor-element-d0ad2e1 {
  background-color: #171717 !important;
  background-image: none !important;
}

.elementor-element-f8890d9 .elementor-icon-list-item a:hover .elementor-icon-list-text,
.elementor-element-c1d818b .elementor-icon-list-item a:hover .elementor-icon-list-text,
.elementor-element-e2e6e82 .goTop:hover,
.elementor-element-e2e6e82 .goTop:hover i {
  color: #d02224 !important;
}

.elementor-element-d0ad2e1 a:hover,
.elementor-element-d0ad2e1 a:hover span,
.elementor-element-d0ad2e1 button:hover,
.elementor-element-d0ad2e1 button:hover i {
  color: #d02224 !important;
}

.elementor-element-8a84a23 .elementor-social-icon {
  color: #fff;
  transform: none !important;
  transition: color 220ms ease, transform 300ms ease-out;
}

.elementor-element-8a84a23 .elementor-social-icon:hover {
  color: #d02224 !important;
}

.elementor-element-8a84a23 .elementor-social-icon:focus {
  transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .elementor-element-8a84a23 .elementor-social-icon:hover {
    transform: translateY(-8px) !important;
  }

  .elementor-element-8a84a23 .elementor-social-icon:hover:active {
    transform: translateY(-4px) !important;
  }

  .elementor-element-8a84a23 .elementor-social-icon:focus:not(:hover) {
    transform: none !important;
  }
}

.elementor-element-8a84a23 .elementor-social-icon:focus-visible {
  outline: 2px solid #d02224;
  outline-offset: 4px;
}

.elementor-element-8a84a23 .elementor-social-icon svg {
  fill: currentColor;
}

.tcm-whatsapp-float {
  position: fixed;
  z-index: 9999;
  right: 30px;
  bottom: 30px;
  display: grid;
  width: 60px;
  height: 60px;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  font-size: 34px;
  box-shadow: 0 10px 28px rgba(23, 23, 23, 0.28);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.tcm-whatsapp-float:hover {
  color: #fff;
  transform: translateY(-4px) scale(1.04);
  box-shadow: 0 16px 34px rgba(23, 23, 23, 0.34);
}

.tcm-whatsapp-float i {
  line-height: 1;
}

/* Reference-site client layout: five logos, then four centered logos. */
.elementor-element-95aa64c,
.elementor-element-342b772 {
  display: none !important;
}

.tcm-client-grid {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 46px 28px;
  width: min(1140px, calc(100% - 40px));
  margin: 10px auto 0;
}

.tcm-client-logo {
  display: flex;
  grid-column: span 2;
  align-items: center;
  justify-content: center;
  min-height: 112px;
  cursor: pointer;
  transition: transform 220ms ease, filter 220ms ease, opacity 220ms ease;
  will-change: transform;
}

.tcm-client-logo:nth-child(6) {
  grid-column: 2 / span 2;
}

.tcm-client-logo img {
  width: 150px;
  max-width: 100%;
  max-height: 94px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.72;
  transition: filter 320ms ease, opacity 320ms ease, transform 320ms ease, box-shadow 320ms ease;
  will-change: filter, opacity, transform;
  transition-delay: var(--tcm-client-delay, 0ms);
}

.tcm-client-logo:hover img {
  filter: grayscale(0);
  opacity: 1;
  transform: translateY(-10px) scale(1.07);
}

.tcm-client-grid.is-scroll-active .tcm-client-logo img,
.tcm-client-logo.is-scroll-active img {
  filter: grayscale(0);
  opacity: 1;
  transform: translateY(-10px) scale(1.07);
}

.tcm-client-logo:hover {
  transform: translateY(-3px);
}

.tcm-client-grid.is-scroll-active .tcm-client-logo:nth-child(1) img { --tcm-client-delay: 0ms; }
.tcm-client-grid.is-scroll-active .tcm-client-logo:nth-child(2) img { --tcm-client-delay: 26ms; }
.tcm-client-grid.is-scroll-active .tcm-client-logo:nth-child(3) img { --tcm-client-delay: 52ms; }
.tcm-client-grid.is-scroll-active .tcm-client-logo:nth-child(4) img { --tcm-client-delay: 78ms; }
.tcm-client-grid.is-scroll-active .tcm-client-logo:nth-child(5) img { --tcm-client-delay: 104ms; }
.tcm-client-grid.is-scroll-active .tcm-client-logo:nth-child(6) img { --tcm-client-delay: 130ms; }
.tcm-client-grid.is-scroll-active .tcm-client-logo:nth-child(7) img { --tcm-client-delay: 156ms; }
.tcm-client-grid.is-scroll-active .tcm-client-logo:nth-child(8) img { --tcm-client-delay: 182ms; }
.tcm-client-grid.is-scroll-active .tcm-client-logo:nth-child(9) img { --tcm-client-delay: 208ms; }

@media (max-width: 1199px) {
  .tp-agenshark-header-3 .tp-header-bottom,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
    padding: 17px 0 10px;
  }

  .tp-header-logo .standard-logo img {
    width: clamp(165px, 39vw, 195px);
  }

  .tp-agenshark-header-3-nav-area {
    transform: none;
  }
}

@media (max-width: 991px) {
  .process-area .process__wrp {
    padding: 72px 24px 42px;
  }

  .process-area .process__wrp::before {
    left: 55px;
  }

  .process-area .row > [class*="col-"]:nth-child(n) {
    display: block;
    padding-left: 94px;
  }

  .process-area .row > [class*="col-"]:nth-child(n) .process__item {
    width: 100%;
    box-shadow: inset 3px 0 0 #757575, 0 18px 38px rgba(0, 0, 0, 0.22);
  }

  .process-area .row > [class*="col-"]:nth-child(n) .process__item::before {
    right: auto;
    left: -40px;
    width: 40px;
  }

  .process-area .row > [class*="col-"]:nth-child(n) .process__number {
    right: auto;
    left: -76px;
  }

  .tcm-client-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 24px;
  }

  .tcm-client-logo,
  .tcm-client-logo:nth-child(6) {
    grid-column: span 1;
  }
}

@media (max-width: 575px) {
  .process-area .process__wrp {
    padding: 68px 14px 30px;
    border-radius: 24px;
  }

  .process-area .process__wrp::before {
    left: 38px;
  }

  .process-area .process__wrp::after {
    letter-spacing: 1.8px;
  }

  .process__item {
    min-height: 0;
    padding: 23px 20px 22px;
  }

  .process-area .row > [class*="col-"]:nth-child(n) {
    padding-left: 63px;
  }

  .process-area .row > [class*="col-"]:nth-child(n) .process__number {
    left: -62px;
    width: 60px;
    height: 60px;
  }

  .process-area .process__number h4 {
    font-size: 20px;
    line-height: 52px;
  }

  .process-area .row > [class*="col-"]:nth-child(n) .process__item::before {
    left: -25px;
    width: 25px;
  }

  .tp-header-logo .standard-logo img {
    width: 160px;
  }

  .offcanvas__logo img {
    width: 170px;
  }

  .tp-header-logo {
    margin-left: 0;
  }

  .tcm-client-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 16px;
    width: calc(100% - 30px);
  }

  .tcm-client-logo {
    min-height: 88px;
  }

  .tcm-client-logo img {
    width: 125px;
    max-height: 76px;
  }
}

/* Graphical hero motion and lively process interactions. */
@media (min-width: 1200px) {
  #home .tcm-industrial-visual {
    isolation: isolate;
    background: #171717;
  }

  #home .tcm-industrial-visual::before {
    position: absolute;
    z-index: 2;
    top: -18%;
    bottom: -18%;
    left: -28%;
    width: 24%;
    background: linear-gradient(90deg, transparent, rgba(208, 34, 36, 0.2), transparent);
    content: "";
    pointer-events: none;
    transform: skewX(-12deg);
    animation: tcm-hero-scan 8s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  }

  #home .tcm-industrial-visual::after {
    position: absolute;
    z-index: 2;
    inset: 0;
    background:
      radial-gradient(circle at 82% 49%, transparent 0 9%, rgba(208, 34, 36, 0.2) 9.2%, transparent 9.7%),
      linear-gradient(90deg, transparent 0 74%, rgba(208, 34, 36, 0.06) 74% 74.2%, transparent 74.2%);
    content: "";
    opacity: 0.45;
    pointer-events: none;
    animation: tcm-hero-signal 4.8s ease-in-out infinite;
  }

  #home .tcm-industrial-visual img {
    filter: contrast(1.04) saturate(0.94);
  }
}

@keyframes tcm-hero-scan {
  0%, 18% { left: -28%; opacity: 0; }
  28% { opacity: 0.8; }
  68% { opacity: 0.55; }
  78%, 100% { left: 112%; opacity: 0; }
}

@keyframes tcm-hero-signal {
  0%, 100% { opacity: 0.22; transform: scale(0.985); }
  50% { opacity: 0.62; transform: scale(1.015); }
}

.process-area.is-revealed .row > [class*="col-"] {
  animation: tcm-process-reveal 680ms cubic-bezier(0.2, 0.72, 0.2, 1) both;
}

.process-area.is-revealed .row > [class*="col-"]:nth-child(2) { animation-delay: 90ms; }
.process-area.is-revealed .row > [class*="col-"]:nth-child(3) { animation-delay: 180ms; }
.process-area.is-revealed .row > [class*="col-"]:nth-child(4) { animation-delay: 270ms; }
.process-area.is-revealed .row > [class*="col-"]:nth-child(5) { animation-delay: 360ms; }
.process-area.is-revealed .row > [class*="col-"]:nth-child(6) { animation-delay: 450ms; }

@keyframes tcm-process-reveal {
  from { opacity: 0; transform: translateY(26px) scale(0.975); }
  to { opacity: 1; transform: none; }
}

.process-area .process__item {
  transition: transform 300ms ease, border-color 300ms ease, box-shadow 300ms ease, background-color 300ms ease;
}

.process-area .process__item::before {
  background-size: 16px 2px;
  transition: background 240ms ease;
}

.process-area .process__item::after {
  transition: color 300ms ease, transform 300ms ease;
}

.process-area .process__number,
.process-area .process__number::before,
.process-area .process__number h4,
.process-area .wpr__process_title {
  transition: background-color 300ms ease, border-color 300ms ease, color 300ms ease, box-shadow 300ms ease, transform 300ms ease;
}

.process-area .row > [class*="col-"] .process__item:hover {
  border-color: rgba(208, 34, 36, 0.38);
  background: #fff;
  box-shadow: inset 0 3px 0 #d02224, 0 22px 44px rgba(23, 23, 23, 0.14) !important;
  transform: translateY(-8px);
}

.process-area .process__item:hover::before {
  background: repeating-linear-gradient(to right, #d02224 0 8px, transparent 8px 16px);
  background-size: 16px 2px;
  animation: tcm-process-track 620ms linear infinite;
}

.process-area .process__item:hover::after {
  color: rgba(208, 34, 36, 0.09) !important;
  transform: translateX(-5px);
}

.process-area .process__item:hover .process__number {
  background: #d02224 !important;
  box-shadow: 0 0 0 2px #d02224, 0 16px 34px rgba(208, 34, 36, 0.24) !important;
  transform: translateY(-36px) scale(1.075) !important;
}

.process-area .process__item:hover .process__number::before {
  border-color: rgba(208, 34, 36, 0.62) !important;
  animation: tcm-process-ring 3.8s linear infinite;
}

.process-area .process__item:hover .process__number h4 {
  color: #fff !important;
}

.process-area .process__item:hover .wpr__process_title {
  color: #d02224;
}

@keyframes tcm-process-track {
  to { background-position: 16px 0; }
}

@keyframes tcm-process-ring {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  #home .tcm-industrial-visual::before,
  #home .tcm-industrial-visual::after,
  .process-area.is-revealed .row > [class*="col-"],
  .process-area .process__item:hover::before,
  .process-area .process__item:hover .process__number::before {
    animation: none;
  }
}

/* Standalone contact form delivery states. */
.tcm-form-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.tcm-contact-form button[type="submit"]:disabled {
  cursor: wait;
  opacity: 0.7;
}

.tcm-contact-form .tcm-form-status {
  display: none;
  margin: 20px 0 0 !important;
  padding: 13px 16px !important;
  border: 1px solid rgba(23, 23, 23, 0.16) !important;
  border-radius: 10px;
  color: #171717;
  font-size: 14px;
  line-height: 1.5;
}

.tcm-contact-form .tcm-form-status.is-pending,
.tcm-contact-form .tcm-form-status.is-success,
.tcm-contact-form .tcm-form-status.is-error {
  display: block;
}

.tcm-contact-form .tcm-form-status.is-success {
  border-color: rgba(23, 23, 23, 0.28) !important;
  background: rgba(23, 23, 23, 0.06);
}

.tcm-contact-form .tcm-form-status.is-error {
  border-color: rgba(208, 34, 36, 0.4) !important;
  background: rgba(208, 34, 36, 0.07);
  color: #d02224;
}

/* Mature industrial hero, full-section process blueprint, and video showcases. */
@media (min-width: 1200px) {
  .tp-header-logo {
    margin-left: -30px;
  }

  #home .tcm-industrial-visual {
    position: absolute;
    z-index: 1;
    top: 52%;
    right: max(12px, calc((100vw - 1440px) / 2));
    left: auto;
    display: block;
    width: min(64vw, 860px);
    height: min(64vh, 590px);
    overflow: hidden;
    border-radius: 20px 0 0 20px;
    opacity: 0.88 !important;
    pointer-events: none;
    transform: translateY(-48%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.42) 15%, #000 36%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.42) 15%, #000 36%, #000 100%);
  }

  #home .elementor-element-ae58ed7 {
    position: static;
  }

  #home .tcm-industrial-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: none;
    animation: tcm-industrial-drift 16s ease-in-out infinite alternate;
  }
}

@keyframes tcm-industrial-drift {
  from { transform: scale(1.01) translate3d(0, 0, 0); }
  to { transform: scale(1.045) translate3d(-10px, -4px, 0); }
}

#process.elementor-element-6e9f3a7 {
  background-color: #fff !important;
  background-image:
    linear-gradient(rgba(23, 23, 23, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23, 23, 23, 0.04) 1px, transparent 1px) !important;
  background-size: 32px 32px !important;
}

#process .process-area .process__wrp {
  background-color: transparent;
  background-image: none;
}

.elementor-element-65bb7be,
.elementor-element-0234e5e {
  width: 100%;
}

.tcm-video-card {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(23, 23, 23, 0.14);
  border-radius: 18px;
  background: #171717;
  box-shadow: 0 24px 55px rgba(23, 23, 23, 0.18);
  cursor: pointer;
  isolation: isolate;
}

.tcm-video-card::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: inherit;
  box-shadow: inset 0 0 0 8px rgba(23, 23, 23, 0.12);
  content: "";
  pointer-events: none;
}

.tcm-video-card::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(135deg, transparent 48%, rgba(23, 23, 23, 0.2) 100%);
  content: "";
  pointer-events: none;
}

.tcm-video-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 800ms cubic-bezier(0.2, 0.72, 0.2, 1), filter 700ms ease, opacity 950ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.tcm-video-card__play {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  display: grid;
  width: 78px;
  height: 78px;
  border: 1px solid rgba(255, 255, 255, 0.52);
  border-radius: 50%;
  background: #d02224;
  box-shadow: 0 0 0 12px rgba(208, 34, 36, 0.16), 0 15px 34px rgba(23, 23, 23, 0.32);
  place-items: center;
  transform: translate(-50%, -50%);
  transition: transform 280ms ease, box-shadow 280ms ease;
}

.tcm-video-card__play svg {
  width: 31px;
  height: 31px;
  margin-left: 1px;
  fill: #fff;
}

@media (hover: hover) and (pointer: fine) {
  .tcm-video-card:hover img,
  .tcm-video-card:focus-visible img {
    filter: contrast(1.06);
    transform: scale(1.035);
  }

  .tcm-video-card:hover .tcm-video-card__play,
  .tcm-video-card:focus-visible .tcm-video-card__play {
    box-shadow: 0 0 0 17px rgba(208, 34, 36, 0.12), 0 18px 40px rgba(23, 23, 23, 0.36);
    transform: translate(-50%, -50%) scale(1.08);
  }
}

.tcm-video-card:focus-visible {
  outline: 3px solid #d02224;
  outline-offset: 5px;
}

.tcm-video-modal {
  position: fixed;
  z-index: 999999;
  inset: 0;
  display: grid;
  padding: 28px;
  opacity: 0;
  place-items: center;
  pointer-events: none;
  transition: opacity 220ms ease;
}

.tcm-video-modal[aria-hidden="false"] {
  opacity: 1;
  pointer-events: auto;
}

.tcm-video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, 0.92);
  backdrop-filter: blur(9px);
}

.tcm-video-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(1100px, 92vw);
  transform: translateY(16px) scale(0.985);
  transition: transform 240ms ease;
}

.tcm-video-modal[aria-hidden="false"] .tcm-video-modal__dialog {
  transform: none;
}

.tcm-video-modal__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 16px;
  background: #000;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.58);
}

.tcm-video-modal__frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.tcm-video-modal__close {
  position: absolute;
  z-index: 2;
  top: -54px;
  right: 0;
  display: grid;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 50%;
  background: #171717;
  color: #fff;
  cursor: pointer;
  place-items: center;
}

.tcm-video-modal__close:hover,
.tcm-video-modal__close:focus-visible {
  border-color: #d02224;
  background: #d02224;
}

.tcm-video-modal__close svg {
  width: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.8;
}

body.tcm-modal-open {
  overflow: hidden;
}

@media (max-width: 991px) {
  .tcm-video-card {
    border-radius: 14px;
  }

  .tcm-video-card__play {
    width: 64px;
    height: 64px;
  }

  .tcm-video-modal {
    padding: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #home .tcm-industrial-visual img {
    animation: none;
    transition: none;
  }

  .tcm-video-card img {
    animation: none;
    transition: opacity 700ms ease;
  }
}

/* Industrial hero artwork: desktop-only so smaller layouts stay focused. */
#home,
#home .e-con-inner {
  position: relative;
}

#home .elementor-element-45f7088 {
  position: static;
}

#home {
  overflow: hidden;
}

#home .banner__content {
  position: relative;
  z-index: 2;
  max-width: 650px;
}

.tcm-industrial-visual {
  display: none;
}

/* White industrial blueprint process with a clear 1-6 production path. */
#process,
.elementor-element-6e9f3a7 {
  background: #fff !important;
}

.process-area .process__wrp {
  position: relative;
  padding: 84px 64px 62px;
  overflow: hidden;
  border: 1px solid rgba(23, 23, 23, 0.12);
  border-radius: 32px;
  background-color: #fff;
  background-image:
    linear-gradient(rgba(23, 23, 23, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23, 23, 23, 0.035) 1px, transparent 1px);
  background-size: 32px 32px;
  box-shadow: 0 24px 65px rgba(23, 23, 23, 0.08);
}

.process-area .process__wrp::before {
  top: 72px;
  bottom: 54px;
  left: 50%;
  width: 5px;
  border-radius: 99px;
  background: repeating-linear-gradient(to bottom, #b9b9b9 0 8px, transparent 8px 18px);
  transform: translateX(-50%);
}

.process-area .process__wrp::after {
  top: 24px;
  padding: 8px 20px;
  border: 0;
  background: #171717;
  color: #fff;
  content: "BRIEF TO FINAL FILM / 6 CLEAR STAGES";
  letter-spacing: 2.4px;
  box-shadow: 0 8px 24px rgba(23, 23, 23, 0.16);
}

.process-area .row {
  gap: 24px;
}

.process__item {
  width: calc(50% - 72px);
  min-height: 166px;
  padding: 28px 34px 25px;
  border: 1px solid rgba(23, 23, 23, 0.13);
  border-radius: 18px;
  background: rgba(247, 247, 247, 0.96);
  box-shadow: 0 14px 32px rgba(23, 23, 23, 0.08);
  backdrop-filter: none;
}

.process-area .row > [class*="col-"]:nth-child(odd) .process__item,
.process-area .row > [class*="col-"]:nth-child(even) .process__item {
  box-shadow: inset 0 3px 0 #757575, 0 14px 32px rgba(23, 23, 23, 0.08);
}

.process-area .row > [class*="col-"]:nth-child(odd) .process__item:hover,
.process-area .row > [class*="col-"]:nth-child(even) .process__item:hover {
  border-color: rgba(23, 23, 23, 0.3);
  box-shadow: inset 0 3px 0 #757575, 0 22px 44px rgba(23, 23, 23, 0.13);
}

.process__item::before {
  width: 72px;
  height: 3px;
  background: repeating-linear-gradient(to right, #a7a7a7 0 7px, transparent 7px 15px);
}

.process-area .row > [class*="col-"]:nth-child(odd) .process__item::before {
  right: -72px;
}

.process-area .row > [class*="col-"]:nth-child(even) .process__item::before {
  left: -72px;
}

.process__item::after {
  top: 12px;
  color: rgba(23, 23, 23, 0.055);
  font-size: 98px;
}

.process-area .wpr__process_title,
.process-area .wpr__process_title .word,
.process-area .wpr__process_title .char {
  color: #171717 !important;
}

.process-area .wpr__process_title {
  font-size: 28px;
  letter-spacing: -0.02em;
}

.process-area .wpr__process_info p {
  color: rgba(23, 23, 23, 0.67);
  font-size: 15px;
  line-height: 1.65;
}

.process-area .process__number {
  width: 70px;
  height: 70px;
  border: 5px solid #fff;
  background: #757575;
  box-shadow: 0 0 0 2px #757575, 0 12px 28px rgba(23, 23, 23, 0.18);
}

.process-area .row > [class*="col-"]:nth-child(odd) .process__number {
  right: -107px;
}

.process-area .row > [class*="col-"]:nth-child(even) .process__number {
  left: -107px;
}

.process-area .process__number:hover {
  box-shadow: 0 0 0 2px #757575, 0 17px 34px rgba(23, 23, 23, 0.24);
}

.process-area .process__number h4 {
  color: #fff;
  font-size: 23px;
  line-height: 60px;
}

.process-area .process__number::before {
  inset: -13px;
  border-color: rgba(117, 117, 117, 0.65);
}

/* Oversized footer signature, kept behind all interactive content. */
.elementor-element-d0ad2e1 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.elementor-element-d0ad2e1::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.016);
  content: "THE CAMERAÄ MAN";
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(240px, 24vw, 360px);
  font-weight: 700;
  letter-spacing: -0.065em;
  line-height: 0.75;
  pointer-events: none;
  transform: translateY(clamp(16px, 2.3vw, 30px));
  white-space: nowrap;
}

.elementor-element-d0ad2e1 > .e-con-inner {
  position: relative;
  z-index: 1;
}

@media (min-width: 1200px) {
  .tcm-industrial-visual {
    position: absolute;
    z-index: 1;
    top: 43%;
    right: auto;
    left: calc(100% + 18px);
    display: flex;
    width: clamp(470px, 45vw, 650px);
    flex-direction: column;
    align-items: flex-end;
    opacity: 0.42;
    pointer-events: none;
    transform: translateY(-43%);
  }

  .tcm-industrial-visual img {
    display: block;
    width: 100%;
    height: auto;
    filter: grayscale(1) contrast(0.92);
  }

  .tcm-industrial-visual span {
    margin-top: -26px;
    padding: 8px 14px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2.2px;
  }
}

@media (max-width: 991px) {
  .process-area .process__wrp {
    padding: 72px 24px 40px;
  }

  .process-area .process__wrp::before {
    left: 55px;
  }

  .process-area .row > [class*="col-"]:nth-child(n) .process__item {
    width: 100%;
    background: rgba(247, 247, 247, 0.98);
    box-shadow: inset 0 3px 0 #757575, 0 12px 28px rgba(23, 23, 23, 0.08);
  }

  .process-area .row > [class*="col-"]:nth-child(n) .process__number {
    right: auto;
    left: -78px;
  }
}

@media (max-width: 575px) {
  .process-area .process__wrp {
    padding: 68px 14px 28px;
  }

  .process-area .process__wrp::before {
    left: 38px;
  }

  .process-area .process__wrp::after {
    padding-inline: 13px;
    font-size: 9px;
    letter-spacing: 1.2px;
  }

  .process-area .row > [class*="col-"]:nth-child(n) .process__number {
    left: -64px;
    width: 60px;
    height: 60px;
  }

  .process-area .process__number h4 {
    font-size: 20px;
    line-height: 50px;
  }

  .process-area .wpr__process_title {
    font-size: 24px;
  }

  .elementor-element-d0ad2e1::before {
    color: rgba(255, 255, 255, 0.014);
    font-size: 150px;
    transform: translateY(14px);
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .process-area .process__number::before {
    animation: none;
  }
}

/* Tablet header/footer alignment and navigation presence. */
@media (min-width: 768px) and (max-width: 1440px) {
  .tp-agenshark-header-3 .tp-header-bottom,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
    padding: 25px 0 17px;
  }

  .tp-agenshark-header-3 .tp-header-bottom > .container {
    padding-right: 30px;
    padding-left: 30px;
  }

  .tcm-header-brand-col,
  .tcm-header-brand-col .tp-header-main-left,
  .tp-header-logo,
  .tp-header-logo .standard-logo {
    height: 70px;
  }

  .tcm-header-brand-col .tp-header-main-left,
  .tp-header-logo,
  .tp-header-logo .standard-logo {
    display: flex;
    align-items: center;
  }

  .tp-header-logo {
    margin-left: 0;
  }

  .tp-header-logo .standard-logo img {
    width: clamp(178px, 23vw, 188px);
  }

  #footer .elementor-element-df78328,
  #footer .elementor-element-c1d818b {
    width: 100% !important;
    max-width: none !important;
  }

  #footer .elementor-element-c1d818b,
  #footer .elementor-element-c1d818b .elementor-widget-container,
  #footer .elementor-element-c1d818b .elementor-icon-list-items {
    text-align: center !important;
  }

  #footer .elementor-element-c1d818b .elementor-icon-list-items {
    display: flex;
    width: 100%;
    margin: 0;
    justify-content: center !important;
  }

  #footer .elementor-element-f8890d9 {
    width: fit-content !important;
    padding: 12px 22px !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 999px !important;
  }

  #footer .elementor-element-f8890d9 .elementor-icon-list-items {
    gap: 24px !important;
  }

  #footer .elementor-element-f8890d9 .elementor-icon-list-text {
    font-size: 16px !important;
    line-height: 1.35;
  }
}

/* Mobile spacing pass: consistent gutters, clear section rhythm, original alignment. */
@media (max-width: 767px) {
  #home,
  #about,
  #portfolio,
  #process,
  .elementor-element-7c09e61,
  .elementor-element-1009705,
  #contact {
    --padding-left: 24px;
    --padding-right: 24px;
  }

  #contact {
    --padding-left: 32px;
    --padding-right: 32px;
  }

  #home {
    --padding-top: 142px;
    --padding-bottom: 84px;
  }

  #about,
  #portfolio,
  .elementor-element-7c09e61,
  .elementor-element-1009705,
  #contact {
    --padding-top: 76px;
    --padding-bottom: 76px;
  }

  #process > .e-con-inner {
    padding-top: 68px !important;
    padding-bottom: 72px !important;
  }

  #about .elementor-element-10b4d5a,
  #about .elementor-element-10b4d5a .section-header,
  #about .elementor-element-10b4d5a .section__title-title {
    width: 100%;
    align-items: flex-start;
    text-align: left !important;
  }

  #about .elementor-element-10b4d5a .section__title-title {
    font-size: 38px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.025em;
  }

  #portfolio .section-header,
  #why-choose .section-header {
    margin-bottom: 30px;
  }

  #portfolio .section__title-title,
  #process .section__title-title,
  .elementor-element-7c09e61 .section__title-title {
    margin-bottom: 22px;
  }

  .elementor-element-7c09e61 .section__title-title {
    font-size: 37px !important;
    line-height: 1.18 !important;
  }

  #why-choose .elementor-element-ed3a224,
  #why-choose .elementor-element-a3556e6 {
    padding-inline: 0;
  }

  #why-choose {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }

  #why-choose > .e-con-inner {
    padding-top: 76px !important;
    padding-bottom: 76px !important;
  }
}

/* Compact full-bleed process board: three stages per row on desktop. */
html,
body {
  overflow-x: clip;
}

#process > .e-con-inner {
  padding-top: 58px !important;
  padding-bottom: 68px !important;
  gap: 32px !important;
}

.process-area .process__wrp {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  padding: 72px max(28px, calc((100vw - 1140px) / 2)) 62px;
  border: 0;
  border-radius: 0;
  background-color: #f8f8f8;
  background-image:
    linear-gradient(rgba(23, 23, 23, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23, 23, 23, 0.04) 1px, transparent 1px);
  background-size: 32px 32px;
  box-shadow: none;
}

.process-area .process__wrp::before,
.process-area .process__wrp::after {
  display: none;
}

.process-area .row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 54px 28px;
  margin: 0;
}

.process-area .row > [class*="col-"]:nth-child(n) {
  display: block;
  width: auto;
  padding: 0;
  margin: 0;
  grid-column: auto;
  grid-row: auto;
}

.process-area .row > [class*="col-"]:nth-child(n)::after {
  display: none;
}

.process-area .process__item {
  width: 100%;
  min-height: 220px;
  padding: 72px 28px 26px;
  border: 1px solid rgba(23, 23, 23, 0.13);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: inset 0 3px 0 #757575, 0 12px 30px rgba(23, 23, 23, 0.08) !important;
  transition: transform 280ms ease, box-shadow 280ms ease;
}

.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover {
  transform: translateY(-6px);
  box-shadow: inset 0 3px 0 #757575, 0 20px 40px rgba(23, 23, 23, 0.13) !important;
}

.process-area .process__item::before {
  top: 35px;
  right: 24px !important;
  left: 92px !important;
  width: auto !important;
  height: 2px;
  background: repeating-linear-gradient(to right, #b3b3b3 0 8px, transparent 8px 16px);
}

.process-area .process__item::after,
.process-area .row > [class*="col-"]:nth-child(n) .process__item::after {
  top: 70px;
  right: 20px;
  left: auto;
  color: rgba(23, 23, 23, 0.05);
  font-size: 86px;
}

.process-area .wpr__process_info {
  text-align: left;
}

.process-area .wpr__process_title {
  margin-top: 0 !important;
  font-size: 27px;
}

.process-area .wpr__process_info p {
  max-width: none;
  font-size: 15px;
  line-height: 1.62;
}

.process-area .process__number,
.process-area .row > [class*="col-"]:nth-child(n) .process__number {
  top: 0;
  right: auto;
  left: 26px;
  width: 72px;
  height: 72px;
  transform: translateY(-36px);
}

.process-area .process__number:hover {
  transform: translateY(-36px) scale(1.06);
}

.process-area .process__number h4 {
  font-size: 23px;
  line-height: 62px;
}

@media (min-width: 1200px) {
  .tcm-industrial-visual {
    opacity: 0.34;
  }
}

@media (max-width: 991px) {
  #process > .e-con-inner {
    padding-top: 48px !important;
    padding-bottom: 56px !important;
    gap: 28px !important;
  }

  .process-area .process__wrp {
    padding: 62px 24px 42px;
  }

  .process-area .row {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .process-area .process__item {
    min-height: 0;
    padding: 68px 24px 24px;
  }
}

@media (max-width: 575px) {
  .process-area .process__wrp {
    padding-inline: 18px;
  }

  .process-area .process__item {
    padding-inline: 21px;
  }
}

/* Final process interaction overrides must follow the compact layout rules. */
.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover {
  border-color: rgba(208, 34, 36, 0.42) !important;
  background: #fff;
  box-shadow: inset 0 3px 0 #d02224, 0 22px 44px rgba(23, 23, 23, 0.14) !important;
  transform: translateY(-8px);
}

.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover::before {
  background: repeating-linear-gradient(to right, #d02224 0 8px, transparent 8px 16px) !important;
  background-size: 16px 2px !important;
  animation: tcm-process-track 620ms linear infinite;
}

.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover::after {
  color: rgba(208, 34, 36, 0.09) !important;
  transform: translateX(-5px);
}

.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover .process__number {
  background: #d02224 !important;
  box-shadow: 0 0 0 2px #d02224, 0 16px 34px rgba(208, 34, 36, 0.24) !important;
  transform: translateY(-36px) scale(1.075) !important;
}

.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover .process__number::before {
  border-color: rgba(208, 34, 36, 0.62) !important;
  animation: tcm-process-ring 3.8s linear infinite;
}

.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover .wpr__process_title {
  color: #d02224 !important;
}

@media (prefers-reduced-motion: reduce) {
  .process-area .row > [class*="col-"]:nth-child(n) .process__item:hover::before,
  .process-area .row > [class*="col-"]:nth-child(n) .process__item:hover .process__number::before {
    animation: none;
  }
}

/* Interactive proof points: confident motion without changing the section rhythm. */
.fanfact__item {
  position: relative;
  z-index: 1;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: transform 260ms ease;
}

.fanfact__item h2,
.fanfact__item .st-counter,
.fanfact__item .st-counter-after,
.fanfact__item .st-counter-label,
.fanfact__item .st-counter-label strong {
  transition: color 220ms ease;
}

.fanfact__item:hover {
  z-index: 3;
  background: transparent;
  box-shadow: none;
  transform: translateY(-4px);
}

.fanfact__item:hover h2,
.fanfact__item:hover .st-counter,
.fanfact__item:hover .st-counter-after,
.fanfact__item:hover .st-counter-label,
.fanfact__item:hover .st-counter-label strong {
  color: #d02224 !important;
}

.elementor-element-628108b .elementor-icon-list-item {
  margin: 0 0 5px;
  padding: 11px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: transform 240ms ease;
}

.elementor-element-628108b .elementor-icon-list-icon,
.elementor-element-628108b .elementor-icon-list-icon svg,
.elementor-element-628108b .elementor-icon-list-text {
  transition: color 220ms ease, fill 220ms ease, transform 240ms ease;
}

.elementor-element-628108b .elementor-icon-list-item:hover {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  transform: translateY(-3px);
}

.elementor-element-628108b .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #d02224 !important;
}

.elementor-element-628108b .elementor-icon-list-item:hover .elementor-icon-list-icon {
  transform: translateY(-2px) scale(1.06);
}

.elementor-element-628108b .elementor-icon-list-item:hover .elementor-icon-list-icon svg {
  fill: #d02224 !important;
}

/* Keep informational hover states lively without turning them into cards. */
.elementor-element-31cbb4a,
.elementor-element-01476f8,
.elementor-element-6943ce7,
.elementor-element-dd32d3c,
.elementor-element-99ba405,
.elementor-element-c70e126 {
  border: 0;
  background: transparent !important;
  box-shadow: none;
  transition: transform 240ms ease, box-shadow 240ms ease, background-color 240ms ease;
}

.elementor-element-31cbb4a:hover,
.elementor-element-01476f8:hover {
  background: transparent !important;
  box-shadow: none;
  transform: translateY(-2px);
}

.elementor-element-31cbb4a .section__title-title,
.elementor-element-01476f8 .section__title-title,
.elementor-element-31cbb4a .section__title-title *,
.elementor-element-01476f8 .section__title-title * {
  transition: color 220ms ease;
}

.elementor-element-31cbb4a:hover .section__title-title,
.elementor-element-01476f8:hover .section__title-title,
.elementor-element-31cbb4a:hover .section__title-title *,
.elementor-element-01476f8:hover .section__title-title * {
  color: #d02224 !important;
}

@media (prefers-reduced-motion: reduce) {
  .fanfact__item,
  .elementor-element-628108b .elementor-icon-list-item,
  .elementor-element-628108b .elementor-icon-list-icon,
  .elementor-element-31cbb4a,
  .elementor-element-01476f8,
  .elementor-element-6943ce7,
  .elementor-element-dd32d3c,
  .elementor-element-99ba405,
  .elementor-element-c70e126 {
    transition: none;
  }

  .fanfact__item:hover,
  .elementor-element-628108b .elementor-icon-list-item:hover,
  .elementor-element-628108b .elementor-icon-list-item:hover .elementor-icon-list-icon,
  .elementor-element-31cbb4a:hover,
  .elementor-element-01476f8:hover {
    transform: none;
  }
}

/* Compact production metrics for the three execution stages. */
.process-area .row > [class*="col-"]:nth-child(n + 4) .process__item {
  min-height: 272px;
}

.tcm-process-timeline {
  position: relative;
  display: flex;
  min-height: 50px;
  margin-top: 18px;
  padding: 9px 13px 9px 30px;
  border: 1px solid rgba(23, 23, 23, 0.12);
  border-radius: 10px;
  background: rgba(23, 23, 23, 0.035);
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  overflow: hidden;
  transition: background-color 240ms ease, border-color 240ms ease, transform 240ms ease;
}

.tcm-process-timeline::before {
  position: absolute;
  top: 50%;
  left: 13px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #757575;
  box-shadow: 0 0 0 5px rgba(117, 117, 117, 0.12);
  content: "";
  transform: translateY(-50%);
  transition: background-color 240ms ease, box-shadow 240ms ease;
}

.tcm-process-timeline__label {
  color: rgba(23, 23, 23, 0.58);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.15px;
  line-height: 1.25;
  text-transform: uppercase;
}

.tcm-process-timeline strong {
  color: #171717;
  font-family: "Space Grotesk", sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
  transition: color 220ms ease;
}

.tcm-process-timeline strong span {
  color: inherit;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.2px;
}

.process-area .process__item:hover .tcm-process-timeline {
  border-color: rgba(208, 34, 36, 0.24);
  background: rgba(208, 34, 36, 0.055);
  transform: translateY(-2px);
}

.process-area .process__item:hover .tcm-process-timeline::before {
  background: #d02224;
  box-shadow: 0 0 0 5px rgba(208, 34, 36, 0.13);
}

.process-area .process__item:hover .tcm-process-timeline strong {
  color: #d02224;
}

@media (max-width: 575px) {
  .process-area .row > [class*="col-"]:nth-child(n + 4) .process__item {
    min-height: 0;
  }

  .tcm-process-timeline {
    padding-right: 11px;
  }

  .tcm-process-timeline strong {
    font-size: 17px;
  }
}

/* SEO-focused hero line and semantic statistic values. */
#home .banner__content h1 .tcm-hero-title-line {
  color: #fff !important;
  white-space: nowrap;
}

.tcm-stat-value {
  margin-bottom: 10px;
  color: #171717;
  font-family: "Space Grotesk", sans-serif;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.2;
}

.fanfact__item:hover .tcm-stat-value {
  color: #d02224;
}

@media (min-width: 1200px) {
  #home .banner__content h1 {
    font-size: clamp(72px, 6vw, 82px);
    line-height: 1.08;
  }
}

/* Optically align the form title closer to the top edge of its card. */
#contact .contact__item {
  padding-top: 28px;
}

@media (min-width: 1200px) {
  #contact {
    --padding-top: 138px;
    --padding-bottom: 138px;
  }

  #contact .elementor-element-8e2082b .section-header {
    margin-bottom: 28px;
    margin-left: -10px;
  }

  #clients {
    margin-top: 36px;
  }

  #clients .tcm-client-grid {
    margin-top: 56px;
  }

  #clients + .elementor-element-eeae043 .marquee-two-area {
    padding-top: 0;
  }

}

/* Responsive refinement layer for tablet and mobile layouts. */
@media (min-width: 768px) and (max-width: 1440px) {
  #about,
  #portfolio,
  #process,
  .elementor-element-7c09e61,
  .elementor-element-1009705,
  #contact {
    --padding-left: 44px;
    --padding-right: 44px;
  }

  #contact {
    --padding-top: 88px;
    --padding-bottom: 96px;
  }

  #portfolio .section__title-title,
  #process .section__title-title,
  .elementor-element-7c09e61 .section__title-title,
  .elementor-element-1009705 .section__title-title {
    font-size: 46px !important;
    line-height: 1.16 !important;
  }

  #home .banner__content h1 {
    font-size: clamp(54px, 6.3vw, 64px);
    line-height: 1.06;
  }

  .process-area .process__wrp {
    padding: 64px 28px 46px;
  }

  .elementor-element-cbb73f6 {
    --width: 100%;
    width: 100%;
  }

  .process-area .row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 52px 24px;
  }

  .process-area .process__item {
    min-height: 250px;
    padding: 68px 25px 25px;
    border: 1px solid rgba(23, 23, 23, 0.17);
    border-radius: 16px;
  }

  .process-area .wpr__process_title {
    font-size: 29px;
  }

  .process-area .wpr__process_info p {
    font-size: 16px;
  }

  .tcm-client-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 22px;
    width: min(760px, calc(100% - 48px));
  }

  .tcm-client-logo,
  .tcm-client-logo:nth-child(6) {
    grid-column: span 1;
  }

  #contact .elementor-element-8e2082b .section-header,
  #contact .elementor-element-8e2082b .section__title-sub,
  #contact .elementor-element-8e2082b .section__title-title,
  #contact .elementor-element-b74262e,
  #contact .elementor-element-b74262e .section-header,
  #contact .elementor-element-b74262e .section__title-sub,
  #contact .elementor-element-b74262e .section__title-title {
    text-align: center;
    justify-content: center;
  }

  #contact .elementor-element-b74262e {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 22px;
    padding-inline: 18px;
    align-items: start;
  }

  #contact .elementor-element-b74262e .section-header {
    margin-bottom: 18px;
  }

  #contact .elementor-element-8e2082b {
    grid-column: 1 / -1;
  }

  #contact .elementor-element-6943ce7,
  #contact .elementor-element-dd32d3c,
  #contact .elementor-element-99ba405,
  #contact .elementor-element-c70e126 {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
    box-shadow: none;
  }

  #contact .elementor-element-b74262e .contact__item {
    min-height: 0;
    padding: 0;
    background: transparent;
    border: 0;
  }

  #contact .elementor-element-b74262e .contact__item h3,
  #contact .elementor-element-b74262e .contact__item p,
  #contact .elementor-element-b74262e .contact__item a,
  #contact .elementor-element-b74262e .contact__item label {
    text-align: center;
  }

  #contact .contact__item {
    padding: 0;
    border-radius: 0;
  }

  #contact > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch;
    gap: 44px;
  }

  #contact .elementor-element-b74262e {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    width: 100% !important;
    min-width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    align-self: stretch;
  }

  #contact .elementor-element-8e2082b .section-header {
    margin-bottom: 72px;
  }

  #contact .elementor-element-8e2082b {
    grid-column: 1 / -1;
  }

  #contact .elementor-element-d5b8855 {
    width: 100% !important;
    min-width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    align-self: stretch;
    padding-inline: 22px;
    margin-bottom: 10px;
  }

  #contact .elementor-element-6943ce7,
  #contact .elementor-element-dd32d3c,
  #contact .elementor-element-99ba405,
  #contact .elementor-element-c70e126 {
    min-height: 0;
    padding: 28px 24px;
    background: transparent;
    border: 0;
    box-shadow: none;
    box-sizing: border-box;
  }

  #contact .elementor-element-6943ce7,
  #contact .elementor-element-99ba405 {
    border-right: 1px solid rgba(23, 23, 23, 0.14);
  }

  #contact .elementor-element-6943ce7,
  #contact .elementor-element-dd32d3c {
    border-bottom: 1px solid rgba(23, 23, 23, 0.14);
  }

  #contact .elementor-element-d5b8855 .contact__item {
    padding: 34px 30px 32px;
    border-radius: 18px;
    overflow: hidden;
  }

  .elementor-element-d0ad2e1 .elementor-element-23ff337,
  .elementor-element-d0ad2e1 .elementor-element-54c108c,
  .elementor-element-d0ad2e1 .elementor-element-df78328 {
    align-items: center;
    text-align: center;
  }

  #clients {
    margin-top: 40px;
    margin-bottom: 10px;
  }

  #clients .tcm-client-grid {
    margin-top: 34px;
  }
}

@media (max-width: 767px) {
  #home {
    --padding-top: 132px;
    --padding-bottom: 70px;
    --padding-left: 20px;
    --padding-right: 20px;
  }

  #home .elementor-element-45f7088 {
    --padding-left: 0;
    --padding-right: 0;
  }

  #home .elementor-element-6458ca1 > .elementor-widget-container {
    padding-left: 0;
  }

  #home .banner__content h1 {
    margin: 16px 0 20px !important;
    font-size: clamp(40px, 11.8vw, 48px);
    line-height: 1.08;
    letter-spacing: -0.035em;
  }

  #home .banner__content .section__title-sub {
    font-size: 11px;
    letter-spacing: 1.45px;
    line-height: 1.5;
  }

  #home .banner__content .section__title-desc {
    font-size: 16px;
    line-height: 1.65;
  }

  #about,
  #portfolio,
  #process,
  .elementor-element-7c09e61,
  .elementor-element-1009705,
  #contact {
    --padding-top: 64px;
    --padding-bottom: 64px;
    --padding-left: 20px;
    --padding-right: 20px;
  }

  #about {
    --border-radius: 20px 20px 0 0;
  }

  #portfolio .section__title-title,
  #process .section__title-title,
  .elementor-element-1009705 .section__title-title {
    font-size: 42px !important;
    line-height: 1.14 !important;
    letter-spacing: -0.025em;
  }

  .elementor-element-7c09e61 .section__title-title {
    font-size: 39px !important;
    line-height: 1.16 !important;
    letter-spacing: -0.025em;
  }

  #portfolio .section__title-desc,
  #process .section__title-desc,
  .elementor-element-7c09e61 .section__title-desc {
    font-size: 16px;
    line-height: 1.65;
  }

  .tcm-video-card {
    border: 1px solid rgba(23, 23, 23, 0.2);
    border-radius: 15px;
    box-shadow: 0 16px 34px rgba(23, 23, 23, 0.16);
  }

  .tcm-video-card__play {
    width: 58px;
    height: 58px;
    box-shadow: 0 0 0 9px rgba(208, 34, 36, 0.13), 0 12px 26px rgba(23, 23, 23, 0.28);
  }

  #process > .e-con-inner {
    gap: 26px !important;
  }

  .process-area .process__wrp {
    padding: 60px 20px 38px;
    background-size: 28px 28px;
  }

  .process-area .row {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .process-area .process__item,
  .process-area .row > [class*="col-"]:nth-child(n + 4) .process__item {
    min-height: 0;
    padding: 66px 22px 24px;
    border: 1px solid rgba(23, 23, 23, 0.18);
    border-radius: 17px;
    box-shadow: inset 0 3px 0 #757575, 0 12px 26px rgba(23, 23, 23, 0.1) !important;
  }

  .process-area .wpr__process_title {
    font-size: 30px !important;
    line-height: 1.2;
  }

  .process-area .wpr__process_info p {
    font-size: 16px;
    line-height: 1.65;
  }

  .process-area .process__item::after,
  .process-area .row > [class*="col-"]:nth-child(n) .process__item::after {
    font-size: 70px;
  }

  .tcm-process-timeline {
    min-height: 52px;
    padding: 10px 10px 10px 30px;
    border-color: rgba(23, 23, 23, 0.15);
    border-radius: 10px;
  }

  .tcm-process-timeline__label {
    font-size: 8px;
    letter-spacing: 0.85px;
  }

  .elementor-element-628108b .elementor-icon-list-item {
    margin-inline: 0;
    padding: 12px 0;
    border-color: transparent;
    background: transparent;
  }

  .elementor-element-628108b .elementor-icon-list-item > .elementor-icon-list-text {
    font-size: 17px !important;
    line-height: 1.55 !important;
  }

  .tcm-client-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 10px;
    width: calc(100% - 32px);
    margin-top: 10px;
  }

  .tcm-client-logo,
  .tcm-client-logo:nth-child(6) {
    grid-column: span 1;
    min-width: 0;
    min-height: 72px;
  }

  .tcm-client-logo img {
    width: 96px;
    max-width: 100%;
    max-height: 58px;
  }

  #contact .contact__item {
    padding: 34px 30px 30px;
    border: 1px solid rgba(23, 23, 23, 0.16);
    border-radius: 17px;
  }

  #contact .contact__item h3 {
    margin-bottom: 24px;
    font-size: 34px;
    line-height: 1.2;
  }

  #contact #your_form_id input,
  #contact #your_form_id textarea {
    border: 1px solid rgba(23, 23, 23, 0.12);
    border-radius: 12px;
  }

  #contact #your_form_id input {
    min-height: 52px;
  }

  #contact #your_form_id textarea {
    min-height: 138px;
  }

  #contact {
    --padding-left: 54px;
    --padding-right: 54px;
  }

  #contact > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch;
    gap: 28px;
    padding-inline: 22px;
    box-sizing: border-box;
  }

  #contact .elementor-element-b74262e,
  #contact .elementor-element-d5b8855 {
    max-width: 100%;
    width: 100%;
    min-width: 100%;
    flex: 0 0 100% !important;
    align-self: stretch;
  }

  #contact .elementor-element-b74262e,
  #contact .elementor-element-d5b8855 {
    padding-inline: 0;
  }

  #contact .elementor-element-b74262e {
    justify-items: center;
    text-align: center;
  }

  #contact .elementor-element-8e2082b .section-header {
    margin-bottom: 24px;
    align-items: center;
    text-align: center;
  }

  #contact .elementor-element-8e2082b .section__title-desc {
    margin-left: auto;
    margin-right: auto;
    max-width: 34ch;
  }

  #contact .contact__item h3 {
    text-align: center;
  }

  #contact .elementor-element-b74262e .section-header,
  #contact .elementor-element-b74262e .section__title-sub,
  #contact .elementor-element-b74262e .section__title-title,
  #contact .elementor-element-b74262e .contact__item,
  #contact .elementor-element-b74262e .contact__item h3,
  #contact .elementor-element-b74262e .contact__item p,
  #contact .elementor-element-b74262e .contact__item label,
  #contact .elementor-element-b74262e .contact__item a {
    text-align: center;
  }

  #clients {
    margin-top: -20px;
    margin-bottom: 34px;
  }

  #clients .tcm-client-grid {
    margin-top: 10px;
    margin-bottom: 40px;
  }

  #clients + .elementor-element-eeae043 .marquee-two-area {
    padding-top: 40px;
  }

  .elementor-element-d0ad2e1 {
    --padding-top: 56px;
    --padding-bottom: 32px;
    --padding-left: 20px;
    --padding-right: 20px;
    text-align: center;
  }

  .elementor-element-d0ad2e1 .elementor-element-4b43770,
  .elementor-element-d0ad2e1 .elementor-element-23ff337,
  .elementor-element-d0ad2e1 .elementor-element-ba3632d,
  .elementor-element-d0ad2e1 .elementor-element-54c108c,
  .elementor-element-d0ad2e1 .elementor-element-df78328,
  .elementor-element-d0ad2e1 .elementor-element-e2e6e82 {
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .elementor-element-d0ad2e1 .elementor-element-c9dbb14 {
    width: 100%;
    text-align: center;
  }

  .elementor-element-d0ad2e1 .elementor-element-c9dbb14 .elementor-widget-container {
    display: flex;
    width: 100%;
    justify-content: center;
  }

  .elementor-element-d0ad2e1 .tcm-footer-logo {
    display: inline-flex;
    margin-inline: auto;
    justify-content: center;
  }

  .elementor-element-d0ad2e1 .elementor-element-9888f9a,
  .elementor-element-d0ad2e1 .elementor-element-9888f9a p {
    width: 100%;
    text-align: center !important;
  }

  .elementor-element-d0ad2e1 .elementor-element-f8890d9 {
    width: 100%;
    padding: 12px 14px;
    border-color: rgba(255, 255, 255, 0.32);
    border-radius: 18px;
  }

  .elementor-element-d0ad2e1 .elementor-icon-list-items,
  .elementor-element-d0ad2e1 .elementor-social-icons-wrapper {
    justify-content: center;
  }

  .elementor-element-d0ad2e1 .elementor-element-f8890d9 .elementor-icon-list-items {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin: 0;
  }

  .elementor-element-d0ad2e1 .elementor-element-f8890d9 .elementor-icon-list-item {
    margin: 0;
  }

  .elementor-element-d0ad2e1 .elementor-element-c1d818b .elementor-icon-list-items {
    justify-content: center;
  }
}

@media (max-width: 360px) {
  #home .banner__content h1 {
    font-size: 39px;
  }

  #home .banner__content h1 .tcm-hero-title-line {
    white-space: normal;
  }

  .tcm-client-grid {
    gap-inline: 7px;
    width: calc(100% - 24px);
  }

  .tcm-client-logo img {
    width: 86px;
  }
}

/* Mobile and tablet header: balanced spacing, branded call action, and a clean menu drawer. */
.tcm-header-call {
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 17px;
  border: 1px solid #d02224;
  border-radius: 999px;
  background: #d02224;
  color: #fff;
  font-family: "Space Grotesk", sans-serif;
  font-size: 15px;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
  transition: background-color 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.tcm-header-call svg {
  flex: 0 0 auto;
  margin-right: 8px;
}

.tcm-header-call:hover,
.tcm-header-call:focus-visible {
  border-color: #fff;
  background: #fff;
  color: #171717;
  transform: translateY(-1px);
}

@media (max-width: 1440px) {
  .tp-agenshark-header-3 .tp-header-bottom,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
    padding: 21px 0 15px;
  }

  .tp-agenshark-header-3 .tp-header-bottom > .container {
    max-width: none;
    padding-right: 28px;
    padding-left: 28px;
  }

  .tp-agenshark-header-3 .tp-header-bottom .row {
    flex-wrap: nowrap;
  }

  .tcm-header-brand-col,
  .tcm-header-action-col {
    flex: 0 0 50%;
    width: 50%;
  }

  .tp-header-logo {
    margin-left: -6px;
  }

  .tp-header-logo .standard-logo img {
    width: clamp(170px, 24vw, 192px);
  }

  .tcm-header-action-col {
    gap: 17px;
  }

  .tcm-header-call {
    display: inline-flex;
  }

  .tp-header-hamburger-btn,
  .hamburger-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .tp-header-hamburger-btn {
    position: static;
    width: auto;
    height: auto;
    margin-right: 0;
    line-height: 1;
  }

  .hamburger-btn {
    width: 42px;
    height: 42px;
    padding: 0;
    color: #fff;
  }

  .offcanvas__area {
    right: 0;
    left: auto;
    width: min(390px, 88vw);
    border: 0;
    background: #171717;
    box-shadow: -24px 0 70px rgba(0, 0, 0, 0.3);
  }

  .offcanvas__wrapper {
    min-height: 100%;
    padding: 36px 34px 42px;
    background:
      radial-gradient(circle at 95% 2%, rgba(208, 34, 36, 0.12), transparent 28%),
      #171717;
  }

  .offcanvas__close {
    top: 28px;
    right: 28px;
  }

  .offcanvas__close-btn {
    display: inline-flex;
    width: 42px;
    height: 42px;
    padding: 0;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
    color: #fff !important;
    line-height: 1;
  }

  .offcanvas__close-btn svg {
    width: 25px;
    height: 25px;
    transform: none;
  }

  .offcanvas__close-btn svg path {
    stroke-width: 1.35;
  }

  .offcanvas__close-btn:hover svg {
    color: #d02224;
    transform: rotate(90deg);
  }

  .offcanvas__top {
    min-height: 48px;
    margin-bottom: 62px !important;
    padding-right: 54px;
  }

  .offcanvas__logo img {
    width: 178px;
    max-width: 100%;
    height: auto;
  }

  .tp-main-menu-mobile {
    display: block !important;
    margin-bottom: 0 !important;
  }

  .tp-main-menu-mobile .mean-container,
  .tp-main-menu-mobile .mean-nav {
    width: 100%;
    background: transparent !important;
  }

  .tp-main-menu-mobile .mean-container .mean-nav ul li {
    float: none;
  }

  .tp-main-menu-mobile .mean-container .mean-nav ul li a {
    float: none;
    width: 100%;
    padding: 17px 2px;
    border-top: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.13);
    color: #fff !important;
    font-family: "Space Grotesk", sans-serif;
    font-size: 20px;
    font-weight: 560;
    line-height: 1.25;
    letter-spacing: -0.01em;
    text-transform: none;
  }

  .tp-main-menu-mobile .tp-main-menu-content,
  .tp-main-menu-mobile .tp-main-menu-content nav,
  .tp-main-menu-mobile .tp-main-menu-content ul {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .tp-main-menu-mobile .tp-main-menu-content ul li {
    display: block;
    width: 100%;
    margin: 0;
    list-style: none;
  }

  .tp-main-menu-mobile .tp-main-menu-content ul li a {
    display: block;
    width: 100%;
    padding: 17px 2px;
    border-top: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.13);
    color: #fff !important;
    font-family: "Space Grotesk", sans-serif;
    font-size: 20px;
    font-weight: 560;
    line-height: 1.25;
    letter-spacing: -0.01em;
    text-transform: none;
    transition: color 200ms ease, padding-left 200ms ease;
  }

  .tp-main-menu-mobile .tp-main-menu-content ul li:first-child a {
    border-top: 1px solid rgba(255, 255, 255, 0.13);
  }

  .tp-main-menu-mobile .tp-main-menu-content ul li a:hover,
  .tp-main-menu-mobile .tp-main-menu-content ul li a:focus-visible {
    padding-left: 10px;
    color: #d02224 !important;
  }

  .tp-main-menu-mobile .mean-container .mean-nav ul li:first-child a {
    border-top: 1px solid rgba(255, 255, 255, 0.13);
  }

  .tp-main-menu-mobile .mean-container .mean-nav ul li a:hover,
  .tp-main-menu-mobile .mean-container .mean-nav ul li a:focus-visible {
    padding-left: 10px;
    color: #d02224 !important;
  }
}

@media (max-width: 767px) {
  .tp-agenshark-header-3 .tp-header-bottom,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
    padding: 19px 0 14px;
  }

  .tp-agenshark-header-3 .tp-header-bottom > .container {
    padding-right: 18px;
    padding-left: 18px;
  }

  .tp-header-logo {
    margin-left: -2px;
  }

  .tp-header-logo .standard-logo img {
    width: clamp(145px, 41vw, 166px);
  }

  .tcm-header-action-col {
    gap: 9px;
  }

  .tcm-header-call {
    min-height: 39px;
    padding: 0 13px;
    font-size: 14px;
  }

  .tcm-header-call svg {
    width: 15px;
    height: 15px;
    margin-right: 6px;
  }

  .hamburger-btn {
    width: 38px;
    height: 39px;
  }

  .hamburger-btn svg {
    width: 26px;
    height: auto;
  }

  .offcanvas__area {
    width: min(360px, 92vw);
  }

  .offcanvas__wrapper {
    padding: 28px 24px 36px;
  }

  .offcanvas__close {
    top: 19px;
    right: 17px;
  }

  .offcanvas__top {
    margin-bottom: 52px !important;
  }

  .offcanvas__logo img {
    width: 162px;
  }

  .tp-main-menu-mobile .mean-container .mean-nav ul li a {
    padding-block: 15px;
    font-size: 19px;
  }

  .tp-main-menu-mobile .tp-main-menu-content ul li a {
    padding-block: 15px;
    font-size: 19px;
  }
}

@media (max-width: 374px) {
  .tcm-header-call {
    width: 39px;
    padding: 0;
  }

  .tcm-header-call svg {
    margin-right: 0;
  }

  .tcm-header-call span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
}

/* Borderless animated production cell for the desktop hero. */
@media (min-width: 1200px) {
  #home .tcm-industrial-visual {
    position: absolute;
    z-index: 1;
    top: 50%;
    right: clamp(-118px, -6.2vw, -64px);
    left: auto;
    display: block;
    width: min(70vw, 1020px);
    height: auto;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
    opacity: 0.78 !important;
    pointer-events: none;
    transform: translateY(-47%);
    -webkit-mask-image: none;
    mask-image: none;
  }

  #home .tcm-industrial-visual::before,
  #home .tcm-industrial-visual::after {
    display: none;
    content: none;
  }

  #home .tcm-industrial-visual img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 22px 28px rgba(0, 0, 0, 0.2));
    transform-origin: 66% 52%;
    animation: tcm-production-cell-drift 11s ease-in-out infinite alternate;
  }
}

@keyframes tcm-production-cell-drift {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to { transform: translate3d(-7px, -5px, 0) scale(1.012); }
}

@media (prefers-reduced-motion: reduce) {
  #home .tcm-industrial-visual img {
    animation: none;
  }
}

/* Give the portfolio copy breathing room and vertically balance the testimonial video. */
@media (min-width: 768px) {
  .tcm-work-description span {
    display: block;
  }
}

@media (min-width: 1025px) {
  #why-choose > .e-con-inner {
    align-items: center;
  }

  #why-choose .elementor-element-a3556e6 {
    align-self: center;
  }
}

/* Consolidated content, motion, and responsive refinements. */
#home .section__title-sub,
#home .section__title-sub .char,
#home .section__title-sub .word {
  color: #fff !important;
}

.section-header-four span.shape-pink {
  padding-bottom: 5px;
  background-image: linear-gradient(#d02224, #d02224) !important;
  background-position: center 100% !important;
  background-size: 100% 4px !important;
}

#contact #your_form_id .btn-three,
#contact #your_form_id .btn-three i {
  border-color: #d02224 !important;
  background: #d02224 !important;
  color: #fff !important;
}

#contact #your_form_id .btn-three:hover,
#contact #your_form_id .btn-three:hover i {
  border-color: #171717 !important;
  background: #171717 !important;
  color: #fff !important;
}

.elementor-element-1009705 .section-header {
  margin-bottom: 34px;
}

.elementor-element-1009705 .tcm-client-grid {
  margin-top: 0;
}

#process {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

#process > .e-con-inner {
  position: relative;
  z-index: 2;
  gap: 30px !important;
}

#process .elementor-element-4ef0213 {
  transform: none;
}

#process .process-area {
  position: relative;
  isolation: isolate;
}

#process .process-area > .container {
  position: relative;
  z-index: 2;
}

#process .process-area::before,
#process .process-area::after {
  position: absolute;
  z-index: 0;
  border: 1px dashed rgba(23, 23, 23, 0.2);
  border-radius: 50%;
  background:
    radial-gradient(circle, transparent 0 27%, rgba(23, 23, 23, 0.08) 28% 31%, transparent 32%),
    repeating-conic-gradient(from 0deg, rgba(23, 23, 23, 0.17) 0 6deg, transparent 6deg 18deg);
  content: "";
  pointer-events: none;
}

#process .process-area::before {
  top: 4%;
  right: 3%;
  width: 92px;
  height: 92px;
  animation: tcm-process-dial 18s linear infinite;
}

#process .process-area::after {
  bottom: 2%;
  left: 2%;
  width: 64px;
  height: 64px;
  opacity: 0.68;
  animation: tcm-process-dial-reverse 14s linear infinite;
}

.tcm-process-timeline::after {
  animation: tcm-timeline-signal 2.8s ease-in-out infinite;
}

@keyframes tcm-process-dial {
  to { transform: rotate(360deg); }
}

@keyframes tcm-process-dial-reverse {
  to { transform: rotate(-360deg); }
}

@keyframes tcm-timeline-signal {
  0%, 100% { opacity: 0.5; transform: translateY(-50%) scale(0.82); }
  50% { opacity: 1; transform: translateY(-50%) scale(1.08); }
}

@media (min-width: 1200px) {
  #home .tcm-industrial-visual {
    top: 50%;
    right: clamp(-92px, -4.8vw, -48px);
    width: min(68vw, 980px);
    height: min(66vh, 610px);
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
    opacity: 0.82 !important;
    transform: translateY(-48%);
    -webkit-mask-image: radial-gradient(ellipse at 68% 52%, #000 0 42%, rgba(0, 0, 0, 0.94) 58%, transparent 88%);
    mask-image: radial-gradient(ellipse at 68% 52%, #000 0 42%, rgba(0, 0, 0, 0.94) 58%, transparent 88%);
  }

  #home .tcm-industrial-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: contrast(1.05) saturate(0.78);
    animation: tcm-mature-hero-drift 16s ease-in-out infinite alternate;
  }
}

@keyframes tcm-mature-hero-drift {
  from { transform: scale(1.015) translate3d(0, 0, 0); }
  to { transform: scale(1.055) translate3d(-10px, -5px, 0); }
}

@media (min-width: 768px) and (max-width: 1440px) {
  .tcm-why-title-break {
    display: none;
  }

  .elementor-element-7c09e61 {
    --padding-left: 36px;
    --padding-right: 36px;
  }

  .elementor-element-7c09e61 .elementor-element-ed3a224,
  .elementor-element-7c09e61 .elementor-element-a3556e6 {
    padding-inline: 16px;
  }
}

@media (max-width: 1024px) {
  #about .elementor-element-76c6d36,
  #about .elementor-element-bca785f,
  #about .elementor-element-10b4d5a,
  #about .elementor-element-6c2c73f {
    align-items: center;
    text-align: center !important;
  }

  #about .elementor-element-10b4d5a .section-header,
  #about .elementor-element-10b4d5a .section__title-title {
    width: 100%;
    text-align: center !important;
  }

  #about .fanfact__item-right {
    width: min(620px, 100%);
    margin-inline: auto;
  }

  .elementor-element-d0ad2e1 .elementor-element-f8890d9 {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .elementor-element-d0ad2e1 .elementor-element-f8890d9 .elementor-icon-list-items {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    justify-content: center;
    white-space: nowrap;
  }

  .elementor-element-d0ad2e1 .elementor-element-f8890d9 .elementor-icon-list-item,
  .elementor-element-d0ad2e1 .elementor-element-f8890d9 .elementor-icon-list-item a {
    margin: 0 !important;
  }

  .elementor-element-d0ad2e1 .elementor-element-f8890d9 .elementor-icon-list-text {
    font-size: 13px;
  }

  .elementor-element-1009705 .section-header {
    margin-bottom: 28px;
  }
}

@media (max-width: 767px) {
  /* Keep the brand lockup on the same optical center as the call/menu actions. */
  .tcm-header-brand-col,
  .tcm-header-brand-col .tp-header-main-left,
  .tp-header-logo,
  .tp-header-logo .standard-logo {
    height: 100%;
  }

  .tcm-header-brand-col .tp-header-main-left,
  .tp-header-logo,
  .tp-header-logo .standard-logo {
    display: flex;
    align-items: center;
  }

  .tp-header-logo {
    margin-left: 2px;
  }

  .tp-header-logo .standard-logo img {
    width: clamp(148px, 40vw, 158px);
  }

  /* Mobile sections use one restrained edge language instead of mixed radii. */
  #about {
    --border-radius: 0;
  }

  .tcm-video-card,
  .process-area .process__item,
  .process-area .row > [class*="col-"]:nth-child(n + 4) .process__item,
  #contact .contact__item {
    border-color: rgba(23, 23, 23, 0.14) !important;
    border-radius: 14px !important;
  }

  #contact #your_form_id input,
  #contact #your_form_id textarea {
    border-color: rgba(23, 23, 23, 0.14) !important;
    border-radius: 10px;
  }

  /* Elementor's image widget keeps an intrinsic left alignment unless both
     wrapper layers participate in centering. */
  #footer .elementor-element-c9dbb14,
  #footer .elementor-element-c9dbb14 .elementor-widget-container {
    display: flex !important;
    width: 100% !important;
    align-items: center;
    justify-content: center !important;
    text-align: center !important;
  }

  #footer .tcm-footer-logo {
    display: flex !important;
    width: fit-content;
    margin: 0 auto !important;
    align-items: center;
    justify-content: center;
  }

  #footer .tcm-footer-logo img {
    width: min(182px, 56vw);
    margin: 0 auto;
  }

  .elementor-element-7c09e61 {
    --padding-left: 22px;
    --padding-right: 22px;
  }

  .elementor-element-7c09e61 .elementor-element-ed3a224,
  .elementor-element-7c09e61 .elementor-element-a3556e6 {
    padding-inline: 4px;
  }

  #process .elementor-element-4ef0213 {
    transform: translateY(10px);
  }

  #process .process-area::before {
    width: 58px;
    height: 58px;
    opacity: 0.55;
  }

  #process .process-area::after {
    display: none;
  }

  .elementor-element-d0ad2e1 .elementor-element-f8890d9 .elementor-icon-list-text {
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #home .tcm-industrial-visual img,
  #process .process-area::before,
  #process .process-area::after,
  .tcm-process-timeline::after {
    animation: none;
  }
}

/* Final motion pass: video-like proof-point hover and always-on process detail. */
.elementor-element-628108b .elementor-icon-list-item {
  transform-origin: left center;
  transition: color 260ms ease, transform 300ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.elementor-element-628108b .elementor-icon-list-item:hover {
  transform: translateY(-4px) scale(1.025);
}

.process-area .process__item::before {
  animation: tcm-process-track 8s linear infinite;
}

.process-area .process__number::before {
  animation: tcm-process-ring 14s linear infinite;
}

.process-area .row > [class*="col-"]:nth-child(2n) .process__number::before {
  animation-direction: reverse;
  animation-duration: 17s;
}

.process-area .row > [class*="col-"]:nth-child(3n) .process__number::before {
  animation-delay: -5s;
  animation-duration: 20s;
}

@media (max-width: 767px) {
  .elementor-element-628108b .elementor-icon-list-item {
    transform-origin: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-element-628108b .elementor-icon-list-item,
  .process-area .process__item::before,
  .process-area .process__number::before {
    animation: none;
    transition: none;
  }

  .elementor-element-628108b .elementor-icon-list-item:hover {
    transform: none;
  }
}

/* True-alpha machinery hero: no image frame, mask edge, or rectangular fade. */
@media (min-width: 1200px) {
  #home .tcm-industrial-visual {
    top: 51%;
    right: clamp(-128px, -6.8vw, -72px);
    width: min(72vw, 1080px);
    height: auto;
    aspect-ratio: 1672 / 941;
    overflow: visible;
    opacity: 0.9 !important;
    transform: translateY(-43%);
    -webkit-mask-image: none;
    mask-image: none;
  }

  #home .tcm-industrial-visual img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: contrast(1.04) saturate(0.88) drop-shadow(0 22px 24px rgba(0, 0, 0, 0.26));
    animation: tcm-machinery-operate 9s ease-in-out infinite alternate;
  }

  #home .tcm-machine-flow {
    position: absolute;
    z-index: 3;
    top: 64%;
    left: 29%;
    width: 59%;
    height: 2px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: linear-gradient(90deg, transparent, rgba(208, 34, 36, 0.08) 25%, rgba(208, 34, 36, 0.7) 50%, rgba(208, 34, 36, 0.08) 75%, transparent);
    background-size: 34% 100%;
    filter: drop-shadow(0 0 5px rgba(208, 34, 36, 0.45));
    opacity: 0.68;
    pointer-events: none;
    transform: rotate(8.4deg);
    transform-origin: left center;
    animation: tcm-machine-flow 4.8s linear infinite;
  }

  #home .tcm-machine-tool {
    position: absolute;
    z-index: 4;
    top: 39.5%;
    left: 66.2%;
    width: 23px;
    height: 23px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border: 1px dashed rgba(208, 34, 36, 0.78);
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(208, 34, 36, 0.08);
    opacity: 0.74;
    pointer-events: none;
    animation: tcm-machine-tool 5.5s linear infinite;
  }
}

@keyframes tcm-machinery-operate {
  0% { transform: translate3d(0, 0, 0) scale(1); }
  45% { transform: translate3d(-3px, -2px, 0) scale(1.008); }
  100% { transform: translate3d(2px, 1px, 0) scale(1.004); }
}

@keyframes tcm-machine-flow {
  from { background-position: -45% 0; }
  to { background-position: 145% 0; }
}

@keyframes tcm-machine-tool {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  #home .tcm-industrial-visual img,
  #home .tcm-machine-flow,
  #home .tcm-machine-tool {
    animation: none;
  }
}

/* Final responsive authority layer. */
@media (min-width: 768px) and (max-width: 1440px) {
  .tp-agenshark-header-3 .tp-header-bottom,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
    padding: 25px 0 17px;
  }

  .tp-agenshark-header-3 .tp-header-bottom > .container {
    padding-right: 30px;
    padding-left: 30px;
  }

  .tcm-header-brand-col,
  .tcm-header-brand-col .tp-header-main-left,
  .tp-header-logo,
  .tp-header-logo .standard-logo {
    height: 70px;
  }

  .tcm-header-brand-col .tp-header-main-left,
  .tp-header-logo,
  .tp-header-logo .standard-logo {
    display: flex;
    align-items: center;
  }

  .tp-header-logo {
    margin-left: 0;
  }

  .tp-header-logo .standard-logo img {
    width: clamp(178px, 23vw, 188px);
  }

  #footer .elementor-element-df78328,
  #footer .elementor-element-c1d818b {
    width: 100% !important;
    max-width: none !important;
  }

  #footer .elementor-element-c1d818b,
  #footer .elementor-element-c1d818b .elementor-widget-container,
  #footer .elementor-element-c1d818b .elementor-icon-list-items {
    text-align: center !important;
  }

  #footer .elementor-element-c1d818b .elementor-icon-list-items {
    display: flex;
    width: 100%;
    margin: 0;
    justify-content: center !important;
  }

  #footer .elementor-element-f8890d9 {
    width: fit-content !important;
    padding: 12px 22px !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 999px !important;
  }

  #footer .elementor-element-f8890d9 .elementor-icon-list-items {
    gap: 24px !important;
  }

  #footer .elementor-element-f8890d9 .elementor-icon-list-text {
    font-size: 16px !important;
    line-height: 1.35;
  }
}

@media (max-width: 767px) {
  #home,
  #about,
  #portfolio,
  #process,
  .elementor-element-7c09e61,
  .elementor-element-1009705,
  #contact {
    --padding-left: 24px;
    --padding-right: 24px;
  }

  #home {
    --padding-top: 142px;
    --padding-bottom: 84px;
  }

  #about,
  #portfolio,
  .elementor-element-7c09e61,
  .elementor-element-1009705,
  #contact {
    --padding-top: 76px;
    --padding-bottom: 76px;
  }

  #process > .e-con-inner {
    padding-top: 68px !important;
    padding-bottom: 72px !important;
  }

  #about .elementor-element-10b4d5a,
  #about .elementor-element-10b4d5a .section-header,
  #about .elementor-element-10b4d5a .section__title-title {
    width: 100%;
    align-items: flex-start;
    text-align: left !important;
  }

  #about .elementor-element-10b4d5a .section__title-title {
    font-size: 38px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.025em;
  }

  #portfolio .section-header,
  #why-choose .section-header {
    margin-bottom: 30px;
  }

  #portfolio .section__title-title,
  #process .section__title-title,
  .elementor-element-7c09e61 .section__title-title {
    margin-bottom: 22px;
  }

  .elementor-element-7c09e61 .section__title-title {
    font-size: 37px !important;
    line-height: 1.18 !important;
  }

  #why-choose .elementor-element-ed3a224,
  #why-choose .elementor-element-a3556e6 {
    padding-inline: 0;
  }
}

@media (max-width: 767px) {
  #why-choose {
    padding-right: 36px !important;
    padding-left: 36px !important;
  }

  #why-choose > .e-con-inner {
    padding-top: 76px !important;
    padding-bottom: 76px !important;
  }
}

/* Make the Why Choose proof points feel responsive without creating cards. */
.elementor-element-628108b .elementor-icon-list-item > .elementor-icon-list-text,
.elementor-element-628108b .elementor-icon-list-item > a .elementor-icon-list-text {
  display: inline-block;
  transform: translateY(0) scale(1);
  transform-origin: left center;
  transition: color 240ms ease, transform 300ms cubic-bezier(0.2, 0.78, 0.25, 1) !important;
  will-change: transform;
}

.elementor-element-628108b .elementor-icon-list-item:hover > .elementor-icon-list-text,
.elementor-element-628108b .elementor-icon-list-item:hover > a .elementor-icon-list-text {
  color: #d02224 !important;
  transform: translateY(-4px) scale(1.025);
}

.elementor-element-628108b .elementor-icon-list-item:hover .elementor-icon-list-icon {
  transform: translateY(-4px) scale(1.08);
}

@media (prefers-reduced-motion: reduce) {
  .elementor-element-628108b .elementor-icon-list-item > .elementor-icon-list-text,
  .elementor-element-628108b .elementor-icon-list-item > a .elementor-icon-list-text,
  .elementor-element-628108b .elementor-icon-list-icon {
    transition: color 160ms ease !important;
  }

  .elementor-element-628108b .elementor-icon-list-item:hover > .elementor-icon-list-text,
  .elementor-element-628108b .elementor-icon-list-item:hover > a .elementor-icon-list-text,
  .elementor-element-628108b .elementor-icon-list-item:hover .elementor-icon-list-icon {
    transform: none;
  }
}

/* Bring the heading into the process board and keep the technical system alive. */
@media (min-width: 768px) {
  #process .elementor-element-4ef0213 {
    position: relative;
    z-index: 4;
    transform: translateY(52px);
  }
}

@media (max-width: 767px) {
  #process .elementor-element-4ef0213 {
    transform: translateY(24px);
  }
}

.process-area .process__item::before {
  animation: tcm-process-track-live 7s linear infinite !important;
}

.process-area .process__number::before {
  animation: tcm-process-orbit-live 12s linear infinite !important;
}

.process-area .row > [class*="col-"]:nth-child(2n) .process__number::before {
  animation-direction: reverse !important;
  animation-duration: 15s !important;
}

.process-area .row > [class*="col-"]:nth-child(3n) .process__number::before {
  animation-delay: -4s !important;
  animation-duration: 18s !important;
}

.process-area .process__item::after {
  animation: tcm-process-watermark-live 4.8s ease-in-out infinite;
}

.process-area .row > [class*="col-"]:nth-child(2n) .process__item::after {
  animation-delay: -1.6s;
}

.process-area .row > [class*="col-"]:nth-child(3n) .process__item::after {
  animation-delay: -3.2s;
}

#process .process-area::before {
  animation: tcm-process-dial 16s linear infinite !important;
}

#process .process-area::after {
  animation: tcm-process-dial-reverse 13s linear infinite !important;
}

@keyframes tcm-process-track-live {
  from { background-position: 0 0; }
  to { background-position: 32px 0; }
}

@keyframes tcm-process-orbit-live {
  to { transform: rotate(360deg); }
}

@keyframes tcm-process-watermark-live {
  0%, 100% { opacity: 0.58; transform: translateX(0); }
  50% { opacity: 0.9; transform: translateX(-3px); }
}

@media (prefers-reduced-motion: reduce) {
  .process-area .process__item::before,
  .process-area .process__number::before,
  #process .process-area::before,
  #process .process-area::after {
    animation-duration: 24s !important;
  }

  .process-area .process__item::after {
    animation: tcm-process-watermark-live 8s ease-in-out infinite;
  }
}

/* Industrial-campus hero: architecture communicates our market, smoke adds life. */
@media (min-width: 1200px) {
  #home .tcm-industrial-visual {
    top: 52%;
    right: clamp(-104px, -5.5vw, -58px);
    width: min(73vw, 1100px);
    aspect-ratio: 1672 / 941;
    opacity: 0.92 !important;
    transform: translateY(-39%);
  }

  #home .tcm-industrial-visual img {
    position: relative;
    z-index: 2;
    filter: contrast(1.04) saturate(0.82) drop-shadow(0 24px 28px rgba(0, 0, 0, 0.22));
    animation: tcm-factory-presence 12s ease-in-out infinite alternate;
  }

  #home .tcm-factory-smoke {
    position: absolute;
    z-index: 1;
    display: block;
    width: 42px;
    height: 88px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: radial-gradient(ellipse at 52% 68%, rgba(220, 220, 220, 0.34) 0 18%, rgba(174, 174, 174, 0.2) 38%, transparent 72%);
    filter: blur(5px);
    opacity: 0;
    pointer-events: none;
    transform-origin: 50% 100%;
    animation: tcm-smoke-rise 6.8s ease-out infinite;
  }

  #home .tcm-factory-smoke::before,
  #home .tcm-factory-smoke::after {
    position: absolute;
    border-radius: 50%;
    background: rgba(194, 194, 194, 0.18);
    content: "";
  }

  #home .tcm-factory-smoke::before {
    right: -7px;
    bottom: 20px;
    width: 31px;
    height: 38px;
  }

  #home .tcm-factory-smoke::after {
    bottom: 42px;
    left: -8px;
    width: 28px;
    height: 32px;
  }

  #home .tcm-factory-smoke--one {
    top: calc(9.8% - 88px);
    left: 75.3%;
    animation-delay: -1.4s;
  }

  #home .tcm-factory-smoke--two {
    top: calc(16.3% - 80px);
    left: 71.3%;
    width: 37px;
    height: 80px;
    animation-delay: -4.2s;
    animation-duration: 7.6s;
  }

  #home .tcm-factory-smoke--three {
    top: calc(20.5% - 74px);
    left: 79.6%;
    width: 34px;
    height: 74px;
    animation-delay: -2.8s;
    animation-duration: 8.2s;
  }
}

@keyframes tcm-factory-presence {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to { transform: translate3d(-3px, -2px, 0) scale(1.006); }
}

@keyframes tcm-smoke-rise {
  0% { opacity: 0; transform: translate3d(0, 12px, 0) scale(0.58, 0.7); }
  18% { opacity: 0.34; }
  58% { opacity: 0.25; }
  100% { opacity: 0; transform: translate3d(13px, -48px, 0) scale(1.5, 1.72); }
}

@media (prefers-reduced-motion: reduce) {
  #home .tcm-industrial-visual img {
    animation: none;
  }

  #home .tcm-factory-smoke {
    animation-duration: 12s;
  }
}

/* Match the reference site's 128px desktop header rhythm. */
@media (min-width: 1200px) {
  .tp-agenshark-header-3 .tp-header-bottom,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
    padding-top: 33px;
    padding-bottom: 32px;
  }

  #portfolio .tcm-work-description {
    width: 650px;
    max-width: calc(100vw - 630px);
  }
}

/* Dissolve the blueprint grid into the neighboring light-gray sections. */
#process::before,
#process::after {
  position: absolute;
  z-index: 1;
  right: 0;
  left: 0;
  height: clamp(96px, 11vw, 148px);
  content: "";
  pointer-events: none;
}

#process::before {
  top: 0;
  background: linear-gradient(to bottom, #fbfbfc 0%, rgba(251, 251, 252, 0.96) 22%, rgba(255, 255, 255, 0.58) 62%, transparent 100%);
}

#process::after {
  bottom: 0;
  background: linear-gradient(to top, #fbfbfc 0%, rgba(251, 251, 252, 0.96) 22%, rgba(255, 255, 255, 0.58) 62%, transparent 100%);
}

@media (max-width: 767px) {
  #process::before,
  #process::after {
    height: 88px;
  }
}

.tcm-mobile-hero-break {
  display: none;
}

/* Mobile composition: confident hero, centered work intro, contained process cards. */
@media (max-width: 767px) {
  #home .banner__content h1 {
    margin-top: 18px !important;
    margin-bottom: 0 !important;
    font-size: clamp(48px, 13.4vw, 52px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.045em;
  }

  #home .tcm-mobile-hero-break {
    display: inline;
  }

  #home .banner__content .section__title-desc {
    display: none !important;
  }

  #portfolio .tcm-work-description {
    width: min(100%, 34ch);
    margin-inline: auto;
    text-wrap: balance;
    hyphens: auto;
  }

  #portfolio .tcm-work-description span {
    display: inline;
  }

  #portfolio .elementor-element-b98b57b,
  #portfolio .section-header-four,
  #portfolio .section-header-four .section__title-sub,
  #portfolio .section-header-four .section__title-title,
  #portfolio .section-header-four .section__title-desc {
    width: 100%;
    align-items: center;
    text-align: center !important;
  }

  #portfolio .elementor-element-b1453bd,
  #portfolio .elementor-element-b1453bd .elementor-widget-container,
  #portfolio .wpr__button-wrap {
    width: 100%;
    text-align: center;
  }

  #portfolio .wpr__button-wrap {
    display: flex;
    justify-content: center;
  }

  #process .process-area {
    overflow: visible;
  }

  #process .process-area .process__wrp {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    padding: 60px 0 38px;
    overflow: visible;
  }

  #process .process-area .row {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }

  #about .elementor-element-10b4d5a,
  #about .elementor-element-10b4d5a .section-header,
  #about .elementor-element-10b4d5a .section__title-title {
    align-items: flex-start;
    text-align: left !important;
  }

  #process > .e-con-inner {
    padding-top: 42px !important;
  }
}

/* Cinematic factory atmosphere: restrained light, motion, and operating signals. */
@media (min-width: 1200px) {
  #home .tcm-factory-aura,
  #home .tcm-factory-light-sweep,
  #home .tcm-factory-beacon {
    position: absolute;
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    pointer-events: none;
  }

  #home .tcm-factory-aura {
    z-index: 0;
    top: 25%;
    right: 2%;
    width: 68%;
    height: 62%;
    border-radius: 50%;
    background:
      radial-gradient(ellipse at 68% 60%, rgba(208, 34, 36, 0.18) 0%, rgba(208, 34, 36, 0.075) 28%, transparent 66%),
      radial-gradient(ellipse at 52% 72%, rgba(255, 255, 255, 0.055) 0%, transparent 58%);
    filter: blur(16px);
    opacity: 0.72;
    animation: tcm-factory-aura-breathe 8.5s ease-in-out infinite alternate;
  }

  #home .tcm-factory-light-sweep {
    z-index: 3;
    inset: 0;
    background: linear-gradient(105deg, transparent 36%, rgba(255, 255, 255, 0.02) 44%, rgba(255, 255, 255, 0.16) 50%, rgba(208, 34, 36, 0.1) 53%, transparent 62%);
    background-size: 42% 100%;
    background-repeat: no-repeat;
    opacity: 0.48;
    -webkit-mask: url('/assets/brand/industrial-campus-cutout-v3.webp') center / contain no-repeat;
    mask: url('/assets/brand/industrial-campus-cutout-v3.webp') center / contain no-repeat;
    animation: tcm-factory-scan 9.5s cubic-bezier(0.35, 0, 0.2, 1) infinite;
  }

  #home .tcm-factory-beacon {
    z-index: 4;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #d02224;
    box-shadow: 0 0 0 3px rgba(208, 34, 36, 0.08), 0 0 12px 3px rgba(208, 34, 36, 0.55);
    opacity: 0.18;
    animation: tcm-factory-beacon 3.8s ease-in-out infinite;
  }

  #home .tcm-factory-beacon--one {
    top: 9.8%;
    left: 77%;
    animation-delay: -0.6s;
  }

  #home .tcm-factory-beacon--two {
    top: 16.3%;
    left: 73.2%;
    animation-delay: -2.1s;
    animation-duration: 4.6s;
  }

  #home .tcm-factory-beacon--three {
    top: 20.5%;
    left: 81.1%;
    animation-delay: -3.2s;
    animation-duration: 5.2s;
  }
}

@keyframes tcm-factory-aura-breathe {
  from { opacity: 0.5; transform: scale(0.96); }
  to { opacity: 0.82; transform: scale(1.045); }
}

@keyframes tcm-factory-scan {
  0%, 16% { background-position: -45% 0; opacity: 0; }
  25% { opacity: 0.42; }
  64% { opacity: 0.5; }
  78%, 100% { background-position: 155% 0; opacity: 0; }
}

@keyframes tcm-factory-beacon {
  0%, 72%, 100% { opacity: 0.14; transform: scale(0.72); }
  78% { opacity: 1; transform: scale(1.2); }
  84% { opacity: 0.32; transform: scale(0.86); }
  90% { opacity: 0.88; transform: scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  #home .tcm-factory-aura,
  #home .tcm-factory-light-sweep,
  #home .tcm-factory-beacon {
    animation-duration: 16s;
  }
}

/* Seat the visible factory baseline on the overlapping white section edge. */
@media (min-width: 1200px) {
  #home .tcm-industrial-visual {
    top: auto;
    bottom: 12px;
    transform: none;
  }
}

/* Keep the spacious opening header, then condense only its sticky state. */
@media (min-width: 1200px) {
  .tp-agenshark-header-3 .tp-header-bottom {
    transition: padding 0.28s ease, background-color 0.28s ease, box-shadow 0.28s ease;
  }

  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
    padding-top: 11px;
    padding-bottom: 11px;
  }

  .tp-agenshark-header-3 .tp-header-sticky .tp-header-logo .standard-logo img {
    width: 178px;
    transition: width 0.28s ease;
  }
}

/* Carry the cinematic factory scene into tablet and mobile hero compositions. */
@media (max-width: 1199px) {
  #home {
    isolation: isolate;
  }

  #home > .e-con-inner,
  #home .elementor-element-ae58ed7,
  #home .elementor-element-45f7088 {
    position: static;
  }

  #home .banner__content {
    z-index: 3;
  }

  #home .tcm-industrial-visual {
    position: absolute;
    z-index: 1;
    right: -8vw;
    bottom: clamp(16px, 3vw, 28px);
    left: auto;
    display: block;
    width: min(104vw, 980px);
    height: auto;
    aspect-ratio: 1672 / 941;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
    opacity: 0.82 !important;
    pointer-events: none;
    transform: none;
  }

  #home .tcm-industrial-visual img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: contrast(1.04) saturate(0.84) drop-shadow(0 18px 22px rgba(0, 0, 0, 0.24));
    animation: tcm-factory-presence 12s ease-in-out infinite alternate;
  }

  #home .tcm-factory-aura,
  #home .tcm-factory-light-sweep,
  #home .tcm-factory-beacon,
  #home .tcm-factory-smoke {
    position: absolute;
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    pointer-events: none;
  }

  #home .tcm-factory-aura {
    z-index: 0;
    top: 26%;
    right: 0;
    width: 70%;
    height: 60%;
    border-radius: 50%;
    background: radial-gradient(ellipse at 68% 60%, rgba(208, 34, 36, 0.16), rgba(208, 34, 36, 0.055) 32%, transparent 68%);
    filter: blur(13px);
    opacity: 0.62;
    animation: tcm-factory-aura-breathe 8.5s ease-in-out infinite alternate;
  }

  #home .tcm-factory-light-sweep {
    z-index: 3;
    inset: 0;
    background: linear-gradient(105deg, transparent 36%, rgba(255, 255, 255, 0.025) 44%, rgba(255, 255, 255, 0.16) 50%, rgba(208, 34, 36, 0.09) 53%, transparent 62%);
    background-size: 42% 100%;
    background-repeat: no-repeat;
    opacity: 0.42;
    -webkit-mask: url('/assets/brand/industrial-campus-cutout-v3.webp') center / contain no-repeat;
    mask: url('/assets/brand/industrial-campus-cutout-v3.webp') center / contain no-repeat;
    animation: tcm-factory-scan 9.5s cubic-bezier(0.35, 0, 0.2, 1) infinite;
  }

  #home .tcm-factory-smoke {
    z-index: 1;
    width: clamp(24px, 4vw, 38px);
    height: clamp(50px, 8vw, 78px);
    border-radius: 50%;
    background: radial-gradient(ellipse at 52% 68%, rgba(220, 220, 220, 0.3) 0 18%, rgba(174, 174, 174, 0.17) 38%, transparent 72%);
    filter: blur(4px);
    opacity: 0;
    transform-origin: 50% 100%;
    animation: tcm-smoke-rise 7.4s ease-out infinite;
  }

  #home .tcm-factory-smoke::before,
  #home .tcm-factory-smoke::after {
    position: absolute;
    border-radius: 50%;
    background: rgba(194, 194, 194, 0.16);
    content: "";
  }

  #home .tcm-factory-smoke::before {
    right: -16%;
    bottom: 23%;
    width: 74%;
    height: 44%;
  }

  #home .tcm-factory-smoke::after {
    bottom: 48%;
    left: -18%;
    width: 67%;
    height: 38%;
  }

  #home .tcm-factory-smoke--one {
    top: calc(9.8% - clamp(50px, 8vw, 78px));
    left: 75.3%;
    animation-delay: -1.4s;
  }

  #home .tcm-factory-smoke--two {
    top: calc(16.3% - clamp(50px, 8vw, 78px));
    left: 71.3%;
    animation-delay: -4.2s;
    animation-duration: 8s;
  }

  #home .tcm-factory-smoke--three {
    top: calc(20.5% - clamp(50px, 8vw, 78px));
    left: 79.6%;
    animation-delay: -2.8s;
    animation-duration: 8.6s;
  }

  #home .tcm-factory-beacon {
    z-index: 4;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #d02224;
    box-shadow: 0 0 0 3px rgba(208, 34, 36, 0.07), 0 0 10px 3px rgba(208, 34, 36, 0.5);
    opacity: 0.18;
    animation: tcm-factory-beacon 4.2s ease-in-out infinite;
  }

  #home .tcm-factory-beacon--one {
    top: 9.8%;
    left: 77%;
    animation-delay: -0.6s;
  }

  #home .tcm-factory-beacon--two {
    top: 16.3%;
    left: 73.2%;
    animation-delay: -2.1s;
  }

  #home .tcm-factory-beacon--three {
    top: 20.5%;
    left: 81.1%;
    animation-delay: -3.2s;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  #home {
    --padding-bottom: clamp(280px, 34vw, 340px);
  }
}

@media (max-width: 767px) {
  #home {
    --padding-bottom: clamp(280px, 82vw, 340px);
  }

  #home .tcm-industrial-visual {
    right: -25vw;
    bottom: clamp(38px, 12vw, 48px);
    width: min(148vw, 620px);
    opacity: 0.88 !important;
  }

  #home .tcm-industrial-visual img {
    filter: contrast(1.05) saturate(0.86) drop-shadow(0 14px 18px rgba(0, 0, 0, 0.25));
  }

  #home .tcm-factory-aura {
    opacity: 0.5;
  }
}

/* Keep the Our Work copy readable and restore its original frameless film card. */
#portfolio .tcm-work-description {
  width: min(650px, 100%);
  max-width: 100%;
  overflow: visible;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

#portfolio .tcm-work-description span {
  display: block;
  white-space: normal;
}

@media (max-width: 767px) {
  #portfolio .tcm-work-description {
    font-size: clamp(14px, 4vw, 16px);
  }
}

#portfolio .elementor-element-b98b57b,
#portfolio .section-header-four {
  overflow: visible;
}

#portfolio .tcm-video-card--work {
  border: 0 !important;
  background: transparent;
  box-shadow: none;
}

#portfolio .tcm-video-card--work::before {
  border: 0;
  box-shadow: none;
}

/* Let the core promise command the hero now that supporting copy is removed. */
@media (min-width: 1200px) {
  #home .banner__content h1 {
    font-size: clamp(78px, 6.45vw, 88px);
    line-height: 1.04;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  #home .banner__content h1 {
    font-size: clamp(66px, 7.6vw, 76px);
    line-height: 1.04;
  }
}

@media (max-width: 767px) {
  #home .banner__content h1 {
    font-size: clamp(51px, 13.8vw, 56px) !important;
    line-height: 1.01 !important;
  }

  #about {
    --border-radius: 26px 26px 0 0;
    border-radius: 26px 26px 0 0 !important;
  }
}

/* Preserve the desktop proof-grid language on tablet and mobile. */
@media (max-width: 1199px) {
  #about .elementor-element-76c6d36,
  #about .elementor-element-bca785f,
  #about .elementor-element-10b4d5a,
  #about .elementor-element-6c2c73f,
  #about .elementor-element-1c3cc8f {
    width: 100%;
    align-items: flex-start;
    text-align: left !important;
  }

  #about .elementor-element-10b4d5a .section-header,
  #about .elementor-element-10b4d5a .section__title-title {
    width: 100%;
    align-items: flex-start;
    text-align: left !important;
  }

  #about .elementor-element-76c6d36 {
    --gap: 34px;
    gap: 34px;
  }

  #about .fanfact__item-right {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: none;
    margin: 0;
  }

  #about .fanfact__item-right::before,
  #about .fanfact__item-right::after {
    position: absolute;
    z-index: 2;
    display: block !important;
    background: rgba(23, 23, 23, 0.16);
    content: "";
    pointer-events: none;
  }

  #about .fanfact__item-right::before {
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: auto;
    transform: none;
  }

  #about .fanfact__item-right::after {
    top: 50%;
    right: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 1px;
    transform: none;
  }

  #about .fanfact__item {
    display: flex;
    min-width: 0;
    min-height: 132px;
    margin: 0 !important;
    padding: 24px clamp(18px, 3vw, 30px);
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    text-align: left !important;
  }

  #about .fanfact__item:nth-child(odd) {
    padding-left: 0;
  }

  #about .fanfact__item:nth-child(even) {
    padding-right: 0;
  }

  #about .tcm-stat-value,
  #about .tcm-stat-value .st-counter,
  #about .tcm-stat-value .st-counter-after {
    font-size: clamp(42px, 6vw, 54px) !important;
    line-height: 1.05 !important;
    text-align: left !important;
  }

  #about .fanfact__item .st-counter-label,
  #about .fanfact__item .st-counter-label strong {
    display: block;
    width: 100%;
    max-width: 100%;
    color: #171717;
    font-size: clamp(15px, 2.1vw, 18px) !important;
    line-height: 1.35;
    overflow-wrap: break-word;
    text-align: left !important;
    white-space: normal !important;
  }
}

@media (max-width: 767px) {
  #about .elementor-element-76c6d36 {
    --gap: 28px;
    gap: 28px;
  }

  #about .fanfact__item-right {
    width: calc(100dvw - 48px) !important;
    max-width: calc(100dvw - 48px) !important;
    box-sizing: border-box;
  }

  #about .elementor-element-6c2c73f,
  #about .elementor-element-1c3cc8f,
  #about .elementor-element-1c3cc8f > .elementor-widget-container {
    width: calc(100dvw - 48px) !important;
    max-width: calc(100dvw - 48px) !important;
  }

  #about .fanfact__item {
    min-height: 116px;
    padding: 20px 14px;
  }

  #about .fanfact__item:nth-child(odd) {
    padding-left: 0;
  }

  #about .fanfact__item:nth-child(even) {
    padding-right: 0;
    padding-left: 20px;
  }

  #about .tcm-stat-value,
  #about .tcm-stat-value .st-counter,
  #about .tcm-stat-value .st-counter-after {
    font-size: clamp(36px, 10.5vw, 42px) !important;
  }

  #about .fanfact__item .st-counter-label,
  #about .fanfact__item .st-counter-label strong {
    font-size: clamp(13px, 3.8vw, 15px) !important;
  }
}

/* Tablet: keep the original theme rhythm; only normalize the process board. */
@media (min-width: 768px) and (max-width: 1440px) {
  #process > .e-con-inner {
    padding-top: 58px !important;
    padding-bottom: 76px !important;
    gap: 38px !important;
  }

  #process .process-area .process__wrp {
    padding: 72px 28px 54px;
  }

  #process .process-area .row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 54px 24px;
  }

  #process .process-area .row > [class*="col-"] {
    display: flex;
    width: auto;
    min-width: 0;
  }

  #process .process-area .process__item,
  #process .process-area .row > [class*="col-"]:nth-child(n + 4) .process__item {
    display: flex;
    width: 100%;
    min-height: 292px;
    height: 100%;
    padding: 72px 24px 25px;
    flex-direction: column;
  }

  #process .process-area .wpr__process_info {
    display: flex;
    min-width: 0;
    height: 100%;
    flex: 1;
    flex-direction: column;
  }

  #process .process-area .wpr__process_title {
    font-size: 30px !important;
    line-height: 1.18;
  }

  #process .process-area .wpr__process_info p {
    font-size: 16px;
    line-height: 1.58;
  }

  #process .tcm-process-timeline {
    width: 100%;
    min-height: 58px;
    margin-top: auto;
    padding: 10px 12px 10px 31px;
    gap: 8px;
  }

  #process .tcm-process-timeline__label {
    font-size: 9px;
    letter-spacing: 0.9px;
  }

  #process .tcm-process-timeline strong {
    font-size: 18px;
  }

  #process .tcm-process-timeline strong span {
    font-size: 9px;
  }
}

/* Keep the factory cinematic without the distracting wipe across its facade. */
#home .tcm-factory-light-sweep {
  display: none !important;
  animation: none !important;
}

/* Give the client wall a little air beneath its heading. */
#clients .tcm-client-grid {
  margin-top: 0;
}

/* On touch screens, give the process card nearest the viewport center its hover energy. */
@media (max-width: 767px) {
  .process-area .row > [class*="col-"]:nth-child(n) .process__item.is-scroll-active {
    border-color: rgba(208, 34, 36, 0.42) !important;
    background: #fff;
    box-shadow: inset 0 3px 0 #d02224, 0 22px 44px rgba(23, 23, 23, 0.14) !important;
    transform: translateY(-8px);
  }

  .process-area .process__item.is-scroll-active::before {
    background: repeating-linear-gradient(to right, #d02224 0 8px, transparent 8px 16px) !important;
    background-size: 16px 2px !important;
    animation: tcm-process-track 620ms linear infinite;
  }

  .process-area .process__item.is-scroll-active::after {
    color: rgba(208, 34, 36, 0.09) !important;
    transform: translateX(-5px);
  }

  .process-area .process__item.is-scroll-active .process__number {
    background: #d02224 !important;
    box-shadow: 0 0 0 2px #d02224, 0 16px 34px rgba(208, 34, 36, 0.24) !important;
    transform: translateY(-36px) scale(1.075) !important;
  }

  .process-area .process__item.is-scroll-active .process__number::before {
    border-color: rgba(208, 34, 36, 0.62) !important;
    animation: tcm-process-ring 3.8s linear infinite;
  }

  .process-area .process__item.is-scroll-active .wpr__process_title,
  .process-area .process__item.is-scroll-active .tcm-process-timeline strong {
    color: #d02224 !important;
  }

  .process-area .process__item.is-scroll-active .tcm-process-timeline {
    border-color: rgba(208, 34, 36, 0.24);
    background: rgba(208, 34, 36, 0.055);
    transform: translateY(-2px);
  }

  .process-area .process__item.is-scroll-active .tcm-process-timeline::before {
    background: #d02224;
    box-shadow: 0 0 0 5px rgba(208, 34, 36, 0.13);
  }

  #clients {
    margin-top: -20px;
    margin-bottom: 34px;
    padding-bottom: 4px;
  }

  #clients .tcm-client-grid {
    margin-top: 10px;
    margin-bottom: 40px;
  }

  #clients + .elementor-element-eeae043 {
    margin-top: 28px;
  }

  #clients + .elementor-element-eeae043 .marquee-two-area {
    padding-top: 40px;
  }
}

@media (hover: none), (pointer: coarse) {
  .process-area .process__item,
  .process-area .process__number,
  .process-area .tcm-process-timeline,
  .tcm-client-logo img {
    transition-timing-function: ease;
  }

  .process-area .process__item.is-scroll-active,
  .process-area .process__item.is-scroll-active .process__number,
  .process-area .process__item.is-scroll-active .tcm-process-timeline {
    transition: transform 260ms ease, box-shadow 260ms ease, background-color 260ms ease, border-color 260ms ease, color 260ms ease;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .process-area .process__item.is-scroll-active,
  .process-area .process__item.is-scroll-active .process__number,
  .process-area .process__item.is-scroll-active .tcm-process-timeline {
    transform: none !important;
  }

  .process-area .process__item.is-scroll-active::before,
  .process-area .process__item.is-scroll-active .process__number::before {
    animation: none !important;
  }
}

/* Preserve the original hero depth after removing its supporting paragraph. */
@media (min-width: 1200px) {
  #home > .e-con-inner {
    min-height: calc(100svh + 72px);
  }

  #home .tcm-industrial-visual {
    bottom: -10px;
    width: min(76vw, 1140px);
    pointer-events: none;
    transform: none;
    transition: none;
  }

  #home .tcm-industrial-visual img {
    animation: none;
    transform: none;
    transition: none;
  }
}

/* Open up the responsive hero: stronger mobile promise, fuller factory view. */
@media (min-width: 768px) and (max-width: 1199px) {
  #home .tcm-mobile-hero-break {
    display: inline;
  }

  #home .banner__content {
    transform: none;
  }

  #home .tcm-industrial-visual {
    right: -1vw;
    bottom: clamp(14px, 2vw, 22px);
  }

  #about {
    --padding-top: 56px;
  }

  #portfolio .elementor-element-b98b57b,
  #portfolio .section-header-four,
  #portfolio .section-header-four .section__title-sub,
  #portfolio .section-header-four .section__title-title,
  #portfolio .section-header-four .section__title-desc {
    width: 100%;
    align-items: center;
    text-align: center !important;
  }

  #portfolio .elementor-element-b1453bd,
  #portfolio .elementor-element-b1453bd .elementor-widget-container,
  #portfolio .wpr__button-wrap {
    width: 100%;
    text-align: center;
  }

  #portfolio .wpr__button-wrap {
    display: flex;
    justify-content: center;
  }
}

@media (max-width: 767px) {
  #home .banner__content h1 {
    font-size: clamp(64px, 17vw, 72px) !important;
    line-height: 0.95 !important;
  }

  #home .tcm-industrial-visual {
    right: -8vw;
    bottom: clamp(38px, 12vw, 48px);
  }

  #about {
    --padding-top: 52px;
  }
}

@media (min-width: 1200px) {
  #home .banner__content h1 {
    font-size: clamp(84px, 6.65vw, 92px);
  }

  #home .banner__content .section__title-sub {
    position: relative;
    top: -12px;
  }

  .tp-agenshark-header-3 .tp-header-logo {
    margin-left: -20px;
  }
}

/* Tablet gutters: keep the process board full-bleed while its cards end cleanly. */
@media (min-width: 768px) and (max-width: 1440px) {
  #about,
  #process,
  #why-choose {
    --padding-left: 40px;
    --padding-right: 40px;
  }

  #why-choose {
    padding-right: 40px !important;
    padding-left: 40px !important;
  }

  #about .elementor-element-76c6d36 {
    box-sizing: border-box;
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  #portfolio .tcm-work-description {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(15px, 2vw, 18px) !important;
    white-space: normal;
  }

  #portfolio .tcm-work-description span {
    display: inline !important;
  }

  #home .banner__content h1 {
    font-size: clamp(74px, 8.4vw, 82px) !important;
    line-height: 1 !important;
  }

  #process .process-area,
  #process .process-area .container {
    width: 100%;
    max-width: 100%;
  }

  #process .process-area .container {
    padding-right: 0;
    padding-left: 0;
  }

  #process .process-area .process__wrp {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    padding-right: 16px;
    padding-left: 16px;
  }
}

/* Mobile opening rhythm: add air above the brand and below the eyebrow. */
@media (max-width: 767px) {
  .tp-agenshark-header-3 .tp-header-bottom {
    padding-top: 32px;
    padding-bottom: 15px;
  }

  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
    padding-top: 19px;
    padding-bottom: 14px;
  }

  #home .banner__content h1 {
    margin-top: 26px !important;
  }

  #home .elementor-element-6458ca1 > .elementor-widget-container {
    padding-top: 18px;
  }
}

/* Keep the tablet opening header generous, then slim it once it becomes sticky. */
@media (min-width: 768px) and (max-width: 1440px) {
  .tp-agenshark-header-3 .tp-header-bottom {
    transition: padding 0.28s ease, box-shadow 0.28s ease;
  }

  .tp-agenshark-header-3 .tp-header-bottom > .container {
    padding-right: 42px;
    padding-left: 42px;
  }

  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .tp-agenshark-header-3 .tp-header-sticky .tcm-header-brand-col,
  .tp-agenshark-header-3 .tp-header-sticky .tcm-header-brand-col .tp-header-main-left,
  .tp-agenshark-header-3 .tp-header-sticky .tp-header-logo,
  .tp-agenshark-header-3 .tp-header-sticky .tp-header-logo .standard-logo {
    height: 54px;
  }

  .tp-agenshark-header-3 .tp-header-sticky .tp-header-logo .standard-logo img {
    width: 164px;
    transition: width 0.28s ease;
  }
}

/* Responsive footer: retain only the brand, copyright, and social channels. */
@media (max-width: 1024px) {
  #footer .elementor-element-f8890d9,
  #footer .elementor-element-df78328 {
    display: none !important;
  }

  #footer .elementor-element-4b43770,
  #footer .elementor-element-ba3632d,
  #footer .elementor-element-54c108c {
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  #footer .elementor-element-54c108c {
    --gap: 0;
    gap: 0;
  }

  #footer .elementor-element-8a84a23 {
    width: 100%;
    margin: 0 !important;
  }

  #footer .elementor-element-8a84a23 .elementor-social-icons-wrapper {
    justify-content: center;
  }
}

@media (max-width: 767px) {
  #footer {
    padding-bottom: 28px !important;
  }
}

/* Small laptop tuning: keep the first few sections breathing on 1038px-1392px widths. */
@media not all {
  .tp-agenshark-header-3 .tp-header-bottom > .container,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom > .container {
    width: min(90%, 1200px);
    max-width: 1200px;
    margin-inline: auto;
    box-sizing: border-box;
  }

  #home > .e-con-inner,
  #about > .e-con-inner,
  #portfolio > .e-con-inner,
  #process > .e-con-inner,
  #why-choose > .e-con-inner,
  #clients > .e-con-inner,
  #contact > .e-con-inner,
  #footer > .e-con-inner {
    width: min(90%, 1200px);
    max-width: 1200px;
    margin-inline: auto;
    box-sizing: border-box;
  }

  #process .process-area > .container {
    width: min(90%, 1200px);
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: 0;
    box-sizing: border-box;
  }

  #home .banner__content h1,
  #portfolio .section__title-title,
  #process .section__title-title,
  #about .section__title-title,
  #why-choose .section__title-title,
  #contact .section__title-title,
  .elementor-element-7c09e61 .section__title-title {
    text-wrap: balance;
  }

  #home .banner__content h1 {
    font-size: clamp(56px, 4.65vw, 70px);
    line-height: 1.02;
  }

  #about .section__title-title,
  #portfolio .section__title-title,
  #process .section__title-title,
  #why-choose .section__title-title,
  #contact .section__title-title,
  .elementor-element-7c09e61 .section__title-title {
    font-size: clamp(32px, 3.3vw, 54px) !important;
    line-height: 1.08 !important;
  }

  #home > .e-con-inner {
    min-height: calc(82svh + 12px);
  }

  #home {
    --padding-top: 112px;
    --padding-bottom: 42px;
  }

  #home .banner__content .section__title-sub {
    top: -2px;
  }

  #home .tcm-industrial-visual {
    right: -1vw;
    bottom: 14px;
    width: min(62vw, 940px);
  }

  #about,
  #portfolio,
  .elementor-element-7c09e61,
  .elementor-element-1009705,
  #contact {
    --padding-top: 52px;
    --padding-bottom: 52px;
  }

  #about {
    --padding-top: 40px;
  }

  #portfolio .section-header,
  #why-choose .section-header {
    margin-bottom: 16px;
  }

  #portfolio > .e-con-inner {
    display: flex;
    flex-direction: column;
    gap: 22px;
  }

  #portfolio .elementor-element-b98b57b,
  #portfolio .elementor-element-1e5c920 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    align-self: stretch;
  }

  #portfolio .elementor-element-b98b57b {
    align-items: center;
    text-align: center;
  }

  #portfolio .elementor-element-b1453bd,
  #portfolio .elementor-element-b1453bd .elementor-widget-container,
  #portfolio .wpr__button-wrap {
    width: 100%;
    text-align: center;
  }

  #portfolio .wpr__button-wrap {
    display: flex;
    justify-content: center;
  }

  #portfolio .elementor-element-1e5c920 .tcm-video-card--work {
    width: min(100%, 700px);
    margin-inline: auto;
  }

  #process > .e-con-inner {
    padding-top: 34px !important;
    padding-bottom: 42px !important;
    gap: 18px !important;
  }

  .process-area .process__wrp {
    padding: 54px max(20px, calc((100vw - 1140px) / 2)) 44px;
  }

  #process .process-area .row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 44px 24px;
  }

  #process .process-area .row > [class*="col-"] {
    padding-left: 0;
  }

  #process .process-area .process__item {
    min-height: 220px;
  }

  #why-choose > .e-con-inner {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
    gap: 18px !important;
  }

  #clients {
    margin-top: 10px;
    margin-bottom: 8px;
  }

  #clients .tcm-client-grid {
    margin-top: 12px;
  }

  #about .elementor-element-76c6d36 {
    --gap: 26px;
    gap: 26px;
  }

  #about .fanfact__item-right {
    gap: 0;
  }

  #about .fanfact__item {
    min-height: 112px;
    padding: 20px clamp(16px, 2.4vw, 24px);
  }

  #about .tcm-stat-value,
  #about .tcm-stat-value .st-counter,
  #about .tcm-stat-value .st-counter-after {
    font-size: clamp(34px, 4.8vw, 48px) !important;
  }

  #about .fanfact__item .st-counter-label,
  #about .fanfact__item .st-counter-label strong {
    font-size: clamp(13px, 1.6vw, 16px) !important;
  }
}

@media not all {
  .tp-agenshark-header-3 .tp-main-menu-area {
    display: none !important;
  }

  .tp-agenshark-header-3 .tcm-header-action-col {
    display: flex !important;
  }

  #home {
    --padding-top: 128px;
    --padding-bottom: 28px;
  }

  #home > .e-con-inner {
    min-height: calc(96svh + 24px);
  }

  #home .banner__content {
    margin-top: clamp(26px, 2.8vw, 40px);
    max-width: min(60vw, 680px);
  }

  #home .banner__content h1 {
    font-size: clamp(64px, 5.5vw, 78px) !important;
    line-height: 0.98;
  }

  #home .banner__content .section__title-sub {
    top: 0;
    margin-top: 34px;
  }

  #home .tcm-industrial-visual {
    right: clamp(-2vw, -0.2vw, 0px);
    bottom: 12px;
    width: min(66vw, 920px);
  }

  #why-choose {
    --padding-left: 36px;
    --padding-right: 36px;
    padding-left: 36px !important;
    padding-right: 36px !important;
  }

  #why-choose > .e-con-inner {
    gap: 24px !important;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  #why-choose .elementor-element-ed3a224,
  #why-choose .elementor-element-a3556e6 {
    padding-inline: 12px;
  }

  #why-choose .elementor-element-628108b {
    width: min(100%, 760px);
    margin-inline: auto;
  }

  #why-choose .elementor-element-628108b .elementor-icon-list-item {
    margin-bottom: 8px;
    padding: 10px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  #process .process-area .row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px 24px;
  }

  #process .process-area .row > [class*="col-"] {
    padding-left: 0;
    min-width: 0;
  }

  #process .process-area .process__item {
    width: 100%;
    min-height: 340px;
    padding: 84px 30px 32px;
    overflow: visible;
  }

  #process .process-area .wpr__process_title {
    font-size: clamp(30px, 2.5vw, 36px);
    line-height: 1.12;
  }

  #contact .elementor-element-8e2082b .section__title-title,
  #contact .section__title-title {
    line-height: 1.08 !important;
    font-family: inherit !important;
  }

  #contact .elementor-element-8e2082b .section__title-sub {
    letter-spacing: 1.25px;
    font-family: inherit !important;
  }

  #contact .elementor-element-8e2082b .section__title-desc,
  #contact .elementor-element-b74262e .section__title-sub,
  #contact .elementor-element-b74262e .section__title-title,
  #contact .elementor-element-b74262e .contact__item h3,
  #contact .elementor-element-b74262e .contact__item p,
  #contact .elementor-element-b74262e .contact__item a,
  #contact .elementor-element-b74262e .contact__item label {
    font-family: inherit !important;
  }

  #contact .elementor-element-b74262e .section__title-sub {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  #contact .elementor-element-b74262e .section__title-title {
    font-size: clamp(16px, 1.5vw, 20px) !important;
    line-height: 1.28 !important;
  }

  #contact .elementor-element-b74262e .contact__item h3 {
    font-size: clamp(15px, 1.15vw, 17px) !important;
    line-height: 1.2 !important;
  }

  #contact .elementor-element-b74262e .contact__item p,
  #contact .elementor-element-b74262e .contact__item a,
  #contact .elementor-element-b74262e .contact__item label {
    font-size: clamp(14px, 1vw, 16px) !important;
    line-height: 1.45 !important;
  }

  #home .banner__content h1 {
    font-size: clamp(64px, 5.5vw, 78px) !important;
    line-height: 0.98 !important;
  }
}

@media not all {
  #home {
    --padding-top: 128px;
    --padding-bottom: 40px;
  }

  #home > .e-con-inner {
    min-height: calc(96svh + 28px);
  }

  #home .banner__content {
    margin-top: clamp(30px, 3vw, 46px);
    max-width: min(60vw, 760px);
  }

  #home .banner__content h1 {
    font-size: clamp(70px, 5.4vw, 88px);
    line-height: 0.98;
  }

  #home .tcm-industrial-visual {
    right: clamp(-1vw, 0vw, 0px);
    bottom: 16px;
    width: min(64vw, 980px);
  }

  #why-choose {
    --padding-left: 44px;
    --padding-right: 44px;
    padding-left: 44px !important;
    padding-right: 44px !important;
  }

  #why-choose > .e-con-inner {
    gap: 28px !important;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  #why-choose .elementor-element-ed3a224,
  #why-choose .elementor-element-a3556e6 {
    padding-inline: 18px;
  }

  #why-choose .elementor-element-628108b {
    width: min(100%, 820px);
    margin-inline: auto;
  }

  #why-choose .elementor-element-628108b .elementor-icon-list-item {
    margin-bottom: 10px;
    padding: 11px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .tp-agenshark-header-3 .tp-main-menu ul {
    gap: clamp(12px, 1.1vw, 18px);
  }

  .tp-agenshark-header-3 .tp-main-menu ul li a {
    padding-block: 8px;
    font-size: clamp(13px, 1vw, 16px);
  }

  #home .banner__content h1 {
    font-size: clamp(58px, 4.65vw, 74px) !important;
    line-height: 1.02 !important;
  }

  #about .section__title-title,
  #portfolio .section__title-title,
  #process .section__title-title,
  #why-choose .section__title-title,
  #contact .section__title-title,
  .elementor-element-7c09e61 .section__title-title {
    font-size: clamp(40px, 3.8vw, 62px) !important;
    line-height: 1.05 !important;
  }

  #process .process-area .wpr__process_title {
    font-size: clamp(30px, 2.4vw, 36px) !important;
  }

  #about .elementor-element-76c6d36 {
    --gap: 30px;
    gap: 30px;
  }
}

/* Transition zone cleanup: keep 990px-1440px readable, balanced, and unclipped. */
@media not all {
  #about {
    --padding-top: clamp(72px, 6.4vw, 96px);
  }

  #about .elementor-element-1288b32 {
    margin-top: 0;
  }

  #home > .e-con-inner {
    min-height: calc(98svh + 28px);
  }

  #home .banner__content {
    padding-left: clamp(12px, 1.6vw, 24px);
    max-width: min(58vw, 660px);
    box-sizing: border-box;
  }

  #home .banner__content h1 {
    font-size: clamp(58px, 5vw, 78px) !important;
    font-weight: 800 !important;
    line-height: 0.96 !important;
  }

  #home .tcm-industrial-visual {
    bottom: clamp(10px, 2vw, 24px);
    right: clamp(-2vw, -0.8vw, 0px);
    width: min(56vw, 860px);
  }

  #home .tcm-industrial-visual img {
    width: 100%;
    height: auto;
  }

  #home .banner__content .section__title-sub {
    margin-top: clamp(12px, 2vw, 28px);
    margin-bottom: 18px;
    text-align: left;
  }

  #process .process-area .row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 3vw, 40px) clamp(18px, 2vw, 26px);
  }

  #process .process-area .process__wrp {
    padding: 72px clamp(24px, 3vw, 54px) 56px;
  }

  #process .process-area .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
  }

  #process .process-area .process__item {
    width: 100%;
    min-height: 250px;
    padding: 34px clamp(28px, 2.8vw, 40px) 30px;
  }

  #process .process-area .wpr__process_title {
    font-size: clamp(24px, 2.1vw, 30px);
    line-height: 1.12;
  }

  #process .process-area .wpr__process_info p {
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.6;
  }

  #contact .elementor-element-8e2082b .section__title-title,
  #contact .section__title-title {
    font-family: inherit !important;
    line-height: 1.08 !important;
  }

  #contact .elementor-element-8e2082b .section__title-desc {
    font-family: inherit !important;
    line-height: 1.6 !important;
    max-width: 38ch;
  }

  #contact .elementor-element-b74262e {
    gap: 16px 20px;
    padding-inline: clamp(10px, 1.6vw, 22px);
  }

  #contact > .e-con-inner {
    flex-wrap: wrap;
  }

  #contact .elementor-element-b74262e,
  #contact .elementor-element-d5b8855 {
    width: auto !important;
    max-width: none !important;
    min-width: min(100%, 320px);
    flex: 1 1 420px;
  }

  #contact .elementor-element-d5b8855 {
    flex-basis: 480px;
  }

  #contact .elementor-element-b74262e .section-header,
  #contact .elementor-element-b74262e .section__title-sub,
  #contact .elementor-element-b74262e .section__title-title,
  #contact .elementor-element-8e2082b .section-header,
  #contact .elementor-element-8e2082b .section__title-sub,
  #contact .elementor-element-8e2082b .section__title-title,
  #contact .elementor-element-8e2082b .section__title-desc,
  #contact .elementor-element-b74262e .contact__item,
  #contact .elementor-element-b74262e .contact__item h3,
  #contact .elementor-element-b74262e .contact__item p,
  #contact .elementor-element-b74262e .contact__item label,
  #contact .elementor-element-b74262e .contact__item a {
    text-align: center;
  }

  #contact .elementor-element-8e2082b .section-header {
    align-items: center;
  }

  #contact .elementor-element-8e2082b .section__title-sub,
  #contact .elementor-element-8e2082b .section__title-title,
  #contact .elementor-element-8e2082b .section__title-desc {
    margin-inline: auto;
  }

  #contact .elementor-element-b74262e .section__title-sub {
    font-family: inherit !important;
    letter-spacing: 0.08em;
  }

  #contact .elementor-element-b74262e .section__title-title {
    font-family: inherit !important;
    line-height: 1.35 !important;
  }

  #contact .elementor-element-b74262e .contact__item h3 {
    font-family: inherit !important;
    line-height: 1.2 !important;
  }

  #contact .elementor-element-b74262e .contact__item p,
  #contact .elementor-element-b74262e .contact__item a,
  #contact .elementor-element-b74262e .contact__item label {
    font-family: inherit !important;
    line-height: 1.45 !important;
  }
}

@media not all {
  #about .elementor-element-1288b32,
  #about .elementor-element-980c9b3 {
    display: flex !important;
    width: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left !important;
  }

  #about .elementor-element-1288b32 {
    margin-top: clamp(12px, 1.8vw, 24px);
  }

  #about .elementor-element-980c9b3 {
    flex-direction: column !important;
    gap: clamp(16px, 2vw, 28px);
  }

  #about .elementor-element-76c6d36 {
    width: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left !important;
    --gap: 30px;
    gap: 30px;
    margin-top: clamp(10px, 1.6vw, 18px);
  }

  #about .elementor-element-76c6d36 .section-header,
  #about .elementor-element-76c6d36 .section__title-title {
    width: 100%;
    text-align: left !important;
  }

  #about .elementor-element-bca785f,
  #about .elementor-element-6c2c73f,
  #about .elementor-element-1c3cc8f {
    width: 100%;
    align-items: flex-start;
  }

  #process .process-area .row > [class*="col-"] {
    min-width: 0;
  }

  #process .process-area .process__item,
  #process .process-area .row > [class*="col-"]:nth-child(n + 4) .process__item {
    width: 100%;
    min-height: 376px;
    padding: 92px clamp(34px, 3vw, 52px) 36px;
    overflow: visible;
  }

  #process .process-area .wpr__process_title {
    font-size: clamp(34px, 2.6vw, 40px) !important;
    line-height: 1.12;
  }

  #process .process-area .wpr__process_info p {
    font-size: 16px;
    line-height: 1.58;
  }

  #contact .elementor-element-8e2082b .section__title-title,
  #contact .section__title-title,
  #contact .elementor-element-b74262e .section__title-sub,
  #contact .elementor-element-b74262e .section__title-title,
  #contact .elementor-element-b74262e .contact__item h3,
  #contact .elementor-element-b74262e .contact__item p,
  #contact .elementor-element-b74262e .contact__item a,
  #contact .elementor-element-b74262e .contact__item label {
    font-family: inherit !important;
  }

  #contact .elementor-element-8e2082b .section__title-desc {
    font-family: inherit !important;
  }
}

/* Desktop contact alignment: keep the info column fully left-aligned on wide screens. */
@media (min-width: 1441px) {
  #contact .elementor-element-8e2082b .section-header {
    align-items: flex-start;
    text-align: left;
    margin-left: 0;
  }

  #contact .elementor-element-8e2082b .section__title-sub,
  #contact .elementor-element-8e2082b .section__title-title,
  #contact .elementor-element-8e2082b .section__title-desc {
    margin-inline: 0;
    text-align: left;
  }

  #contact .elementor-element-b74262e {
    justify-items: start;
    text-align: left;
  }

  #contact .elementor-element-b74262e .section-header,
  #contact .elementor-element-b74262e .section__title-sub,
  #contact .elementor-element-b74262e .section__title-title,
  #contact .elementor-element-b74262e .contact__item,
  #contact .elementor-element-b74262e .contact__item h3,
  #contact .elementor-element-b74262e .contact__item p,
  #contact .elementor-element-b74262e .contact__item label,
  #contact .elementor-element-b74262e .contact__item a {
    text-align: left;
  }

  #contact .elementor-element-b74262e .contact__item {
    align-items: flex-start;
  }
}

/* Treat 1200-1440px as a compact desktop/laptop range, not as tablet. */
@media (min-width: 1200px) and (max-width: 1440px) {
  .tp-agenshark-header-3 .tp-header-bottom,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
    padding-top: 28px !important;
    padding-bottom: 14px !important;
  }

  .tp-agenshark-header-3 .tp-header-bottom > .container,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom > .container {
    width: 92% !important;
    max-width: 1280px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .tp-agenshark-header-3 .tp-header-bottom .row {
    flex-wrap: nowrap !important;
  }

  .tp-agenshark-header-3 .tcm-header-brand-col {
    display: flex !important;
    width: 27% !important;
    height: 62px !important;
    flex: 0 0 27% !important;
    align-items: center !important;
  }

  .tp-agenshark-header-3 .tcm-header-brand-col .tp-header-main-left,
  .tp-agenshark-header-3 .tp-header-logo,
  .tp-agenshark-header-3 .tp-header-logo .standard-logo {
    display: flex !important;
    height: 62px !important;
    align-items: center !important;
  }

  .tp-agenshark-header-3 .tp-header-logo {
    margin-left: 0 !important;
  }

  .tp-agenshark-header-3 .tp-header-logo .standard-logo img,
  .tp-agenshark-header-3 .tp-header-sticky .tp-header-logo .standard-logo img {
    width: clamp(180px, 15.2vw, 208px) !important;
  }

  .tp-agenshark-header-3 .tp-header-bottom .d-xl-block {
    display: block !important;
    width: 73% !important;
    flex: 0 0 73% !important;
  }

  .tp-agenshark-header-3 .tp-main-menu-area {
    display: flex !important;
    width: 100% !important;
    justify-content: flex-end !important;
  }

  .tp-agenshark-header-3 .tp-main-menu ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: clamp(18px, 2vw, 32px) !important;
  }

  .tp-agenshark-header-3 .tp-main-menu ul li,
  .tp-agenshark-header-3 .tp-main-menu ul li a {
    white-space: nowrap !important;
  }

  .tp-agenshark-header-3 .tp-main-menu ul li a {
    padding: 9px 0 !important;
    font-size: clamp(14px, 1.15vw, 16px) !important;
  }

  .tp-agenshark-header-3 .tcm-header-action-col,
  .tp-agenshark-header-3 .tp-header-hamburger-btn,
  .tp-agenshark-header-3 .hamburger-btn {
    display: none !important;
  }

  #home {
    --padding-top: clamp(142px, 11vw, 158px) !important;
    --padding-bottom: 24px !important;
    min-height: clamp(850px, 100svh, 980px) !important;
  }

  #home > .e-con-inner {
    min-height: clamp(850px, 100svh, 980px) !important;
    padding-top: var(--padding-top) !important;
    padding-bottom: var(--padding-bottom) !important;
  }

  #home .banner__content {
    width: min(50vw, 650px) !important;
    max-width: 650px !important;
    margin-top: clamp(18px, 2vw, 28px) !important;
    margin-left: 0 !important;
  }

  #home .banner__content h1 {
    font-size: clamp(72px, 6.2vw, 88px) !important;
    line-height: 0.98 !important;
  }

  #home .tcm-mobile-hero-break {
    display: none !important;
  }

  #home .tcm-industrial-visual {
    right: clamp(-92px, -5vw, -54px) !important;
    bottom: clamp(4px, 0.8vw, 12px) !important;
    width: min(72vw, 1040px) !important;
  }

  #about > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(390px, 0.88fr) !important;
    gap: clamp(42px, 4vw, 64px) !important;
    align-items: center !important;
  }

  #about .elementor-element-9404588,
  #about .elementor-element-1288b32,
  #about .elementor-element-980c9b3 {
    display: flex !important;
  }

  #about .elementor-element-9404588,
  #about .elementor-element-76c6d36 {
    width: 100% !important;
    max-width: none !important;
    --width: 100% !important;
  }

  #about .elementor-element-9404588 {
    flex-direction: column !important;
    gap: clamp(28px, 3vw, 42px) !important;
  }

  #about .elementor-element-980c9b3 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(22px, 2.2vw, 34px) !important;
  }

  #about .elementor-element-76c6d36 {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(26px, 2.8vw, 38px) !important;
  }

  #about .fanfact__item-right {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: none !important;
  }

  #portfolio > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 28px clamp(46px, 5vw, 74px) !important;
    align-items: center !important;
  }

  #portfolio .elementor-element-b98b57b {
    grid-column: 1;
    grid-row: 1;
    align-items: flex-start !important;
    text-align: left !important;
  }

  #portfolio .elementor-element-b1453bd {
    grid-column: 1;
    grid-row: 2;
    text-align: left !important;
  }

  #portfolio .elementor-element-1e5c920 {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  #portfolio .section-header-four,
  #portfolio .section-header-four .section__title-sub,
  #portfolio .section-header-four .section__title-title,
  #portfolio .section-header-four .section__title-desc,
  #portfolio .tcm-work-description {
    align-items: flex-start !important;
    text-align: left !important;
  }

  #portfolio .wpr__button-wrap {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  #portfolio .elementor-element-1e5c920 .tcm-video-card--work {
    width: 100% !important;
    max-width: 680px !important;
    margin-inline: auto !important;
  }

  #process .process-area .row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(42px, 4vw, 56px) clamp(20px, 2vw, 30px) !important;
  }

  #process .process-area .process__wrp {
    padding: 72px clamp(24px, 2.4vw, 36px) 56px !important;
  }

  #process .process-area .process__item,
  #process .process-area .row > [class*="col-"]:nth-child(n) .process__item {
    min-height: 300px !important;
    padding: 76px clamp(22px, 2vw, 30px) 32px !important;
  }

  #process .process-area .wpr__process_title {
    font-size: clamp(27px, 2.25vw, 34px) !important;
  }

  #why-choose > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr) !important;
    gap: clamp(48px, 5vw, 76px) !important;
    align-items: center !important;
  }

  #why-choose .elementor-element-ed3a224,
  #why-choose .elementor-element-a3556e6 {
    width: 100% !important;
    max-width: none !important;
    --width: 100% !important;
  }

  #why-choose .tcm-why-title-break {
    display: none !important;
  }

  #contact > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 0.95fr) minmax(500px, 1.05fr) !important;
    gap: clamp(50px, 5vw, 78px) !important;
    align-items: start !important;
  }

  #contact .elementor-element-b74262e,
  #contact .elementor-element-d5b8855 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  #contact .elementor-element-b74262e {
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
  }

  #contact .elementor-element-b74262e .elementor-element-8e2082b {
    margin-bottom: 12px !important;
    padding-inline: 0 !important;
  }

  #contact .elementor-element-b74262e > .elementor-element:not(.elementor-element-8e2082b) {
    min-height: 0 !important;
    justify-content: flex-start !important;
    padding: 10px 0 !important;
    border: 0 !important;
    text-align: left !important;
  }

  #contact .elementor-element-b74262e .section-header,
  #contact .elementor-element-b74262e .section__title-title,
  #contact .elementor-element-b74262e .section__title-desc,
  #contact .elementor-element-b74262e .section__title-sub {
    align-items: flex-start !important;
    margin-inline: 0 !important;
    text-align: left !important;
  }

  #contact .elementor-element-d5b8855 {
    padding: 0 !important;
  }

  #clients .tcm-client-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
    gap: 38px 24px !important;
    width: min(100%, 1120px) !important;
  }

  #clients .tcm-client-logo,
  #clients .tcm-client-logo:nth-child(6) {
    grid-column: span 2 !important;
    min-height: 106px !important;
  }

  #clients .tcm-client-logo:nth-child(6) {
    grid-column: 2 / span 2 !important;
  }

  #clients .tcm-client-logo img {
    width: clamp(126px, 11vw, 154px) !important;
    max-height: 90px !important;
  }

  #footer > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  #footer .elementor-element-4b43770,
  #footer .elementor-element-ba3632d,
  #footer .elementor-element-54c108c {
    width: auto !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  #footer .elementor-element-f8890d9,
  #footer .elementor-element-df78328 {
    display: block !important;
  }

  #footer .elementor-element-8a84a23,
  #footer .elementor-element-8a84a23 .elementor-social-icons-wrapper {
    width: auto !important;
    justify-content: flex-start !important;
  }
}

/* Keep the laptop hero promise on four deliberate lines at narrower widths. */
@media (min-width: 1200px) and (max-width: 1350px) {
  html body #home .tcm-mobile-hero-break {
    display: inline !important;
  }
}

/* Contact and footer need the calmer tablet composition on compact laptops. */
@media (min-width: 1200px) and (max-width: 1440px) {
  html body #home {
    --padding-top: clamp(170px, 12.5vw, 186px) !important;
    --padding-bottom: 28px !important;
    min-height: clamp(940px, 108svh, 1080px) !important;
  }

  html body #home > .e-con-inner {
    min-height: clamp(940px, 108svh, 1080px) !important;
    padding-top: var(--padding-top) !important;
    padding-bottom: var(--padding-bottom) !important;
  }

  html body #home .banner__content {
    width: min(52vw, 690px) !important;
    max-width: 690px !important;
    margin-top: clamp(28px, 2.5vw, 38px) !important;
  }

  html body #home .banner__content h1 {
    font-size: clamp(78px, 6.6vw, 96px) !important;
    line-height: 0.97 !important;
  }

  html body #home .tcm-industrial-visual {
    right: clamp(-108px, -5.5vw, -64px) !important;
    bottom: 0 !important;
    width: min(86vw, 1200px) !important;
  }

  html body #contact > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: clamp(38px, 4vw, 58px) !important;
    padding-block: clamp(68px, 6vw, 92px) !important;
  }

  html body #contact .elementor-element-b74262e,
  html body #contact .elementor-element-d5b8855 {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
    min-width: 0 !important;
    flex: none !important;
    margin-inline: auto !important;
    box-sizing: border-box;
  }

  html body #contact .elementor-element-b74262e {
    position: relative;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  html body #contact .elementor-element-b74262e .elementor-element-8e2082b {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin-bottom: clamp(36px, 4vw, 54px) !important;
    padding-inline: clamp(18px, 4vw, 60px) !important;
  }

  html body #contact .elementor-element-b74262e > .elementor-element:not(.elementor-element-8e2082b) {
    display: flex !important;
    min-height: 132px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px clamp(16px, 3vw, 34px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center !important;
    box-sizing: border-box;
  }

  html body #contact .elementor-element-b74262e > .elementor-element:nth-child(2),
  html body #contact .elementor-element-b74262e > .elementor-element:nth-child(3) {
    border-bottom: 1px solid rgba(23, 23, 23, 0.16) !important;
  }

  html body #contact .elementor-element-b74262e > .elementor-element:nth-child(2),
  html body #contact .elementor-element-b74262e > .elementor-element:nth-child(4) {
    border-right: 1px solid rgba(23, 23, 23, 0.16) !important;
  }

  html body #contact .elementor-element-b74262e .section-header,
  html body #contact .elementor-element-b74262e .section__title-title,
  html body #contact .elementor-element-b74262e .section__title-desc,
  html body #contact .elementor-element-b74262e .section__title-sub,
  html body #contact .elementor-element-b74262e .contact__item,
  html body #contact .elementor-element-b74262e .contact__item h3,
  html body #contact .elementor-element-b74262e .contact__item p,
  html body #contact .elementor-element-b74262e .contact__item label,
  html body #contact .elementor-element-b74262e .contact__item a {
    align-items: center !important;
    justify-content: center !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  html body #contact .elementor-element-d5b8855 {
    padding: 0 clamp(16px, 3vw, 40px) clamp(24px, 3vw, 42px) !important;
  }

  html body #contact .tcm-contact-shell,
  html body #contact .contact__item-right,
  html body #contact .contact__item {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
  }

  html body #footer > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  html body #footer .elementor-element-f8890d9,
  html body #footer .elementor-element-df78328 {
    display: none !important;
  }

  html body #footer .elementor-element-4b43770,
  html body #footer .elementor-element-ba3632d,
  html body #footer .elementor-element-54c108c {
    width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  html body #footer .elementor-element-54c108c {
    --gap: 0;
    gap: 0 !important;
  }

  html body #footer .elementor-element-8a84a23,
  html body #footer .elementor-element-8a84a23 .elementor-social-icons-wrapper {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Final process treatment: alternating accents with a restrained hover lift. */
.process-area .row > [class*="col-"]:nth-child(odd) {
  --tcm-process-accent: #757575;
  --tcm-process-ring: rgba(117, 117, 117, 0.65);
}

.process-area .row > [class*="col-"]:nth-child(even) {
  --tcm-process-accent: #d02224;
  --tcm-process-ring: rgba(208, 34, 36, 0.62);
}

.process-area .row > [class*="col-"]:nth-child(n) .process__number,
.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover .process__number,
.process-area .row > [class*="col-"]:nth-child(n) .process__number:hover {
  background: var(--tcm-process-accent) !important;
  box-shadow: 0 0 0 2px var(--tcm-process-accent), 0 12px 28px rgba(23, 23, 23, 0.18) !important;
  transform: translateY(-36px) !important;
}

.process-area .row > [class*="col-"]:nth-child(n) .process__number::before,
.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover .process__number::before {
  border-color: var(--tcm-process-ring) !important;
  animation-name: tcm-process-orbit-live !important;
  animation-duration: 12s !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
}

.process-area .row > [class*="col-"]:nth-child(2n) .process__number::before,
.process-area .row > [class*="col-"]:nth-child(2n) .process__item:hover .process__number::before {
  animation-direction: reverse !important;
  animation-duration: 15s !important;
}

.process-area .row > [class*="col-"]:nth-child(3n) .process__number::before,
.process-area .row > [class*="col-"]:nth-child(3n) .process__item:hover .process__number::before {
  animation-delay: -4s !important;
  animation-duration: 18s !important;
}

.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover {
  border-color: rgba(23, 23, 23, 0.13) !important;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: inset 0 3px 0 #757575, 0 17px 34px rgba(23, 23, 23, 0.11) !important;
}

.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover::before {
  background: repeating-linear-gradient(to right, #b3b3b3 0 8px, transparent 8px 16px) !important;
  background-size: 16px 2px !important;
  animation: tcm-process-track-live 7s linear infinite !important;
}

.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover::after {
  color: rgba(23, 23, 23, 0.05) !important;
  transform: none;
}

.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover .wpr__process_title {
  color: #171717 !important;
}

.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover .tcm-process-timeline {
  border-color: rgba(23, 23, 23, 0.12);
  background: rgba(23, 23, 23, 0.035);
  transform: none;
}

.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover .tcm-process-timeline::before {
  background: #757575;
  box-shadow: 0 0 0 5px rgba(117, 117, 117, 0.12);
}

.process-area .row > [class*="col-"]:nth-child(n) .process__item:hover .tcm-process-timeline strong {
  color: #171717;
}

@media (hover: hover) and (pointer: fine) {
  .process-area .row > [class*="col-"]:nth-child(n) .process__item:hover {
    transform: translateY(-4px);
  }
}

@media (hover: none), (pointer: coarse) {
  .process-area .row > [class*="col-"]:nth-child(n) .process__item:hover {
    transform: none;
  }
}

/* Carry the complete red interaction language into steps 2, 4, and 6. */
.process-area .row > [class*="col-"]:nth-child(even) .process__item,
.process-area .row > [class*="col-"]:nth-child(even) .process__item:hover {
  border-color: rgba(208, 34, 36, 0.34) !important;
  box-shadow: inset 0 3px 0 #d02224, 0 12px 30px rgba(23, 23, 23, 0.09) !important;
}

.process-area .row > [class*="col-"]:nth-child(even) .process__item::before,
.process-area .row > [class*="col-"]:nth-child(even) .process__item:hover::before {
  background: repeating-linear-gradient(to right, #d02224 0 8px, transparent 8px 16px) !important;
}

.process-area .row > [class*="col-"]:nth-child(even) .process__item::after,
.process-area .row > [class*="col-"]:nth-child(even) .process__item:hover::after {
  color: rgba(208, 34, 36, 0.09) !important;
  transform: none;
}

.process-area .row > [class*="col-"]:nth-child(even) .wpr__process_title,
.process-area .row > [class*="col-"]:nth-child(even) .process__item:hover .wpr__process_title {
  color: #d02224 !important;
}

.process-area .row > [class*="col-"]:nth-child(even) .tcm-process-timeline,
.process-area .row > [class*="col-"]:nth-child(even) .process__item:hover .tcm-process-timeline {
  border-color: rgba(208, 34, 36, 0.24);
  background: rgba(208, 34, 36, 0.055);
  transform: none;
}

.process-area .row > [class*="col-"]:nth-child(even) .tcm-process-timeline::before,
.process-area .row > [class*="col-"]:nth-child(even) .process__item:hover .tcm-process-timeline::before {
  background: #d02224;
  box-shadow: 0 0 0 5px rgba(208, 34, 36, 0.13);
}

.process-area .row > [class*="col-"]:nth-child(even) .tcm-process-timeline strong,
.process-area .row > [class*="col-"]:nth-child(even) .process__item:hover .tcm-process-timeline strong {
  color: #d02224;
}

.process-area .row > [class*="col-"]:nth-child(even) .tcm-process-timeline__label,
.process-area .row > [class*="col-"]:nth-child(even) .process__item:hover .tcm-process-timeline__label {
  color: #d02224;
}

/* Keep mobile process cards stable instead of restarting their reveal mid-scroll. */
@media (max-width: 767px) {
  .process-area.is-revealed .row > [class*="col-"] {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
  }
}

/* Turn the rotating production wheel beside step 3 into a clear brand accent. */
#process .process-area::before {
  border-color: rgba(208, 34, 36, 0.44);
  background:
    radial-gradient(circle, transparent 0 27%, rgba(208, 34, 36, 0.14) 28% 31%, transparent 32%),
    repeating-conic-gradient(from 0deg, rgba(208, 34, 36, 0.42) 0 6deg, transparent 6deg 18deg);
}

/*
 * Stable laptop/tablet transition.
 * Keep this final in the cascade: older responsive experiments above overlap
 * in this range, while this block defines one continuous 990-1440 contract.
 */
@media (min-width: 768px) and (max-width: 1440px) {
  .tp-agenshark-header-3 .tp-header-bottom,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
    padding-top: 26px;
    padding-bottom: 14px;
  }

  .tp-agenshark-header-3 .tp-header-bottom > .container,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom > .container,
  #home > .e-con-inner,
  #about > .e-con-inner,
  #portfolio > .e-con-inner,
  #process > .e-con-inner,
  #why-choose > .e-con-inner,
  #clients > .e-con-inner,
  #contact > .e-con-inner,
  #footer > .e-con-inner {
    width: 90% !important;
    max-width: 1200px !important;
    margin-inline: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    box-sizing: border-box;
  }

  /* Tablet navigation is deliberately retained through 1440px. */
  .tp-agenshark-header-3 .tcm-header-brand-col {
    display: flex !important;
    width: 50% !important;
    height: 70px !important;
    align-items: center !important;
    flex: 0 0 50% !important;
  }

  .tp-agenshark-header-3 .tcm-header-brand-col .tp-header-main-left,
  .tp-agenshark-header-3 .tp-header-logo,
  .tp-agenshark-header-3 .tp-header-logo .standard-logo {
    display: flex !important;
    height: 70px !important;
    align-items: center !important;
  }

  .tp-agenshark-header-3 .tp-main-menu-area,
  .tp-agenshark-header-3 .tp-header-bottom .d-xl-block {
    display: none !important;
  }

  .tp-agenshark-header-3 .tcm-header-action-col {
    display: flex !important;
    width: 50% !important;
    height: 70px !important;
    gap: 18px !important;
    flex: 0 0 50% !important;
    margin-left: auto;
  }

  .tp-agenshark-header-3 .tp-header-bottom > .container,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom > .container {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }

  .tp-agenshark-header-3 .tp-header-hamburger-btn {
    display: flex !important;
    width: 42px !important;
    height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 42px !important;
  }

  .tp-agenshark-header-3 .tcm-header-call {
    display: inline-flex !important;
  }

  .tp-agenshark-header-3 .tp-header-logo {
    margin-left: 0 !important;
  }

  .tp-agenshark-header-3 .tp-header-logo .standard-logo img {
    width: clamp(188px, 17vw, 218px) !important;
  }

  #home,
  #about,
  #portfolio,
  #process,
  #why-choose,
  #clients,
  #contact,
  #footer {
    --padding-left: 0 !important;
    --padding-right: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  /* Hero: preserve a full factory silhouette and a strong four-line promise. */
  #home {
    --padding-top: clamp(154px, 13vw, 184px) !important;
    --padding-bottom: 28px !important;
    min-height: clamp(930px, 102svh, 1040px);
    overflow: hidden;
    isolation: isolate;
  }

  #home > .e-con-inner {
    position: relative;
    min-height: clamp(930px, 102svh, 1040px) !important;
    padding-top: var(--padding-top) !important;
    padding-bottom: var(--padding-bottom) !important;
  }

  #home .elementor-element-ae58ed7,
  #home .elementor-element-45f7088 {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    --width: 100% !important;
  }

  #home .elementor-element-6458ca1,
  #home .elementor-element-6458ca1 > .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  #home .banner__content {
    position: relative;
    z-index: 4;
    width: min(58vw, 700px) !important;
    max-width: 700px !important;
    margin-top: clamp(18px, 2.2vw, 34px) !important;
    margin-left: clamp(24px, 2.5vw, 32px) !important;
    padding-left: 0 !important;
    text-align: left;
    transform: none !important;
  }

  #home .banner__content .section__title-sub {
    position: relative;
    top: 0 !important;
    margin: 0 0 clamp(22px, 2.2vw, 32px) !important;
    font-size: clamp(15px, 1.3vw, 18px) !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }

  #home .banner__content h1 {
    margin: 0 !important;
    font-size: clamp(70px, 7.4vw, 84px) !important;
    font-weight: 800 !important;
    line-height: 0.96 !important;
    letter-spacing: -0.035em;
    text-align: left !important;
    text-wrap: initial;
  }

  #home .tcm-mobile-hero-break {
    display: inline !important;
  }

  #home .tcm-industrial-visual {
    position: absolute !important;
    z-index: 2;
    right: clamp(-64px, -3vw, -18px) !important;
    bottom: clamp(16px, 2vw, 30px) !important;
    left: auto !important;
    display: block !important;
    width: clamp(820px, 86vw, 1140px) !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 1672 / 941;
    opacity: 0.9 !important;
    transform: none !important;
  }

  #home .tcm-industrial-visual img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
  }

  /* Match the approved tablet About composition throughout this range. */
  #about .elementor-element-9404588,
  #about .elementor-element-1288b32,
  #about .elementor-element-980c9b3 {
    display: none !important;
  }

  #about > .e-con-inner {
    padding-top: clamp(68px, 6vw, 88px) !important;
    padding-bottom: clamp(68px, 6vw, 88px) !important;
  }

  #about .elementor-element-76c6d36,
  #about .elementor-element-bca785f,
  #about .elementor-element-6c2c73f,
  #about .elementor-element-1c3cc8f {
    width: 100% !important;
    max-width: none !important;
    --width: 100% !important;
  }

  #about .elementor-element-76c6d36 {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(30px, 4vw, 48px) !important;
  }

  #about .fanfact__item-right {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 760px !important;
    margin-inline: auto !important;
  }

  #portfolio > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(28px, 4vw, 46px) !important;
    padding-top: clamp(64px, 6vw, 86px) !important;
    padding-bottom: clamp(64px, 6vw, 86px) !important;
  }

  #portfolio .elementor-element-b98b57b,
  #portfolio .elementor-element-1e5c920,
  #portfolio .elementor-element-b1453bd,
  #portfolio .elementor-element-b1453bd .elementor-widget-container,
  #portfolio .wpr__button-wrap {
    width: 100% !important;
    max-width: none !important;
    --width: 100% !important;
    text-align: center !important;
  }

  #portfolio .elementor-element-b98b57b {
    align-items: center !important;
  }

  #portfolio .wpr__button-wrap {
    display: flex !important;
    justify-content: center !important;
  }

  #portfolio .elementor-element-1e5c920 .tcm-video-card--work {
    width: min(100%, 760px) !important;
    margin-inline: auto !important;
  }

  /* Process: avoid Bootstrap column widths and the previous nested 90% shrink. */
  #process .process-area,
  #process .process-area > .container {
    width: 100% !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  #process > .e-con-inner {
    gap: 24px !important;
    padding-top: clamp(58px, 5vw, 76px) !important;
    padding-bottom: clamp(58px, 5vw, 76px) !important;
  }

  #process .elementor-element-0e809a2,
  #process .elementor-element-cbb73f6,
  #process .elementor-element-90d8846,
  #process .elementor-element-90d8846 > .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;
    --width: 100% !important;
  }

  #process .process-area .process__wrp {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding: 72px clamp(28px, 4vw, 54px) 56px !important;
    overflow: visible;
    box-sizing: border-box;
  }

  #process .process-area .row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(30px, 3.2vw, 44px) clamp(20px, 2.5vw, 32px) !important;
    width: 100%;
    margin: 0 !important;
  }

  #process .process-area .row > [class*="col-"] {
    display: flex;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    padding: 0 !important;
    margin: 0 !important;
  }

  #process .process-area .process__item,
  #process .process-area .row > [class*="col-"]:nth-child(n) .process__item {
    width: 100% !important;
    min-width: 0;
    min-height: 310px !important;
    padding: 78px clamp(26px, 3vw, 42px) 34px !important;
    overflow: visible;
    box-sizing: border-box;
  }

  #process .process-area .wpr__process_title {
    font-size: clamp(28px, 2.5vw, 36px) !important;
    line-height: 1.12 !important;
  }

  #process .process-area .wpr__process_info p {
    font-size: clamp(15px, 1.25vw, 17px) !important;
    line-height: 1.58 !important;
  }

  /* Contact: use the established tablet composition and normal brand type. */
  #contact > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: clamp(38px, 4vw, 58px) !important;
    padding-block: clamp(68px, 6vw, 92px) !important;
  }

  #contact .elementor-element-b74262e,
  #contact .elementor-element-d5b8855 {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
    min-width: 0 !important;
    flex: none !important;
    margin-inline: auto !important;
    box-sizing: border-box;
  }

  #contact .elementor-element-b74262e {
    position: relative;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 0 !important;
    text-align: center;
  }

  #contact .elementor-element-b74262e .elementor-element-8e2082b {
    grid-column: 1 / -1;
    width: 100%;
    margin-bottom: clamp(36px, 4vw, 54px) !important;
    padding-inline: clamp(18px, 4vw, 60px);
  }

  #contact .elementor-element-b74262e > .elementor-element:not(.elementor-element-8e2082b) {
    display: flex;
    min-height: 132px;
    align-items: center;
    justify-content: center;
    padding: 24px clamp(16px, 3vw, 34px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box;
  }

  #contact .elementor-element-b74262e > .elementor-element:nth-child(2),
  #contact .elementor-element-b74262e > .elementor-element:nth-child(3) {
    border-bottom: 1px solid rgba(23, 23, 23, 0.16) !important;
  }

  #contact .elementor-element-b74262e > .elementor-element:nth-child(2),
  #contact .elementor-element-b74262e > .elementor-element:nth-child(4) {
    border-right: 1px solid rgba(23, 23, 23, 0.16) !important;
  }

  #contact .elementor-element-8e2082b .section-header,
  #contact .elementor-element-b74262e .section-header {
    width: 100%;
    align-items: center !important;
    text-align: center !important;
  }

  #contact .elementor-element-8e2082b .section__title-title {
    margin-inline: auto !important;
    font-family: inherit !important;
    font-size: clamp(46px, 4.7vw, 62px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.025em;
    text-align: center !important;
  }

  #contact .elementor-element-8e2082b .section__title-desc {
    max-width: 62ch !important;
    margin: 20px auto 0 !important;
    font-family: inherit !important;
    font-size: clamp(16px, 1.35vw, 18px) !important;
    line-height: 1.65 !important;
    text-align: center !important;
  }

  #contact .elementor-element-b74262e .section__title-sub {
    margin-bottom: 10px !important;
    font-family: inherit !important;
    font-size: clamp(15px, 1.25vw, 18px) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
  }

  #contact .elementor-element-6943ce7 .section__title-title,
  #contact .elementor-element-dd32d3c .section__title-title,
  #contact .elementor-element-99ba405 .section__title-title,
  #contact .elementor-element-c70e126 .section__title-title,
  #contact .elementor-element-6943ce7 .section__title-title a,
  #contact .elementor-element-dd32d3c .section__title-title a,
  #contact .elementor-element-99ba405 .section__title-title a,
  #contact .elementor-element-c70e126 .section__title-title a {
    margin: 0 !important;
    font-family: inherit !important;
    font-size: clamp(16px, 1.4vw, 19px) !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  #contact .elementor-element-d5b8855 {
    padding: 0 clamp(16px, 3vw, 40px) clamp(24px, 3vw, 42px) !important;
  }

  #contact .tcm-contact-shell,
  #contact .contact__item-right,
  #contact .contact__item {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
  }

  /* Three equal client columns keep all nine logos in three calm rows. */
  #clients .tcm-client-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(26px, 3.2vw, 42px) clamp(22px, 3vw, 38px) !important;
    width: min(100%, 980px) !important;
    margin-top: clamp(20px, 2.5vw, 34px) !important;
  }

  #clients .tcm-client-logo,
  #clients .tcm-client-logo:nth-child(6) {
    grid-column: span 1 !important;
    min-height: clamp(104px, 11vw, 132px);
  }

  #clients .tcm-client-logo img {
    width: clamp(132px, 14vw, 168px);
    max-height: 96px;
  }

  /* Keep the compact centered tablet footer through the full transition. */
  #footer .elementor-element-f8890d9,
  #footer .elementor-element-df78328 {
    display: none !important;
  }

  #footer .elementor-element-4b43770,
  #footer .elementor-element-ba3632d,
  #footer .elementor-element-54c108c {
    width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  #footer .elementor-element-54c108c {
    --gap: 0;
    gap: 0;
  }

  #footer .elementor-element-8a84a23,
  #footer .elementor-element-8a84a23 .elementor-social-icons-wrapper {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Blend large-mobile geometry into the tablet composition without a 768px jump. */
@media (min-width: 600px) and (max-width: 767px) {
  .tp-agenshark-header-3 .tp-header-bottom,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
    padding-top: 26px !important;
    padding-bottom: 14px !important;
  }

  .tp-agenshark-header-3 .tp-header-bottom > .container,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom > .container {
    width: 90% !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-right: 30px !important;
    padding-left: 30px !important;
  }

  .tp-agenshark-header-3 .tcm-header-brand-col,
  .tp-agenshark-header-3 .tcm-header-brand-col .tp-header-main-left,
  .tp-agenshark-header-3 .tp-header-logo,
  .tp-agenshark-header-3 .tp-header-logo .standard-logo,
  .tp-agenshark-header-3 .tcm-header-action-col {
    height: 70px !important;
    align-items: center !important;
  }

  .tp-agenshark-header-3 .tp-header-logo .standard-logo img {
    width: clamp(174px, 24.6vw, 188px) !important;
  }

  .tp-agenshark-header-3 .tcm-header-action-col {
    gap: clamp(12px, 2vw, 18px) !important;
  }

  #home {
    --padding-top: clamp(148px, 20vw, 154px) !important;
    --padding-right: 0 !important;
    --padding-left: 0 !important;
    min-height: clamp(860px, 121vw, 930px) !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  #home > .e-con-inner {
    width: 90% !important;
    min-height: clamp(860px, 121vw, 930px) !important;
    margin-inline: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  #home .elementor-element-6458ca1 > .elementor-widget-container {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  #home .banner__content {
    width: min(58vw, 445px) !important;
    max-width: 445px !important;
    margin-top: clamp(28px, 4vw, 32px) !important;
    margin-left: clamp(22px, 3.2vw, 25px) !important;
  }

  #home .banner__content .section__title-sub {
    margin-bottom: 22px !important;
    font-size: clamp(13px, 1.9vw, 15px) !important;
  }

  #home .banner__content h1 {
    margin: 0 !important;
    font-size: clamp(66px, 9.3vw, 70px) !important;
    line-height: 0.96 !important;
  }

  #home .tcm-industrial-visual {
    right: clamp(8px, 1.5vw, 14px) !important;
    bottom: clamp(34px, 5vw, 38px) !important;
    width: clamp(700px, 107vw, 820px) !important;
    opacity: 0.9 !important;
  }

  #about > .e-con-inner {
    width: 88% !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  #about .elementor-element-76c6d36,
  #about .elementor-element-bca785f,
  #about .elementor-element-6c2c73f,
  #about .elementor-element-1c3cc8f {
    width: 100% !important;
    max-width: none !important;
  }
}

/* Hold a generous logo-to-copy gap through the narrower laptop widths. */
@media (min-width: 768px) and (max-width: 1200px) {
  #home .banner__content {
    margin-top: clamp(44px, calc(65px - 1.7vw), 52px) !important;
  }
}

/* Ease that extra air back into the wide-tablet composition. */
@media (min-width: 1201px) and (max-width: 1366px) {
  #home .banner__content {
    margin-top: clamp(30px, calc(146px - 8.5vw), 44px) !important;
  }
}

/* Keep the factory visibly clear of the curved border, then ease into desktop. */
@media (min-width: 768px) and (max-width: 1200px) {
  #home .tcm-industrial-visual {
    bottom: clamp(24px, calc(60px - 3vw), 38px) !important;
  }
}

/* Let the wide-tablet factory settle closer to the curved section edge. */
@media (min-width: 1201px) and (max-width: 1440px) {
  #home .tcm-industrial-visual {
    bottom: clamp(12px, calc(84px - 5vw), 24px) !important;
  }
}

/* Prevent base desktop rules from changing alignment at the 1200px boundary. */
@media (min-width: 768px) and (max-width: 1440px) {
  #about .elementor-element-76c6d36,
  #about .elementor-element-bca785f,
  #about .elementor-element-10b4d5a,
  #about .elementor-element-6c2c73f,
  #about .elementor-element-1c3cc8f,
  #about .elementor-element-10b4d5a .section-header,
  #about .elementor-element-10b4d5a .section__title-title {
    align-items: flex-start !important;
    text-align: left !important;
  }

  #about .tcm-stat-value,
  #about .tcm-stat-value .st-counter,
  #about .tcm-stat-value .st-counter-after {
    font-size: clamp(48px, 4.5vw, 54px) !important;
    line-height: 1.05 !important;
    text-align: left !important;
  }

  #about .fanfact__item .st-counter-label,
  #about .fanfact__item .st-counter-label strong {
    font-size: 16px !important;
  }

  #portfolio .elementor-element-b98b57b,
  #portfolio .section-header-four,
  #portfolio .section-header-four .section__title-sub,
  #portfolio .section-header-four .section__title-title,
  #portfolio .section-header-four .section__title-desc,
  #portfolio .tcm-work-description {
    width: 100% !important;
    align-items: center !important;
    text-align: center !important;
  }

  #portfolio .section-header-four {
    margin-inline: auto !important;
  }

  #portfolio .elementor-element-b1453bd,
  #portfolio .elementor-element-b1453bd .elementor-widget-container,
  #portfolio .wpr__button-wrap {
    width: 100% !important;
    text-align: center !important;
  }

  #portfolio .wpr__button-wrap {
    display: flex !important;
    justify-content: center !important;
  }
}

/* Settle the factory closer to the hero's curved edge on wide tablets. */
@media (min-width: 1200px) and (max-width: 1440px) {
  #home .tcm-industrial-visual {
    bottom: clamp(4px, calc(74px - 5vw), 14px) !important;
  }

  .tp-agenshark-header-3 .tp-header-bottom .row {
    flex-wrap: nowrap !important;
  }

  .tp-agenshark-header-3 .tp-header-hamburger-btn {
    margin-right: 0 !important;
  }

  .offcanvas__area {
    right: 0 !important;
    left: auto !important;
  }
}

/* Refine the heading-to-logo rhythm on true desktop layouts only. */
@media (min-width: 1441px) {
  #clients .elementor-element-e353d3b {
    transform: translateY(-8px);
  }

  #clients .tcm-client-grid {
    margin-top: 12px !important;
  }
}

/* Authoritative laptop contract: desktop composition begins at 1200px. */
@media (min-width: 1200px) and (max-width: 1440px) {
  .tp-agenshark-header-3 .tp-header-bottom,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom {
    padding-top: 28px !important;
    padding-bottom: 14px !important;
  }

  .tp-agenshark-header-3 .tp-header-bottom > .container,
  .tp-agenshark-header-3 .tp-header-sticky.tp-header-bottom > .container {
    width: 92% !important;
    max-width: 1280px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .tp-agenshark-header-3 .tp-header-bottom .row {
    flex-wrap: nowrap !important;
  }

  .tp-agenshark-header-3 .tcm-header-brand-col {
    display: flex !important;
    width: 27% !important;
    height: 62px !important;
    flex: 0 0 27% !important;
    align-items: center !important;
  }

  .tp-agenshark-header-3 .tcm-header-brand-col .tp-header-main-left,
  .tp-agenshark-header-3 .tp-header-logo,
  .tp-agenshark-header-3 .tp-header-logo .standard-logo {
    display: flex !important;
    height: 62px !important;
    align-items: center !important;
  }

  .tp-agenshark-header-3 .tp-header-logo .standard-logo img,
  .tp-agenshark-header-3 .tp-header-sticky .tp-header-logo .standard-logo img {
    width: clamp(180px, 15.2vw, 208px) !important;
  }

  .tp-agenshark-header-3 .tp-header-bottom .d-xl-block {
    display: block !important;
    width: 73% !important;
    flex: 0 0 73% !important;
  }

  .tp-agenshark-header-3 .tp-main-menu-area {
    display: flex !important;
    width: 100% !important;
    justify-content: flex-end !important;
  }

  .tp-agenshark-header-3 .tp-main-menu ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: clamp(18px, 2vw, 32px) !important;
  }

  .tp-agenshark-header-3 .tp-main-menu ul li,
  .tp-agenshark-header-3 .tp-main-menu ul li a {
    white-space: nowrap !important;
  }

  .tp-agenshark-header-3 .tp-main-menu ul li a {
    padding: 9px 0 !important;
    font-size: clamp(14px, 1.15vw, 16px) !important;
  }

  .tp-agenshark-header-3 .tcm-header-action-col,
  .tp-agenshark-header-3 .tp-header-hamburger-btn,
  .tp-agenshark-header-3 .hamburger-btn,
  .tp-agenshark-header-3 .tcm-header-call {
    display: none !important;
  }

  #home {
    --padding-top: clamp(142px, 11vw, 158px) !important;
    --padding-bottom: 24px !important;
    min-height: clamp(850px, 100svh, 980px) !important;
  }

  #home > .e-con-inner {
    min-height: clamp(850px, 100svh, 980px) !important;
    padding-top: var(--padding-top) !important;
    padding-bottom: var(--padding-bottom) !important;
  }

  #home .banner__content {
    width: min(50vw, 650px) !important;
    max-width: 650px !important;
    margin-top: clamp(18px, 2vw, 28px) !important;
    margin-left: 0 !important;
  }

  #home .banner__content h1 {
    font-size: clamp(72px, 6.2vw, 88px) !important;
    line-height: 0.98 !important;
  }

  #home .tcm-mobile-hero-break {
    display: none !important;
  }

  #home .tcm-industrial-visual {
    right: clamp(-92px, -5vw, -54px) !important;
    bottom: clamp(4px, 0.8vw, 12px) !important;
    width: min(72vw, 1040px) !important;
  }

  #about > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(390px, 0.88fr) !important;
    gap: clamp(42px, 4vw, 64px) !important;
    align-items: center !important;
  }

  #about .elementor-element-9404588,
  #about .elementor-element-1288b32,
  #about .elementor-element-980c9b3 {
    display: flex !important;
  }

  #about .elementor-element-9404588 {
    width: 100% !important;
    max-width: none !important;
    flex-direction: column !important;
    gap: clamp(28px, 3vw, 42px) !important;
  }

  #about .elementor-element-980c9b3 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(22px, 2.2vw, 34px) !important;
  }

  #about .elementor-element-76c6d36 {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    flex-direction: column !important;
    gap: clamp(26px, 2.8vw, 38px) !important;
  }

  #about .fanfact__item-right {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: none !important;
  }

  #portfolio > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 28px clamp(46px, 5vw, 74px) !important;
    align-items: center !important;
  }

  #portfolio .elementor-element-b98b57b {
    grid-column: 1;
    grid-row: 1;
    align-items: flex-start !important;
    text-align: left !important;
  }

  #portfolio .elementor-element-b1453bd {
    grid-column: 1;
    grid-row: 2;
    text-align: left !important;
  }

  #portfolio .elementor-element-1e5c920 {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  #portfolio .section-header-four,
  #portfolio .section-header-four .section__title-sub,
  #portfolio .section-header-four .section__title-title,
  #portfolio .section-header-four .section__title-desc,
  #portfolio .tcm-work-description {
    align-items: flex-start !important;
    text-align: left !important;
  }

  #portfolio .wpr__button-wrap {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  #portfolio .elementor-element-1e5c920 .tcm-video-card--work {
    width: 100% !important;
    max-width: 680px !important;
    margin-inline: auto !important;
  }

  #process .process-area .row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(42px, 4vw, 56px) clamp(20px, 2vw, 30px) !important;
  }

  #process .process-area .process__wrp {
    padding: 72px clamp(24px, 2.4vw, 36px) 56px !important;
  }

  #process .process-area .process__item,
  #process .process-area .row > [class*="col-"]:nth-child(n) .process__item {
    min-height: 300px !important;
    padding: 76px clamp(22px, 2vw, 30px) 32px !important;
  }

  #process .process-area .wpr__process_title {
    font-size: clamp(27px, 2.25vw, 34px) !important;
  }

  #why-choose > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr) !important;
    gap: clamp(48px, 5vw, 76px) !important;
    align-items: center !important;
  }

  #why-choose .elementor-element-ed3a224,
  #why-choose .elementor-element-a3556e6 {
    width: 100% !important;
    max-width: none !important;
  }

  #why-choose .tcm-why-title-break {
    display: none !important;
  }

  #contact > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 0.95fr) minmax(500px, 1.05fr) !important;
    gap: clamp(50px, 5vw, 78px) !important;
    align-items: start !important;
  }

  #contact .elementor-element-b74262e,
  #contact .elementor-element-d5b8855 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  #contact .elementor-element-b74262e {
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
  }

  #contact .elementor-element-b74262e .elementor-element-8e2082b {
    margin-bottom: 12px !important;
    padding-inline: 0 !important;
  }

  #contact .elementor-element-b74262e > .elementor-element:not(.elementor-element-8e2082b) {
    min-height: 0 !important;
    justify-content: flex-start !important;
    padding: 10px 0 !important;
    border: 0 !important;
    text-align: left !important;
  }

  #contact .elementor-element-b74262e .section-header,
  #contact .elementor-element-b74262e .section__title-title,
  #contact .elementor-element-b74262e .section__title-desc,
  #contact .elementor-element-b74262e .section__title-sub {
    align-items: flex-start !important;
    margin-inline: 0 !important;
    text-align: left !important;
  }

  #contact .elementor-element-d5b8855 {
    padding: 0 !important;
  }

  #clients .tcm-client-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
    gap: 38px 24px !important;
    width: min(100%, 1120px) !important;
  }

  #clients .tcm-client-logo,
  #clients .tcm-client-logo:nth-child(6) {
    grid-column: span 2 !important;
    min-height: 106px !important;
  }

  #clients .tcm-client-logo:nth-child(6) {
    grid-column: 2 / span 2 !important;
  }

  #clients .tcm-client-logo img {
    width: clamp(126px, 11vw, 154px) !important;
    max-height: 90px !important;
  }

  #footer > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  #footer .elementor-element-4b43770,
  #footer .elementor-element-ba3632d,
  #footer .elementor-element-54c108c {
    width: auto !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  #footer .elementor-element-f8890d9,
  #footer .elementor-element-df78328 {
    display: block !important;
  }

  #footer .elementor-element-8a84a23,
  #footer .elementor-element-8a84a23 .elementor-social-icons-wrapper {
    width: auto !important;
    justify-content: flex-start !important;
  }
}
