/*
Theme Name: Agntix Child
Theme URI: https://wp.storebuild.shop/agntix/
Author: themepure
Author URI: https://themeforest.net/user/themepure
Description: Orissian - Agntix child brand layer
Version: 1.4.5
Template: agntix
License: GNU General Public License version 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: agntix-child
*/

/* Brand tokens only - layout stays Agentix */
:root,
html:root,
html {
  --or-brand: #00d4a0;
  --or-brand-deep: #00a87e;
  --tp-theme-green: #00d4a0 !important;
  --tp-common-red-3: #00d4a0 !important;
  --tp-common-red-2: #00a87e !important;
  --tp-common-red: #00d4a0 !important;
}

/* Preloader off */
#preloader,
.preloader,
.tp-preloader,
.tp-page-transition,
body > #preloader {
  display: none !important;
}

/*
 * CTA: color only. Do not touch padding / radius / display -
 * Agentix pill (.tp-btn-black-text + circle) stays intact.
 * Theme already paints fill via --tp-common-red-3.
 */
.tp-btn-black.btn-red-bg .tp-btn-black-text {
  color: #0a0a0a !important;
  background-color: var(--or-brand) !important;
}
.tp-btn-black.btn-red-bg .tp-btn-black-circle {
  background: var(--or-brand) !important;
}
.tp-btn-black.btn-red-bg .tp-btn-black-circle svg {
  color: #0a0a0a !important;
}

/* Subtitle bullets */
.tp-el-subtile-bullet::before,
.tp-section-subtitle.tp-el-subtile-bullet::before,
.tp-section-subtitle.pre-circle::before,
.tp-section-subtitle.pre::before {
  background-color: var(--or-brand) !important;
  background: var(--or-brand) !important;
}

/*
 * Sliding text fills / hover bars that hardcode #FF5722 in Agentix.
 * Second layer must stay 100% or titles are invisible until hover.
 */
.creative-service-item .creative-service-title a,
.creative-service-item.about-us-4 .creative-service-title a,
.agntix-dark .creative-service-item.about-us-4 .creative-service-title a {
  background-image: linear-gradient(var(--or-brand), var(--or-brand)), linear-gradient(#111013, #111013) !important;
  background-size: 0% 100%, 100% 100% !important;
  background-repeat: no-repeat, no-repeat !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
.creative-service-item:hover .creative-service-title a,
.creative-service-item.about-us-4:hover .creative-service-title a {
  background-size: 100% 100%, 100% 100% !important;
}
.agntix-dark .creative-service-item.about-us-4 .creative-service-title a {
  background-image: linear-gradient(var(--or-brand), var(--or-brand)), linear-gradient(#ffffff, #ffffff) !important;
}
.creative-service-item.about-us-4:hover .creative-service-link a {
  background-color: var(--or-brand) !important;
  border-color: var(--or-brand) !important;
  color: #0a0a0a !important;
}

/* About page: force solid visible titles (Discovery / Identity / Impact) */
body.page-id-21366 .creative-service-item .creative-service-title a,
body.page-id-21366 .creative-service-item.about-us-4 .creative-service-title a {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #111013 !important;
  color: #111013 !important;
}
body.page-id-21366 .creative-service-item:hover .creative-service-title a,
body.page-id-21366 .creative-service-item.about-us-4:hover .creative-service-title a {
  color: var(--or-brand) !important;
  -webkit-text-fill-color: var(--or-brand) !important;
}
body.page-id-21366 .creative-service-category span {
  color: #111013 !important;
  opacity: 1 !important;
}

/* Contact bottom heading + card buttons → primary */
body.page-id-43571 .elementor-element-0c610e1 .tp-el-title,
body.page-id-43571 .elementor-element-0c610e1 .tp-section-title,
body.page-id-43571 .elementor-element-0c610e1 .tp-section-title-mango,
body.page-id-43571 .elementor-element-0c610e1 h3,
body.page-id-43571 .elementor-element-0c610e1 .tp-section-subtitle-clash {
  color: var(--or-brand) !important;
  -webkit-text-fill-color: var(--or-brand) !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
}
body.page-id-43571 .elementor-element-2cf97f5 .tp-el-btn,
body.page-id-43571 .elementor-element-3133c97 .tp-el-btn,
body.page-id-43571 .elementor-element-bf92b8f .tp-el-btn,
body.page-id-43571 .elementor-element-2cf97f5 a.tp-btn-yellow-green,
body.page-id-43571 .elementor-element-3133c97 a.tp-btn-yellow-green,
body.page-id-43571 .elementor-element-bf92b8f a.tp-btn-yellow-green,
body.page-id-43571 .tp-contact-us-btn a.tp-btn-yellow-green {
  background-color: var(--or-brand) !important;
  background: var(--or-brand) !important;
  color: #0a0a0a !important;
  border-color: var(--or-brand) !important;
}
body.page-id-43571 .tp-contact-us-btn a.tp-btn-yellow-green span,
body.page-id-43571 .tp-contact-us-btn a.tp-btn-yellow-green span span,
body.page-id-43571 .tp-contact-us-btn a.tp-el-btn span,
body.page-id-43571 .tp-contact-us-btn a.tp-el-btn span span {
  color: #0a0a0a !important;
}

/* Remap Agentix yellow-green button token on contact cards */
body.page-id-43571 {
  --tp-common-yellow-green: #00d4a0;
}

/*
 * Scroll-triggered title reveal (tp_text_invert). Agentix uses dark/grey;
 * if any kit remaps the fill to orange, force brand teal for the active half.
 */
.tp_text_invert > div {
  background-image: linear-gradient(to right, #111013 50%, #e4e4e4 50%) !important;
}
.agntix-dark .tp_text_invert > div {
  background-image: linear-gradient(to right, #ffffff 50%, #383C3E 50%) !important;
}
/* Brand the active slide when Elementor/theme painted it orange */
.tp-el-title-ani.tp_text_invert > div,
.tp-service-content .tp_text_invert > div {
  background-image: linear-gradient(to right, var(--or-brand) 50%, #d4d4d4 50%) !important;
}

/*
 * Do NOT paint every .tp-el-rep-bg with brand - that class is on every
 * testimonial card. Orange→primary is handled via Elementor card bg only.
 */

/* Agentix contact-us-light form */
body.page-id-43571 .tp-contact-us-wrap .tp-contact-form-input label {
  color: #111013 !important;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
  display: block;
}
body.page-id-43571 .tp-contact-us-wrap .tp-contact-form-input input:not([type="checkbox"]):not([type="radio"]),
body.page-id-43571 .tp-contact-us-wrap .tp-contact-form-input textarea {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  color: #111013 !important;
  border-radius: 10px !important;
  min-height: 52px;
  padding: 12px 16px !important;
  box-shadow: none !important;
  width: 100%;
}
body.page-id-43571 .tp-contact-us-wrap .tp-contact-form-input textarea {
  min-height: 120px;
}
body.page-id-43571 .tp-contact-us-wrap .tp-contact-form-input input:not([type="checkbox"]):not([type="radio"]):focus,
body.page-id-43571 .tp-contact-us-wrap .tp-contact-form-input textarea:focus,
body.page-id-43571 .tp-contact-us-wrap .tp-contact-form-input select:focus {
  border-color: var(--or-brand) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0, 212, 160, 0.18) !important;
}
body.page-id-43571 .tp-contact-form-btn button {
  background: var(--or-brand) !important;
  color: #0a0a0a !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
}

/* Service checkboxes - chip / pill selection */
body.page-id-43571 .tp-contact-us-wrap .wpcf7-checkbox {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 4px 0 0 !important;
}
body.page-id-43571 .tp-contact-us-wrap .wpcf7-checkbox .wpcf7-list-item {
  margin: 0 !important;
}
body.page-id-43571 .tp-contact-us-wrap .wpcf7-checkbox .wpcf7-list-item label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #111013 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}
body.page-id-43571 .tp-contact-us-wrap .wpcf7-checkbox .wpcf7-list-item input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid #cfd3dc !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: none !important;
  position: relative !important;
  flex: 0 0 16px !important;
  cursor: pointer !important;
  vertical-align: middle !important;
}
body.page-id-43571 .tp-contact-us-wrap .wpcf7-checkbox .wpcf7-list-item input[type="checkbox"]:checked {
  background: var(--or-brand) !important;
  border-color: var(--or-brand) !important;
}
body.page-id-43571 .tp-contact-us-wrap .wpcf7-checkbox .wpcf7-list-item input[type="checkbox"]:checked::after {
  content: "" !important;
  position: absolute !important;
  left: 4px !important;
  top: 1px !important;
  width: 5px !important;
  height: 9px !important;
  border: solid #0a0a0a !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
}
body.page-id-43571 .tp-contact-us-wrap .wpcf7-checkbox .wpcf7-list-item label:has(input:checked) {
  border-color: var(--or-brand) !important;
  background: rgba(0, 212, 160, 0.1) !important;
  box-shadow: 0 0 0 3px rgba(0, 212, 160, 0.12) !important;
}
body.page-id-43571 .tp-contact-us-wrap .wpcf7-list-item-label {
  color: #111013 !important;
}

/* Estimated timeline - professional select */
body.page-id-43571 .tp-contact-us-wrap .tp-contact-form-input select,
body.page-id-43571 .tp-contact-us-wrap .wpcf7-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 12px 44px 12px 16px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23111013' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  color: #111013 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
}

/* About / contact primary buttons fallback */
body.page-id-21366 .tp-btn-common,
body.page-id-21366 .elementor-element-d784c36 .tp-el-btn {
  background-color: var(--or-brand) !important;
  background: var(--or-brand) !important;
  color: #0a0a0a !important;
  border-color: var(--or-brand) !important;
}
body.page-id-21366 .elementor-element-d784c36 .tp-el-btn,
body.page-id-21366 .elementor-element-d784c36 .tp-el-btn span {
  color: #0a0a0a !important;
}
body.page-id-21366 .tp-btn-common svg,
body.page-id-21366 .tp-btn-common i,
body.page-id-21366 .elementor-element-d784c36 .tp-el-icon-bg i {
  color: #0a0a0a !important;
}

/* Marquee / text-slide strip under What we do (was orange via red-bg-2) */
.tp-text-slide-wrapper.red-bg-2,
.tp-text-slide-wrapper.pink-bg,
.tp-text-slide-wrapper.tp-el-slider-bg,
.tp-el-slider-bg {
  background-color: var(--or-brand) !important;
  background: var(--or-brand) !important;
}

.tp-el-team-member-desg2 {
  color: var(--or-brand) !important;
}

.studio-team-content {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Hide demo language switcher */
.tp-header-lang,
.header-lang,
.tp-header-1 .tp-header-lang,
.tp-header-lang-wrap,
.tp-header-right .tp-header-lang {
  display: none !important;
}

/* Logo sizing - keep Agentix header geometry */
.tp-header-logo img[src*="orissian-logo"] {
  height: 32px !important;
  width: auto !important;
  max-width: 180px !important;
}
.tp-offcanvas-logo img[src*="orissian-logo"] {
  height: 36px !important;
  width: auto !important;
  max-width: 200px !important;
}

/*
 * Hero title: Orissian multi-line headline (Agentix demo was 1–3 short words).
 */
.tp-hero-area {
  overflow: hidden !important;
}
.tp-hero-area .tp-hero-title-box,
.tp-hero-area .tp-hero-content {
  overflow: visible !important;
  max-width: 100%;
}
.tp-hero-area .tp-hero-title,
.tp-hero-title.tp-char-animation,
h1.tp-hero-title,
h2.tp-hero-title {
  font-size: clamp(2rem, 5.5vw, 5.5rem) !important; /* ~32–88px */
  line-height: 0.98 !important;
  letter-spacing: -0.04em !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: rgba(255, 255, 255, 0.92) !important;
  text-transform: uppercase !important;
  text-wrap: balance;
}
.tp-hero-title.tp-char-animation,
.tp-hero-title.tp-char-animation *,
.tp-hero-title.tp-char-animation > div,
.tp-hero-title.tp-char-animation div {
  opacity: 1 !important;
  visibility: visible !important;
  white-space: normal !important;
}

/*
 * Section / footer display type — Agentix fs-140 / 80–250px assumes short words.
 */
.tp-section-title.fs-140,
.elementor .tp-section-title.fs-140 {
  font-size: clamp(1.75rem, 4vw, 3.25rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  max-width: 100% !important;
  text-wrap: balance;
}

.tp-footer-widget-title,
.tp-footer-widget-title.tp-el-footer-title,
.creative-footer-style .tp-footer-widget-title,
.elementor-2180 .tp-footer-widget-title,
.elementor-2180 .tp-el-footer-title,
.elementor-2180 .elementor-element-09522d4 .tp-el-footer-title,
.elementor-2180 .elementor-element-290fcbb .tp-el-title,
.elementor .elementor-element-290fcbb .tp-el-title {
  font-size: clamp(1.5rem, 3.2vw, 2.5rem) !important; /* ~24–40px, not 120–250 */
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
  max-width: 100% !important;
  text-wrap: balance;
}
.tp-footer-widget-title br,
.elementor-2180 .tp-el-footer-title br,
.elementor-2180 .elementor-element-290fcbb .tp-el-title br {
  display: none !important; /* long Orissian line reads cleaner as wrap */
}
.elementor-2180 .elementor-element-290fcbb .tp-copyright-img {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  width: 0.8em !important;
  height: auto !important;
  margin-left: 0.25em;
  vertical-align: -0.08em;
}
@media (min-width: 768px) {
  .elementor-2180 .elementor-element-290fcbb .tp-copyright-img {
    display: inline-block !important;
  }
}

/* Hide legacy brand-logo work widgets if any remain. */
.page-id-42100 .tp-brand-inner-item {
  display: none !important;
}

/*
 * Project cards: WebGL hover canvas / magic cursor must not block navigation
 * to single work pages.
 */
.tp-project-item a.tp--hover-img,
.tp-project-item .tp-project-title a,
.tp-project-item .tp-project-thumb a {
  pointer-events: auto !important;
  cursor: pointer !important;
  position: relative;
  z-index: 2;
}
.tp-project-item .tp--hover-img canvas,
.tp-project-item canvas {
  pointer-events: none !important;
}

/* Case study pages: dark titles on light sections (Agentix default) */
body.page-id-49021 .tp-career-title,
body.page-id-49022 .tp-career-title,
body.page-id-49023 .tp-career-title,
body.page-id-49141 .tp-career-title,
body.page-id-49143 .tp-career-title,
body.page-id-49145 .tp-career-title {
  color: #111013 !important;
}

/* White title only in the dark HERO section */
body.page-id-49021 .elementor-element-7b9df13 .tp-career-title,
body.page-id-49022 .elementor-element-7b9df13 .tp-career-title,
body.page-id-49023 .elementor-element-7b9df13 .tp-career-title,
body.page-id-49141 .elementor-element-7b9df13 .tp-career-title,
body.page-id-49143 .elementor-element-7b9df13 .tp-career-title,
body.page-id-49145 .elementor-element-7b9df13 .tp-career-title {
  color: #ffffff !important;
}

/* Agentix-like subtle grid on case study heroes */
body.page-id-49021 .elementor-element-7b9df13,
body.page-id-49022 .elementor-element-7b9df13,
body.page-id-49023 .elementor-element-7b9df13,
body.page-id-49141 .elementor-element-7b9df13,
body.page-id-49143 .elementor-element-7b9df13,
body.page-id-49145 .elementor-element-7b9df13 {
  background-color: #0b1220 !important;
  background-image:
    linear-gradient(rgba(0, 212, 160, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 212, 160, 0.04) 1px, transparent 1px) !important;
  background-size: 48px 48px !important;
}

/* Case page image rhythm: full-bleed banners, no cramped repeats */
body.page-child.parent-pageid-42100 .elementor-widget-tp-image-parallax img,
body.page-child.parent-pageid-42100 .elementor-widget-tp-service-image-parallax img,
body.page-child.parent-pageid-42100 .elementor-widget-tp-image-animated img {
  width: 100%;
  height: auto;
  border-radius: 0;
  display: block;
}

/* Remove white gap between dark hero and first banner (Agentix continuity) */
body.page-id-49021 .elementor-element-5d3d53a,
body.page-id-49022 .elementor-element-5d3d53a,
body.page-id-49023 .elementor-element-5d3d53a,
body.page-id-49141 .elementor-element-5d3d53a,
body.page-id-49143 .elementor-element-5d3d53a,
body.page-id-49145 .elementor-element-5d3d53a {
  background-color: #0b1220 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.page-id-49021 .elementor-element-7b9df13,
body.page-id-49022 .elementor-element-7b9df13,
body.page-id-49023 .elementor-element-7b9df13,
body.page-id-49141 .elementor-element-7b9df13,
body.page-id-49143 .elementor-element-7b9df13,
body.page-id-49145 .elementor-element-7b9df13 {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/*
 * Transparent header over light heroes (e.g. /services/).
 * Mirrors Agentix sticky-white-bg contrast while still unscrolled.
 */
#header-sticky.tp-header-on-light:not(.header-sticky) {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 rgba(19, 19, 22, 0.06);
}
#header-sticky.tp-header-on-light:not(.header-sticky) .tp-header-menu > nav > ul > li > a {
  color: var(--tp-common-black);
}
#header-sticky.tp-header-on-light:not(.header-sticky) .tp-header-menu > nav > ul > li > a::after {
  color: var(--tp-common-black);
}
#header-sticky.tp-header-on-light:not(.header-sticky) .tp-header-dropdown nav ul li.has-dropdown::after {
  color: var(--tp-common-black);
}
#header-sticky.tp-header-on-light:not(.header-sticky) .logo-white {
  display: none !important;
}
#header-sticky.tp-header-on-light:not(.header-sticky) .logo-black {
  display: block !important;
}
#header-sticky.tp-header-on-light:not(.header-sticky) .tp-header-bar button {
  color: var(--tp-common-black);
}
#header-sticky.tp-header-on-light:not(.header-sticky) .tp-header-bar button i {
  background-color: var(--tp-common-black);
}
#header-sticky.tp-header-on-light:not(.header-sticky) .tp-header-lang a {
  color: rgba(0, 0, 0, 0.6);
}
#header-sticky.tp-header-on-light:not(.header-sticky) .tp-header-lang a.active {
  color: var(--tp-common-black);
}

/* Offcanvas: ensure cloned mobile menu is readable on black panel */
.tp-offcanvas-wrapper.offcanvas-black-bg .tp-offcanvas-menu ul li > a {
  color: var(--tp-common-white);
}
.tp-offcanvas-area .tp-offcanvas-main .tp-offcanvas-menu {
  margin-bottom: 48px;
}

/* Insights article footer: CTA + related */
.or-insights-footer {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(17, 16, 19, 0.12);
}
.or-insights-cta-label,
.or-insights-related-label {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 0.5rem;
  opacity: 0.7;
}
.or-insights-cta-text {
  margin: 0 0 1rem;
  max-width: 38rem;
}
.or-insights-cta-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 0 0 2rem;
}
.or-insights-btn {
  display: inline-block;
  padding: 0.65rem 1.1rem;
  background: var(--or-brand, #00d4a0);
  color: #0a0a0a !important;
  text-decoration: none !important;
  font-weight: 600;
  border-radius: 2px;
}
.or-insights-btn-ghost {
  background: transparent;
  color: inherit !important;
  border: 1px solid rgba(17, 16, 19, 0.25);
}
.or-insights-related ul {
  list-style: none;
  padding: 0;
  margin: 0 0 0.75rem;
}
.or-insights-related li {
  margin: 0 0 0.55rem;
}
.or-insights-related a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.or-insights-related-all {
  margin: 0;
  font-size: 0.9rem;
  opacity: 0.75;
}


/* Insights card system */
.or-insights {
  --or-ink: #f2f4f3;
  --or-muted: rgba(242, 244, 243, 0.62);
  --or-line: rgba(242, 244, 243, 0.12);
  --or-surface: #141618;
  --or-surface-2: #1a1d20;
  background: #0b0c0e;
  color: var(--or-ink);
  padding-bottom: 4rem;
}
.or-insights-shell {
  width: min(1120px, calc(100% - 2.5rem));
  margin-inline: auto;
}
.or-insights-hero {
  padding: clamp(6.5rem, 12vw, 8.5rem) 0 2.25rem;
}
.or-insights-hero--compact {
  padding-top: clamp(5.5rem, 10vw, 7rem);
  padding-bottom: 1.5rem;
}
.or-insights-eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--or-brand);
  font-weight: 600;
}
.or-insights-eyebrow a {
  color: inherit !important;
  text-decoration: none !important;
}
.or-insights-title {
  margin: 0 0 1rem;
  max-width: 16ch;
  font-size: clamp(2.35rem, 5vw, 3.6rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 700;
  color: #fff;
  text-wrap: balance;
}
.or-insights-lede {
  margin: 0 0 1.75rem;
  max-width: 38rem;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--or-muted);
}
.or-insights-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.or-insights-filter {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.85rem;
  border: 1px solid var(--or-line);
  border-radius: 999px;
  color: var(--or-muted) !important;
  text-decoration: none !important;
  font-size: 0.875rem;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.or-insights-filter:hover,
.or-insights-filter.is-active {
  color: #0b0c0e !important;
  background: var(--or-brand);
  border-color: var(--or-brand);
}

.or-insights-grid-section {
  padding: 0.5rem 0 2rem;
}
.or-insights-featured {
  margin-bottom: 1.25rem;
}
.or-insights-grid,
.or-insights-grid--archive {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
@media (max-width: 980px) {
  .or-insights-grid,
  .or-insights-grid--archive {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .or-insights-grid,
  .or-insights-grid--archive {
    grid-template-columns: 1fr;
  }
}

.or-card {
  margin: 0;
  border-radius: 18px;
  background: var(--or-surface);
  border: 1px solid var(--or-line);
  overflow: hidden;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease, box-shadow 0.35s ease;
}
.or-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 212, 160, 0.35);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}
.or-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit !important;
  text-decoration: none !important;
}
.or-card-cover {
  position: relative;
  isolation: isolate;
  min-height: 148px;
  background:
    radial-gradient(120% 100% at 100% 0%, rgba(0, 212, 160, 0.28), transparent 55%),
    linear-gradient(145deg, #1b2220 0%, #12151a 55%, #0e1014 100%);
  overflow: hidden;
}
.or-card--featured .or-card-cover {
  min-height: 100%;
}
.or-card-cover-mark {
  position: absolute;
  right: 1.1rem;
  bottom: 0.6rem;
  font-size: 5.5rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.06em;
  color: rgba(255, 255, 255, 0.06);
  pointer-events: none;
}
.or-card-cover-glow {
  position: absolute;
  inset: auto -20% -40% 30%;
  height: 70%;
  background: radial-gradient(circle, rgba(0, 212, 160, 0.35), transparent 70%);
  filter: blur(12px);
  opacity: 0.7;
  transition: opacity 0.35s ease, transform 0.45s ease;
}
.or-card:hover .or-card-cover-glow {
  opacity: 1;
  transform: translateY(-8px);
}

/* Category tint accents */
.or-card--insights-ai .or-card-cover {
  background:
    radial-gradient(120% 100% at 100% 0%, rgba(88, 166, 255, 0.28), transparent 55%),
    linear-gradient(145deg, #171c24 0%, #12151a 100%);
}
.or-card--insights-brand .or-card-cover {
  background:
    radial-gradient(120% 100% at 100% 0%, rgba(255, 176, 92, 0.28), transparent 55%),
    linear-gradient(145deg, #241c14 0%, #12151a 100%);
}
.or-card--insights-buying .or-card-cover {
  background:
    radial-gradient(120% 100% at 100% 0%, rgba(196, 132, 252, 0.25), transparent 55%),
    linear-gradient(145deg, #1d1724 0%, #12151a 100%);
}
.or-card--insights-architecture .or-card-cover {
  background:
    radial-gradient(120% 100% at 100% 0%, rgba(94, 234, 212, 0.22), transparent 55%),
    linear-gradient(145deg, #14201e 0%, #12151a 100%);
}
.or-card--insights-saas .or-card-cover {
  background:
    radial-gradient(120% 100% at 100% 0%, rgba(0, 212, 160, 0.3), transparent 55%),
    linear-gradient(145deg, #132019 0%, #12151a 100%);
}

.or-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 1.25rem 1.25rem 1.35rem;
  flex: 1;
}
.or-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  color: var(--or-muted);
}
.or-card-cat {
  color: var(--or-brand);
  font-weight: 600;
  letter-spacing: 0.02em;
}
.or-card-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(242, 244, 243, 0.35);
}
.or-card-title {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.3;
  letter-spacing: -0.02em;
  font-weight: 650;
  color: #fff;
  text-wrap: balance;
}
.or-card-excerpt {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--or-muted);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.or-card-cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding-top: 0.55rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--or-brand);
}
.or-card-cta svg {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.or-card:hover .or-card-cta svg {
  transform: translateX(3px);
}

/* Featured: horizontal editorial card */
.or-card--featured .or-card-link {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) 1.2fr;
  min-height: 280px;
}
.or-card--featured .or-card-body {
  padding: 2rem 2rem 2rem 1.75rem;
  justify-content: center;
  gap: 0.85rem;
}
.or-card--featured .or-card-title {
  font-size: clamp(1.55rem, 2.6vw, 2.15rem);
  max-width: 22ch;
}
.or-card--featured .or-card-excerpt {
  -webkit-line-clamp: 4;
  max-width: 40rem;
  font-size: 1rem;
}
@media (max-width: 800px) {
  .or-card--featured .or-card-link {
    grid-template-columns: 1fr;
  }
  .or-card--featured .or-card-cover {
    min-height: 160px;
  }
  .or-card--featured .or-card-body {
    padding: 1.35rem;
  }
}

.or-insights-pagination {
  margin-top: 2.5rem;
}
.or-insights-pagination .basic-pagination ul li a,
.or-insights-pagination .basic-pagination ul li span {
  color: var(--or-ink) !important;
}

@media (prefers-reduced-motion: reduce) {
  .or-card,
  .or-card-cta svg,
  .or-card-cover-glow {
    transition: none !important;
  }
  .or-card:hover {
    transform: none;
  }
}

/* Hide leftover Agentix author chrome if a template still injects it */
.or-insights .agntix-author,
.or-insights .sidebar-wrapper,
body.blog .agntix_author_widget,
body.blog .widget_agntix_author_widget,
.widget_agntix_author_widget {
  display: none !important;
}

/* Vector cover photos on insight cards */
.or-card-cover-img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 148px;
  object-fit: cover;
  object-position: center;
  transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}
.or-card--has-cover .or-card-cover {
  background: #0E0F11;
  min-height: 168px;
}
.or-card--featured.or-card--has-cover .or-card-cover {
  min-height: 100%;
}
.or-card--featured .or-card-cover-img {
  min-height: 280px;
}
.or-card:hover .or-card-cover-img {
  transform: scale(1.04);
}
@media (prefers-reduced-motion: reduce) {
  .or-card-cover-img {
    transition: none !important;
  }
  .or-card:hover .or-card-cover-img {
    transform: none;
  }
}

/* Orissian: hero right info card always visible */
.tp-hero-more-info-wrap,
.tp-hero-more-info-wrap.tp_fade_anim,
.tp-hero-more-info {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  z-index: 2;
  position: relative;
}
.tp-hero-more-info {
  background-color: rgba(255, 255, 255, 0.92);
  background-size: cover !important;
  background-position: center !important;
  border-radius: 24px;
  overflow: hidden;
}
.tp-hero-avater img {
  width: 54px !important;
  height: 54px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}

/* ==========================================================================
   Orissian: sitewide mobile / tablet responsiveness
   Agentix demo type + Elementor desktop paddings blow out on phones.
   ========================================================================== */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  overflow-x: clip;
}
img,
video,
svg,
canvas,
iframe {
  max-width: 100%;
  height: auto;
}
.container,
.container-1750,
.e-con,
.e-con-inner,
.elementor-section,
.elementor-container {
  max-width: 100%;
}

/* Giant Elementor display titles (footer brand line was 250px / 120px) */
.elementor-2180 .elementor-element-290fcbb .tp-el-title,
.elementor-2180 .elementor-element.elementor-element-290fcbb .tp-el-title {
  font-size: clamp(1.5rem, 4.5vw, 2.75rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  max-width: 100% !important;
  white-space: normal !important;
}

/* Home “statement” block that Elementor set to 50px body copy */
.elementor-47206 .elementor-element-20b0d35 .tp-el-title,
.elementor-47206 .elementor-element-20b0d35 .tp-el-content p {
  font-size: clamp(1.35rem, 3.4vw, 2.25rem) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.03em !important;
}

/* Generic section titles */
.tp-section-title,
.elementor .tp-el-title.tp-section-title {
  max-width: 100%;
  overflow-wrap: break-word;
}

@media (max-width: 1199px) {
  .tp-hero-area .tp-hero-title,
  .tp-hero-title.tp-char-animation,
  h1.tp-hero-title,
  h2.tp-hero-title {
    font-size: clamp(2rem, 6vw, 4rem) !important;
    max-width: 100% !important;
  }
  .tp-hero-more-info-wrap {
    margin-left: 0 !important;
    width: 100%;
    justify-content: flex-start !important;
  }
}

@media (max-width: 991px) {
  .tp-hero-ptb {
    padding-top: 120px !important;
    padding-bottom: 60px !important;
  }
  .tp-hero-content-wrap {
    margin-left: 0 !important;
    gap: 24px;
  }
  .tp-hero-more-info {
    width: min(220px, 70vw) !important;
    min-height: 260px !important;
  }

  /* Compress Elementor desktop spacers on tablet */
  .elementor-47206 .e-con,
  .elementor-section {
    --margin-top: min(var(--margin-top, 0px), 64px);
    --margin-bottom: min(var(--margin-bottom, 0px), 64px);
    --padding-top: min(var(--padding-top, 0px), 72px);
    --padding-bottom: min(var(--padding-bottom, 0px), 72px);
  }

  .tp-section-title.fs-140,
  .elementor .tp-section-title.fs-140 {
    font-size: clamp(1.65rem, 4.5vw, 2.5rem) !important;
  }

  .tp-footer-widget-title,
  .elementor-2180 .tp-el-footer-title,
  .elementor-2180 .elementor-element-290fcbb .tp-el-title {
    font-size: clamp(1.4rem, 4vw, 2.1rem) !important;
  }
}

@media (max-width: 767px) {
  .tp-hero-area .tp-hero-title,
  .tp-hero-title.tp-char-animation,
  h1.tp-hero-title,
  h2.tp-hero-title {
    font-size: clamp(1.75rem, 8.2vw, 2.35rem) !important; /* ~28–38px */
    line-height: 1.05 !important;
    letter-spacing: -0.03em !important;
  }

  .tp-hero-ptb {
    padding-top: 100px !important;
    padding-bottom: 48px !important;
  }
  .tp-hero-info {
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  .tp-hero-info p {
    font-size: 15px !important;
    padding-right: 0 !important;
  }
  .tp-hero-more-info-wrap {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-start !important;
  }
  .tp-hero-more-info {
    width: min(200px, 85vw) !important;
    min-height: 240px !important;
  }
  .tp-hero-avater img {
    width: 44px !important;
    height: 44px !important;
  }

  /* Section display type */
  .tp-section-title.fs-140,
  .elementor .tp-section-title.fs-140 {
    font-size: clamp(1.5rem, 7vw, 2rem) !important;
    line-height: 1.1 !important;
  }

  /* Footer company / brand line */
  .tp-footer-widget-title,
  .tp-footer-widget-title.tp-el-footer-title,
  .elementor-2180 .tp-el-footer-title,
  .elementor-2180 .elementor-element-09522d4 .tp-el-footer-title,
  .elementor-2180 .elementor-element-290fcbb .tp-el-title,
  .elementor .elementor-element-290fcbb .tp-el-title {
    font-size: clamp(1.25rem, 6.5vw, 1.75rem) !important; /* ~20–28px */
    line-height: 1.2 !important;
    margin-bottom: 18px !important;
  }
  .tp-footer-widget-title-sm,
  .elementor-2180 .tp-footer-widget-title-sm {
    font-size: 15px !important;
  }
  .tp-footer-widget-info a,
  .tp-footer-widget-info,
  .tp-footer-widget-menu ul li a {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  /* About / services statement copy that was 50px */
  .elementor-47206 .elementor-element-20b0d35 .tp-el-title,
  .elementor-47206 .elementor-element-20b0d35 .tp-el-content p,
  .elementor .tp-el-content p {
    font-size: clamp(1.2rem, 5.5vw, 1.5rem) !important;
  }

  /* Kill huge Elementor vertical rhythm on phones */
  .elementor-47206 .e-con,
  .elementor-section,
  .e-con-full {
    --margin-top: min(var(--margin-top, 0px), 40px) !important;
    --margin-bottom: min(var(--margin-bottom, 0px), 40px) !important;
    --padding-top: min(var(--padding-top, 0px), 48px) !important;
    --padding-bottom: min(var(--padding-bottom, 0px), 48px) !important;
  }
  .elementor-47206 .elementor-element-83d16c3,
  .elementor-47206 .elementor-element-327a072,
  .elementor-47206 .elementor-element-c034bf1,
  .elementor-47206 .elementor-element-1b3e5ac {
    --margin-top: 40px !important;
    --margin-bottom: 40px !important;
    --padding-top: 40px !important;
    --padding-bottom: 40px !important;
    margin-top: 40px !important;
    margin-bottom: 40px !important;
    padding-top: 40px !important;
  }

  /* Media / pin / project grids */
  .tp-pin-area,
  .tp-pin-video,
  .tp-project-item,
  .tp-project-thumb,
  .tp-project-thumb img,
  .tp-about-box img,
  .tp-service-item img {
    max-width: 100% !important;
  }
  video {
    width: 100% !important;
    height: auto !important;
  }

  /* Funfact bubbles / circular avatars */
  .tp-advanced-tab img,
  .funfact img,
  [class*="funfact"] img {
    max-width: 100%;
    height: auto;
  }

  /* Text slider / marquee shouldn't force overflow */
  .tp-text-slider,
  .tp-text-slide-wrap {
    max-width: 100vw;
    overflow: hidden;
  }

  /* Contact / forms */
  .wpcf7 input,
  .wpcf7 textarea,
  .wpcf7 select {
    max-width: 100%;
  }

  /* Header logo / offcanvas */
  .tp-header-logo img,
  .header-logo img {
    max-height: 36px;
    width: auto;
  }
}

@media (max-width: 479px) {
  .tp-hero-area .tp-hero-title,
  .tp-hero-title.tp-char-animation,
  h1.tp-hero-title {
    font-size: 1.65rem !important; /* ~26px — readable multi-line */
  }
  .elementor-2180 .elementor-element-290fcbb .tp-el-title,
  .tp-footer-widget-title,
  .elementor-2180 .tp-el-footer-title {
    font-size: 1.2rem !important;
  }
  .tp-section-title.fs-140 {
    font-size: 1.4rem !important;
  }
  .container,
  .container-1750,
  .e-con-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ==========================================================================
   Orissian: kill desktop column offsets on tablet/phone
   Symptom: huge left whitespace, text crushed into a thin right column,
   mid-word wraps. Cause: Elementor --margin-left / --width % / width-initial
   / flex-wrap:nowrap from desktop that never reset below ~1024px.
   ========================================================================== */

@media (max-width: 1024px) {
  /* Kill left/right shove — keep top/bottom and intentional padding alone */
  .elementor .e-con,
  .elementor .e-con-full,
  .elementor .e-con-boxed,
  .elementor-section,
  .elementor-column,
  .elementor-element.e-con {
    --margin-left: 0px !important;
    --margin-right: 0px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Never lock a row that cannot wrap on small screens */
  .elementor .e-con.e-flex {
    --flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }

  /* Custom-width widgets (width: initial / %) must fill the row */
  .elementor-widget__width-initial,
  .elementor-widget-tablet__width-initial,
  .elementor-widget-mobile__width-initial,
  .elementor-element.elementor-widget__width-initial {
    width: 100% !important;
    max-width: 100% !important;
    --container-widget-width: 100% !important;
    flex: 1 1 100% !important;
    align-self: stretch !important;
  }
  .elementor-widget__width-initial > .elementor-widget-container,
  .elementor-widget-tablet__width-initial > .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Nested % width containers under a flex parent */
  .elementor .e-con > .e-con,
  .elementor .e-con > .elementor-element {
    --width: 100% !important;
    max-width: 100% !important;
  }

  /* Home about: avatars + “Driven by…” */
  .elementor-47206 .elementor-element-57d78af,
  .elementor-47206 .elementor-element-f1071f3,
  .elementor-47206 .elementor-element-8e53c15,
  .elementor-47206 .elementor-element-004a746,
  .elementor-47206 .elementor-element-117b2b5,
  .elementor-47206 .elementor-element-83d16c3,
  .elementor-47206 .elementor-element-3e8a5b5 {
    --margin-left: 0px !important;
    --margin-right: 0px !important;
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    --flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    --container-widget-width: 100% !important;
  }

  /* Cap large desktop horizontal padding on footer / deep sections */
  .elementor-2180 .e-con {
    --padding-left: min(16px, var(--padding-left, 16px)) !important;
    --padding-right: min(16px, var(--padding-right, 16px)) !important;
  }

  .elementor p,
  .elementor h1,
  .elementor h2,
  .elementor h3,
  .elementor h4,
  .tp-el-content,
  .tp-el-content p,
  .tp-section-title,
  .tp-el-title {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  body {
    overflow-x: clip;
  }
  .elementor .e-con {
    --width: 100% !important;
  }
  .container,
  .container-1750 {
    padding-left: 16px !important;
    padding-right: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .elementor-row > .elementor-column,
  .elementor-col-50,
  .elementor-col-25,
  .elementor-col-33,
  .elementor-col-66,
  .elementor-col-75 {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* Orissian: force mobile column stack
   Elementor tablet flex_direction does NOT apply below 767px —
   mobile falls back to desktop row, which parks sibling columns
   off-screen to the right (huge left whitespace / crushed text). */
@media (max-width: 1024px) {
  .elementor .e-con.e-flex,
  .elementor .e-con[data-element_type="container"] {
    --flex-direction: column !important;
    flex-direction: column !important;
    --flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
  }
  .elementor .e-con.e-flex > .e-con,
  .elementor .e-con.e-flex > .elementor-element {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    min-width: 0 !important;
  }
  /* Keep true horizontal marquees/swipers alone */
  .elementor .swiper,
  .elementor .swiper-wrapper,
  .elementor .tp-text-slide-active,
  .elementor .tp-testimonial-slider-active {
    flex-direction: row !important;
  }
  .elementor .swiper-wrapper {
    display: flex !important;
  }
}

@media (max-width: 767px) {
  #smooth-wrapper,
  #smooth-content,
  .elementor {
    overflow-x: clip !important;
    max-width: 100vw !important;
  }
  .elementor .e-con {
    overflow-x: clip;
  }
}

@media (max-width: 767px) {
  /* Home about copy: drop nested desktop paddings so body text uses the row */
  .elementor-47206 .elementor-element-8e53c15,
  .elementor-47206 .elementor-element-004a746,
  .elementor-47206 .elementor-element-117b2b5 {
    --padding-left: 0px !important;
    --padding-right: 0px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .elementor-47206 .elementor-element-3e8a5b5,
  .elementor-47206 .elementor-element-3e8a5b5 .tp-el-content,
  .elementor-47206 .elementor-element-3e8a5b5 .tp-el-content p {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* Orissian: mobile image strips / funfact / team
   Horizontal funfact panels disable their GSAP pin below 1200px, then our
   column stack turns each 8-image strip into a mile-high list (~11k px).
   Convert those strips to a compact 2-col grid and cap how many show. */
@media (max-width: 1024px) {
  /* Any Elementor flex row whose children are mostly images → 2-col grid */
  .elementor .e-con.e-flex:has(> .elementor-widget-tp-image:nth-child(3)),
  .elementor .e-con.e-flex:has(> .elementor-widget-image:nth-child(3)),
  .elementor-element-57b2b61,
  .elementor-element-6d874fe,
  .elementor-element-e85cc2e,
  .elementor-element-0871241,
  .elementor-element-b5134f8,
  .elementor-element-561cee4,
  .elementor-element-e8b9db8 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    flex-direction: unset !important;
    --flex-direction: row !important;
    align-items: stretch !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor .e-con.e-flex:has(> .elementor-widget-tp-image:nth-child(3)) > .elementor-element,
  .elementor .e-con.e-flex:has(> .elementor-widget-image:nth-child(3)) > .elementor-element,
  .elementor-element-57b2b61 > .elementor-element,
  .elementor-element-6d874fe > .elementor-element,
  .elementor-element-e85cc2e > .elementor-element,
  .elementor-element-0871241 > .elementor-element,
  .elementor-element-b5134f8 > .elementor-element,
  .elementor-element-561cee4 > .elementor-element,
  .elementor-element-e8b9db8 > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
    flex: unset !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .tp-funfact-panel img,
  .elementor-2419 img,
  .elementor-2971 img,
  .elementor-3128 img,
  .elementor-element-57b2b61 img,
  .elementor-element-6d874fe img,
  .elementor-element-e85cc2e img {
    width: 100% !important;
    height: auto !important;
    max-height: 140px !important;
    object-fit: cover !important;
    border-radius: 8px;
  }
}

@media (max-width: 767px) {
  /* Show at most 4 images per strip (2x2) — drop the rest on phones */
  .tp-funfact-panel .e-con.e-flex:has(> .elementor-widget-tp-image:nth-child(5)) > .elementor-element:nth-child(n + 5),
  .elementor-element-57b2b61 > .elementor-element:nth-child(n + 5),
  .elementor-element-6d874fe > .elementor-element:nth-child(n + 5),
  .elementor-element-e85cc2e > .elementor-element:nth-child(n + 5),
  .elementor-element-0871241 > .elementor-element:nth-child(n + 5),
  .elementor-element-b5134f8 > .elementor-element:nth-child(n + 5),
  .elementor-element-561cee4 > .elementor-element:nth-child(n + 5),
  .elementor-element-e8b9db8 > .elementor-element:nth-child(n + 5) {
    display: none !important;
  }

  .tp-funfact-area,
  .tp-funfact-panel-wrap,
  .tp-funfact-panel {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  /* Team / brand image marquees: real card height, one slide readable */
  .tp-team-slider-active,
  .tp-team-slider-wrap,
  .tp-team-item,
  .tp-team-item-thumb {
    height: auto !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .tp-team-item-thumb {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 3 / 4 !important;
    overflow: hidden !important;
    border-radius: 16px !important;
  }
  .tp-team-item-thumb img {
    width: 100% !important;
    height: 100% !important;
    min-height: 220px !important;
    max-height: none !important;
    object-fit: cover !important;
    border-radius: 16px !important;
  }
  .tp-team-slider-active .swiper-slide {
    height: auto !important;
  }

  /* Brand / logo marquees with images: bigger tiles, not a hairline strip */
  .tp-brand-active .swiper-slide,
  .ar-brand-active .swiper-slide,
  .ai-brand-slider-active .swiper-slide,
  .app-brand-active .swiper-slide,
  .creative-brand-active .swiper-slide {
    width: auto !important;
    min-width: 120px !important;
  }
  .tp-brand-active img,
  .ar-brand-active img,
  .ai-brand-slider-active img,
  .app-brand-active img {
    max-height: 48px !important;
    width: auto !important;
  }

  /* Video pin thumbs: only the main video on phones (side images already d-xl) */
  .tp-video-thumb-wrap {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .tp-video-thumb-wrap .tp-video-thumb video,
  .tp-video-thumb-wrap .tp-video-thumb img {
    width: 100% !important;
    max-height: 220px !important;
    object-fit: cover !important;
    border-radius: 12px;
  }
}


@media (max-width: 767px) {
  /* Funfact: keep one 2x2 mosaic per panel — hide secondary strips */
  .elementor-element-0871241,
  .elementor-element-b5134f8,
  .elementor-element-561cee4,
  .elementor-element-e8b9db8 {
    display: none !important;
  }

  /* Shrink giant funfact numerals on phones */
  .tp-funfact-panel .tp-el-title,
  .tp-funfact-panel .elementor-heading-title,
  .tp-funfact-panel [class*="funfact"] {
    font-size: clamp(48px, 18vw, 96px) !important;
    line-height: 1 !important;
  }
}


@media (max-width: 1024px) {
  /* Pure image widgets only (not project-box cards with titles) */
  .elementor .e-con.e-flex:has(> .elementor-widget-tp-image:nth-child(3)),
  .elementor .e-con.e-flex:has(> .elementor-widget-image:nth-child(3)),
  .elementor .e-con.e-flex:has(> .elementor-element.elementor-widget-tp-image:nth-child(3)),
  .elementor .e-con.e-flex:has(> .elementor-element.elementor-widget-image:nth-child(3)),
  .elementor .e-con.e-flex:has(> .elementor-element.elementor-widget-tp-image-parallax:nth-child(3)),
  .elementor .e-con.e-flex:has(> .elementor-element.elementor-widget-tp-image-animated:nth-child(3)) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    flex-direction: unset !important;
    height: auto !important;
  }
  .elementor .e-con.e-flex:has(> .elementor-widget-tp-image:nth-child(3)) > .elementor-element,
  .elementor .e-con.e-flex:has(> .elementor-widget-image:nth-child(3)) > .elementor-element,
  .elementor .e-con.e-flex:has(> .elementor-element.elementor-widget-tp-image:nth-child(3)) > .elementor-element,
  .elementor .e-con.e-flex:has(> .elementor-element.elementor-widget-image:nth-child(3)) > .elementor-element,
  .elementor .e-con.e-flex:has(> .elementor-element.elementor-widget-tp-image-parallax:nth-child(3)) > .elementor-element,
  .elementor .e-con.e-flex:has(> .elementor-element.elementor-widget-tp-image-animated:nth-child(3)) > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
    flex: unset !important;
    min-width: 0 !important;
  }

  /* Project cards: one full-width column — never squeeze titles into 2-col */
  .elementor .e-con.e-flex:has(> .elementor-widget-tp-project-box),
  .elementor .e-con.e-flex:has(> .elementor-element.elementor-widget-tp-project-box),
  .elementor-element-19c69bb,
  .elementor-element-18be48c {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    height: auto !important;
  }
  .elementor-element-19c69bb > .elementor-element,
  .elementor-element-18be48c > .elementor-element,
  .elementor .e-con.e-flex:has(> .elementor-element.elementor-widget-tp-project-box) > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 1024px) {
  /* Funfact numbers are one widget per character (#, 1, 1, 0): keep them on one line */
  .elementor .e-con.e-flex.e-con-full:has(> .elementor-widget-tp-text-animation:nth-child(2) .tp-funfact-number):not(:has(> :not(.elementor-widget-tp-text-animation))) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: flex-end !important;
    gap: 0.12em !important;
    font-size: clamp(56px, 18vw, 80px);
    width: auto !important;
    height: auto !important;
  }
  .elementor .e-con.e-flex.e-con-full:has(> .elementor-widget-tp-text-animation:nth-child(2) .tp-funfact-number):not(:has(> :not(.elementor-widget-tp-text-animation))) > .elementor-element {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    --width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
}

@media (max-width: 767px) {
  /* Big section/funfact titles: size down so whole words fit, never split words */
  .tp-funfact-title,
  .tp-funfact-content .tp-el-title {
    font-size: clamp(34px, 11vw, 56px) !important;
    line-height: 1 !important;
  }
  .tp-funfact-number,
  .tp-funfact-number .tp-el-title {
    font-size: clamp(56px, 20vw, 96px) !important;
    line-height: 1 !important;
  }
}

@media (max-width: 1024px) {
  .elementor .e-con.e-flex.e-con-full:has(> .elementor-widget-tp-text-animation:nth-child(2) .tp-funfact-number):not(:has(> :not(.elementor-widget-tp-text-animation))) .tp-funfact-number,
  .elementor .e-con.e-flex.e-con-full:has(> .elementor-widget-tp-text-animation:nth-child(2) .tp-funfact-number):not(:has(> :not(.elementor-widget-tp-text-animation))) .tp-funfact-number span {
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 767px) {
  /* Desktop side padding (e.g. 110px) must not survive on phones and crush content */
  .elementor .e-con {
    padding-left: min(var(--padding-left, 0px), 20px) !important;
    padding-right: min(var(--padding-right, 0px), 20px) !important;
  }
}
