/* ══════════════════════════════════════════════
   DESIGN SYSTEM — TheGem Business Startup Style
   Dark hero, white body, rounded pill CTAs,
   orange accent, clean cards, image-text splits
══════════════════════════════════════════════ */

    @font-face {
      font-family: 'Dessau';
      src: url('/fonts/Dessau-Regular.woff2') format('woff2');
      font-weight: 400;
      font-style: normal;
    }

    @font-face {
      font-family: 'Dessau';
      src: url('/fonts/Dessau-Medium.woff2') format('woff2');
      font-weight: 500;
      font-style: normal;
    }

    @font-face {
      font-family: 'Dessau';
      src: url('/fonts/Dessau-Bold.woff2') format('woff2');
      font-weight: 700;
      font-style: normal;
    }

    :root {
      --clr-dark: #12151C;
      /* nav + hero bg */
      --clr-darker: #0D1017;
      /* footer */
      --clr-card-bg: #1A1E28;
      /* dark cards in hero */
      --clr-orange: #F07A00;
      /* primary accent */
      --clr-orange2: #FF9020;
      /* lighter accent */
      --clr-body: #ffffff;
      /* page background */
      --clr-section: #F5F6FA;
      /* alt section bg */
      --clr-text: #1C1C2E;
      /* body text */
      --clr-muted: #636578;
      /* muted text */
      --clr-lighter: #9899A8;
      /* light text */
      --clr-border: #E8E9F0;
      /* light text */
      --clr-gray: #2c2c2c;
      /* dividers */
      --clr-tag-bg: rgba(240, 122, 0, .10);
      --clr-tag-txt: #F07A00;
      --font: 'Dessau', sans-serif;
      --font2: 'Dessau', sans-serif;
      --radius-pill: 100px;
      --radius-card: 20px;
      --radius-sm: 12px;
      --shadow: 0 8px 40px rgba(0, 0, 0, .09);
      --shadow-hover: 0 16px 60px rgba(0, 0, 0, .14);
      --transition: .25s cubic-bezier(.4, 0, .2, 1);
    }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: var(--font);
      background: var(--clr-body);
      color: var(--clr-text);
      line-height: 1.65;
      overflow-x: hidden;
    }

    img {
      display: block;
      max-width: 100%;
    }

    a {
      text-decoration: none;
    }

    /* ── PAGE SWITCHER (wireframe nav) ─── */
    #wf-nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 9999;
      height: 38px;
      background: #0a0c12;
      display: flex;
      align-items: center;
      overflow-x: auto;
      border-bottom: 2px solid var(--clr-orange);
      white-space: nowrap;
    }

    #wf-nav .wf-brand {
      padding: 0 16px;
      font: 700 9px/1 var(--font2);
      color: var(--clr-orange);
      letter-spacing: .14em;
      text-transform: uppercase;
      border-right: 1px solid #1e2130;
      height: 38px;
      display: flex;
      align-items: center;
      flex-shrink: 0;
    }

    #wf-nav button {
      height: 38px;
      padding: 0 18px;
      background: none;
      border: none;
      border-right: 1px solid #1e2130;
      font: 600 9px/1 var(--font2);
      color: #555d70;
      letter-spacing: .08em;
      text-transform: uppercase;
      cursor: pointer;
      transition: color .2s, background .2s;
      flex-shrink: 0;
    }

    #wf-nav button:hover {
      color: #fff;
    }

    #wf-nav button.on {
      background: var(--clr-orange);
      color: #fff;
    }

    /* ── PAGES ─── */
    .page {
      display: none;
    }

    .page.active {
      display: block;
    }

    /* ── CONTAINER ─── */
    /* .wrap base — padding handled per section, but fallback side gutters */
    .wrap { max-width: 1280px; margin: 0 auto; }
    @media(max-width:900px) {
      .wrap {
        padding: 0 24px
      }
    }

    /* ══════════════════
   SITE HEADER
══════════════════ */
    .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: var(--clr-dark);
      padding: 0 30px;
    }

    .site-header .wrap {
      height: 80px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    /* Logo */
    .logo {
      display: flex;
      align-items: center;
      gap: 11px;
    }

    .header-logo-img {
      width: 100%;
      max-width: 170px;

      object-fit: cover;
    }

    .logo-box {
      width: 40px;
      height: 40px;
      background: var(--clr-orange);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      font: 800 15px/1 var(--font);
      color: #fff;
      letter-spacing: -.02em;
      position: relative;
      overflow: hidden;
    }

    .logo-box::after {
      content: '';
      position: absolute;
      bottom: -6px;
      right: -6px;
      width: 18px;
      height: 18px;
      background: rgba(255, 255, 255, .18);
      border-radius: 50%;
    }

    .logo-info {
      display: flex;
      flex-direction: column;
    }

    .logo-name {
      font: 700 16px/1 var(--font);
      color: #fff;
      letter-spacing: -.01em;
    }

    .logo-sub {
      font: 400 9px/1.3 var(--font2);
      color: rgba(255, 255, 255, .4);
      letter-spacing: .03em;
      margin-top: 3px;
    }

    /* Nav links */
    .nav-menu {
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .nav-menu a {
      font: 500 14px/1 var(--font);
      color: rgba(255, 255, 255, .65);
      transition: color var(--transition);
      padding: 10px 20px;
      border-radius: 100px;
    }

    .nav-menu a:hover,
    .nav-menu a.cur {
      color: #fff;
      background-color: #F07A00;
      padding: 10px 20px;
      border-radius: 100px;
    }

    /* CTA */
    .nav-cta {
      background: var(--clr-orange);
      color: #fff !important;
      padding: 11px 26px;
      border-radius: var(--radius-pill);
      font: 600 13px/1 var(--font) !important;
      box-shadow: 0 4px 18px rgba(240, 122, 0, .40);
      transition: box-shadow var(--transition), transform var(--transition) !important;
      color: #fff !important;
    }

    .nav-cta:hover {
      box-shadow: 0 8px 28px rgba(240, 122, 0, .55);
      transform: translateY(-1px);
      color: #fff !important;
    }

    /* Hamburger placeholder */
    .nav-extra {
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .nav-info {
      font: 400 12px/1 var(--font2);
      color: rgba(255, 255, 255, .35);
      letter-spacing: .02em;
    }

    /* ══════════════════
   HERO SECTION
   Dark bg, big animated title words, right illustration panel
══════════════════ */
    .hero {
      background: var(--clr-dark);
      min-height: calc(100vh - 118px);
      display: grid;
      grid-template-columns: 1fr 480px;
      align-items: center;
      gap: 0;
      overflow: hidden;
      position: relative;
    }

    /* Subtle dot grid texture */
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: radial-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px);
      background-size: 32px 32px;
      pointer-events: none;
    }

    /* Orange glow */
    .hero::after {
      content: '';
      position: absolute;
      top: -200px;
      right: 420px;
      width: 600px;
      height: 600px;
      background: radial-gradient(circle, rgba(240, 122, 0, .12) 0%, transparent 65%);
      border-radius: 50%;
      pointer-events: none;
    }

    .hero-left {
      padding: 100px 0 100px 48px;
      position: relative;
      z-index: 2;
      max-width: 680px;
    }

    .hero-pre {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font: 500 12px/1 var(--font2);
      color: var(--clr-orange);
      letter-spacing: .1em;
      text-transform: uppercase;
      margin-bottom: 28px;
    }

    .hero-pre::before {
      content: '';
      width: 24px;
      height: 2px;
      background: var(--clr-orange);
      border-radius: 2px;
    }

    /* Animated word stack */
    .hero-word-stack {
      height: 90px;
      overflow: hidden;
      margin-bottom: 0;
      position: relative;
    }

    .hero-word-stack .word {
      display: block;
      font-size: 65px !important;
      font: 800 88px/.95 var(--font);
      letter-spacing: -.04em;
      color: #fff;
      position: absolute;
      left: 0;
      top: 0;
      opacity: 0;
      transform: translateY(30px);
      animation: wordCycle 9s infinite;
    }

    .hero-word-stack .word:nth-child(1) {
      animation-delay: 0s;
      color: #fff;
    }

    .hero-word-stack .word:nth-child(2) {
      animation-delay: 3s;
      color: var(--clr-orange);
    }

    .hero-word-stack .word:nth-child(3) {
      animation-delay: 6s;
      color: #fff;
    }

    @keyframes wordCycle {
      0% {
        opacity: 0;
        transform: translateY(30px);
      }

      8% {
        opacity: 1;
        transform: translateY(0);
      }

      28% {
        opacity: 1;
        transform: translateY(0);
      }

      36% {
        opacity: 0;
        transform: translateY(-30px);
      }

      100% {
        opacity: 0;
        transform: translateY(-30px);
      }
    }

    .hero-h-static {
      font: 800 88px/.95 var(--font);
      letter-spacing: -.04em;
      color: #fff;
      margin-bottom: 0;
    }

    .hero-tagline {
      font: 400 18px/1.65 var(--font);
      color: rgba(255, 255, 255, .55);
      max-width: 460px;
      margin-top: 28px;
      margin-bottom: 40px;
    }

    .hero-btns {
      display: flex;
      align-items: center;
      gap: 16px;
      margin-bottom: 64px;
    }

    .btn-primary {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--clr-orange);
      color: #fff;
      padding: 14px 32px;
      border-radius: var(--radius-pill);
      font: 600 14px/1 var(--font);
      border: none;
      cursor: pointer;
      box-shadow: 0 4px 20px rgba(240, 122, 0, .35);
      transition: transform var(--transition), box-shadow var(--transition);
    }

    .btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 30px rgba(240, 122, 0, .5);
    }

    .btn-outline {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: transparent;
      color: rgba(255, 255, 255, .75);
      padding: 13px 30px;
      border-radius: var(--radius-pill);
      font: 600 14px/1 var(--font);
      border: 1.5px solid rgba(255, 255, 255, .2);
      cursor: pointer;
      transition: border-color var(--transition), color var(--transition);
    }

    .btn-outline:hover {
      border-color: rgba(255, 255, 255, .6);
      color: #fff;
    }

    /* Stat pill */
    .hero-stat-pill {
      display: inline-flex;
      align-items: center;
      gap: 16px;
      background: var(--clr-card-bg);
      border: 1px solid rgba(255, 255, 255, .07);
      border-radius: 16px;
      padding: 16px 24px;
    }

    .hsp-num {
      font: 800 32px/1 var(--font);
      color: #fff;
    }

    .hsp-num span {
      color: var(--clr-orange);
    }

    .hsp-label {
      font: 400 13px/1.4 var(--font);
      color: rgba(255, 255, 255, .45);
      max-width: 140px;
    }

    .hero-stats-row {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }

    /* Hero right — dark illustrated panel */
    .hero-right {
      background: var(--clr-card-bg);
      height: 100%;
      min-height: calc(100vh - 118px);
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      padding: 60px 48px;
      border-left: 1px solid rgba(255, 255, 255, .05);
      overflow: hidden;
    }

    .hero-right::before {
      content: '';
      position: absolute;
      bottom: -100px;
      right: -100px;
      width: 350px;
      height: 350px;
      background: radial-gradient(circle, rgba(240, 122, 0, .08), transparent 65%);
      border-radius: 50%;
    }

    .hr-chip {
      background: rgba(240, 122, 0, .12);
      border: 1px solid rgba(240, 122, 0, .2);
      border-radius: var(--radius-pill);
      padding: 6px 14px;
      font: 600 11px/1 var(--font2);
      color: var(--clr-orange);
      letter-spacing: .06em;
      text-transform: uppercase;
      margin-bottom: 32px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

    .hr-chip::before {
      content: '';
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--clr-orange);
      animation: blink 1.5s infinite;
    }

    @keyframes blink {

      0%,
      100% {
        opacity: 1;
      }

      50% {
        opacity: .3;
      }
    }

    /* Mini cards inside hero panel */
    .hr-cards {
      display: flex;
      flex-direction: column;
      gap: 12px;
      width: 100%;
    }

    .hr-card {
      background: rgba(255, 255, 255, .04);
      border: 1px solid rgba(255, 255, 255, .07);
      border-radius: var(--radius-sm);
      padding: 20px 22px;
      display: flex;
      align-items: center;
      gap: 16px;
      transition: background var(--transition);
    }

    .hr-card:hover {
      background: rgba(255, 255, 255, .07);
    }

    .hrc-icon {
      width: 44px;
      height: 44px;
      border-radius: 10px;
      background: rgba(240, 122, 0, .12);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px;
      flex-shrink: 0;
    }

    .hrc-icon.blue {
      background: rgba(60, 120, 220, .12);
    }

    .hrc-icon.green {
      background: rgba(30, 180, 100, .12);
    }

    .hrc-info {
      flex: 1;
    }

    .hrc-title {
      font: 600 14px/1 var(--font);
      color: #fff;
      margin-bottom: 4px;
    }

    .hrc-sub {
      font: 400 12px/1 var(--font);
      color: rgba(255, 255, 255, .4);
    }

    .hrc-arrow {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      border: 1px solid rgba(255, 255, 255, .1);
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(255, 255, 255, .4);
      font-size: 14px;
      transition: border-color var(--transition), color var(--transition);
    }

    .hr-card:hover .hrc-arrow {
      border-color: var(--clr-orange);
      color: var(--clr-orange);
    }

    /* Stat inside panel */
    .hr-stat {
      margin-top: auto;
      width: 100%;
      background: var(--clr-orange);
      border-radius: var(--radius-card);
      padding: 24px 28px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .hr-stat-num {
      font: 800 42px/1 var(--font);
      color: #fff;
    }

    .hr-stat-label {
      font: 400 13px/1.4 var(--font);
      color: rgba(255, 255, 255, .75);
      max-width: 140px;
      text-align: right;
    }

    /* ── TICKER ─── */
    .ticker {
      background: var(--clr-dark);
      border-top: 1px solid rgba(255, 255, 255, .06);
      padding: 18px 0;
      overflow: hidden;
    }

    .ticker-inner {
      display: flex;
      gap: 0;
      animation: tick 30s linear infinite;
      width: max-content;
    }

    .ticker-item {
      display: flex;
      align-items: center;
      gap: 12px;
      font: 600 12px/1 var(--font2);
      color: rgba(255, 255, 255, .35);
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: 0 40px;
      border-right: 1px solid rgba(255, 255, 255, .08);
      white-space: nowrap;
    }

    .ticker-item .dot {
      width: 5px;
      height: 5px;
      background: var(--clr-orange);
      border-radius: 50%;
      opacity: .7;
    }

    @keyframes tick {
      from {
        transform: translateX(0);
      }

      to {
        transform: translateX(-50%);
      }
    }

    /* ══════════════════
   ABOUT INTRO (image left, text right)
   Style: photo + bullet list + counter
══════════════════ */
    .about-intro {
      padding: 100px 40px;
      background: var(--clr-body);
    }

    .split-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center;
    }

    .split-row.rev {
      direction: rtl;
    }

    .split-row.rev>* {
      direction: ltr;
    }

    .img-panel {
      border-radius: var(--radius-card);
      overflow: hidden;
      position: relative;
    }

    .img-placeholder {
      width: 100%;
      aspect-ratio: 4/3;
      background: var(--clr-section);
      border-radius: var(--radius-card);
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      overflow: hidden;
    }

    .img-placeholder::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(240, 122, 0, .08) 0%, transparent 60%);
    }

    .img-placeholder .img-icon {
      font-size: 64px;
      opacity: .3;
    }

    .img-placeholder .img-label {
      position: absolute;
      bottom: 20px;
      left: 20px;
      font: 600 11px/1 var(--font2);
      color: var(--clr-muted);
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    /* Floating badge on image */
    .img-badge {
      position: absolute;
      bottom: -20px;
      right: -20px;
      background: var(--clr-orange);
      border-radius: var(--radius-card);
      padding: 20px 24px;
      color: #fff;
      box-shadow: 0 8px 30px rgba(240, 122, 0, .35);
      text-align: center;
    }

    .img-badge-num {
      font: 800 40px/1 var(--font);
    }

    .img-badge-lbl {
      font: 500 12px/1.3 var(--font);
      opacity: .85;
      margin-top: 4px;
    }

    .text-panel {}

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font: 600 11px/1 var(--font2);
      color: var(--clr-orange);
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-bottom: 16px;
    }

    .eyebrow::before {
      content: '';
      width: 18px;
      height: 2px;
      background: var(--clr-orange);
      border-radius: 2px;
    }

    h2.sec-title {
      font: 700 42px/1.05 var(--font);
      letter-spacing: -.03em;
      color: var(--clr-text);
      margin-bottom: 18px;
    }

    h2.sec-title span {
      color: var(--clr-orange);
    }

    .sec-lead {
      font: 400 16px/1.7 var(--font);
      color: var(--clr-muted);
      margin-bottom: 28px;
    }

    .bullet-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-bottom: 36px;
    }

    .bullet-list li {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      font: 400 15px/1.5 var(--font);
      color: var(--clr-muted);
    }

    .bullet-list li::before {
      content: '';
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--clr-orange);
      flex-shrink: 0;
      margin-top: 8px;
    }

    .read-more {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font: 600 14px/1 var(--font);
      color: var(--clr-orange);
      border-bottom: 1.5px solid transparent;
      transition: border-color var(--transition);
      cursor: pointer;
    }

    .read-more:hover {
      border-color: var(--clr-orange);
    }

    .read-more::after {
      content: '→';
      font-size: 16px;
    }

    /* ── why-trust row ─── */
    .why-trust-row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 48px;
    }

    /* .why-trust-row1 {
      display: flex;
      justify-content: center;
      gap: 30px;
    } */

    .wt-item {
      padding: 28px;
      background: var(--clr-section);
      border-radius: var(--radius-card);
      border-top: 3px solid transparent;
      transition: border-color var(--transition), box-shadow var(--transition);
    }

    /* 
    .wt-item1 {
      padding: 28px;
      background: var(--clr-section);
      border-radius: var(--radius-card);
      width: 400px;
      border-top: 3px solid transparent;
      transition: border-color var(--transition), box-shadow var(--transition);
    }

    .wt-item1:hover {
      border-top-color: var(--clr-orange);
      box-shadow: var(--shadow);
    } */

    .wt-item:hover {
      border-top-color: var(--clr-orange);
      box-shadow: var(--shadow);
    }

    .wt-icon {
      font-size: 28px;
      margin-bottom: 14px;
    }

    .wt-title {
      font: 700 15px/1.3 var(--font);
      color: var(--clr-text);
      margin-bottom: 8px;
    }

    .wt-text {
      font: 400 13px/1.6 var(--font);
      color: var(--clr-muted);
    }

    /* ══════════════════
   SERVICES SECTION
   Title + subtitle, then 3 image cards side by side
   Each card: big image, overlay, title, description
══════════════════ */
    .services-section {
      padding: 100px 40px;
      background: var(--clr-section);
    }

    .sec-header {
      text-align: center;
      margin-bottom: 60px;
    }

    .sec-header .sec-lead {
      margin: 0 auto;
      max-width: 520px;
    }

    .services-grid {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 24px;
    }

    .svc-card {
      border-radius: var(--radius-card);
      overflow: hidden;
      background: var(--clr-body);
      box-shadow: var(--shadow);
      transition: transform var(--transition), box-shadow var(--transition);
      cursor: pointer;
      width: 500px;
    }

    .svc-card:hover {
      transform: translateY(-6px);
      box-shadow: var(--shadow-hover);
    }

    .svc-img {
      width: 100%;
      aspect-ratio: 16/10;
      background: var(--clr-section);
      position: relative;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .svc-img::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, transparent 40%, rgba(0, 0, 0, .5));
    }

    .svc-img-icon {
      font-size: 56px;
      opacity: .2;
    }

    .svc-img-num {
      position: absolute;
      top: 16px;
      left: 16px;
      font: 800 11px/1 var(--font2);
      color: rgba(255, 255, 255, .5);
      letter-spacing: .1em;
      text-transform: uppercase;
      z-index: 2;
    }

    .svc-img-label {
      position: absolute;
      bottom: 16px;
      left: 20px;
      right: 20px;
      z-index: 2;
      font: 700 18px/1.2 var(--font);
      color: #fff;
    }

    .svc-body {
      padding: 24px 24px 28px;
    }

    .svc-tag {
      display: inline-block;
      background: var(--clr-tag-bg);
      color: var(--clr-tag-txt);
      padding: 4px 12px;
      border-radius: var(--radius-pill);
      font: 600 11px/1.5 var(--font2);
      letter-spacing: .06em;
      margin-bottom: 12px;
    }

    .svc-title {
      font: 700 18px/1.3 var(--font);
      color: var(--clr-text);
      margin-bottom: 10px;
    }

    .svc-desc {
      font: 400 14px/1.6 var(--font);
      color: var(--clr-muted);
      margin-bottom: 18px;
    }

    .svc-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font: 600 13px/1 var(--font);
      color: var(--clr-orange);
    }

    .svc-link::after {
      content: '→';
    }

    /* ── Service icons row (below main grid) ── */
    .svc-icons-row {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      margin-top: 32px;
    }

    .svc-icon-box {
      background: var(--clr-body);
      border-radius: var(--radius-card);
      padding: 28px 24px;
      text-align: center;
      box-shadow: var(--shadow);
      border-top: 3px solid transparent;
      transition: border-color var(--transition);
    }

    .svc-icon-box:hover {
      border-top-color: var(--clr-orange);
    }

    .sib-icon {
      font-size: 36px;
      margin-bottom: 14px;
    }

    .sib-title {
      font: 700 15px/1.3 var(--font);
      color: var(--clr-text);
      margin-bottom: 6px;
    }

    .sib-sub {
      font: 400 13px/1.5 var(--font);
      color: var(--clr-muted);
    }

    /* ══════════════════
   DARK FEATURE SECTION
   Like TheGem's "We have partnered" dark block
══════════════════ */
    .dark-feature {
      background: var(--clr-dark);
      padding: 100px 40px;
      overflow: hidden;
      position: relative;
    }

    .dark-feature::before {
      content: '';
      position: absolute;
      top: -150px;
      right: -150px;
      width: 500px;
      height: 500px;
      background: radial-gradient(circle, rgba(240, 122, 0, .09), transparent 65%);
      border-radius: 50%;
    }

    .dark-feature::after {
      content: '';
      position: absolute;
      bottom: -100px;
      left: 100px;
      width: 350px;
      height: 350px;
      background: radial-gradient(circle, rgba(60, 100, 200, .06), transparent 65%);
      border-radius: 50%;
    }

    .df-inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center;
      position: relative;
      z-index: 2;
    }

    .df-left {}

    .df-left .eyebrow {
      color: var(--clr-orange);
    }

    h2.df-title {
      font: 700 42px/1.08 var(--font);
      letter-spacing: -.03em;
      color: #fff;
      margin-bottom: 20px;
    }

    h2.df-title span {
      color: var(--clr-orange);
    }

    .df-desc {
      font: 400 16px/1.7 var(--font);
      color: rgba(255, 255, 255, .5);
      margin-bottom: 36px;
    }

    .df-bullet-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 14px;
      margin-bottom: 40px;
    }

    .df-bullet-list li {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      font: 400 15px/1.5 var(--font);
      color: rgba(255, 255, 255, .55);
    }

    .df-bullet-list li::before {
      content: '✓';
      width: 22px;
      height: 22px;
      background: rgba(240, 122, 0, .15);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font: 700 11px/22px var(--font);
      color: var(--clr-orange);
      flex-shrink: 0;
    }

    .df-right {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    .df-card {
      background: rgba(255, 255, 255, .04);
      border: 1px solid rgba(255, 255, 255, .07);
      border-radius: var(--radius-card);
      padding: 26px 28px;
      display: flex;
      align-items: center;
      gap: 18px;
      transition: background var(--transition), border-color var(--transition);
      cursor: pointer;
    }

    .df-card:hover {
      background: rgba(255, 255, 255, .07);
      border-color: rgba(240, 122, 0, .2);
    }

    .df-card-icon {
      width: 50px;
      height: 50px;
      border-radius: 12px;
      flex-shrink: 0;
      background: rgba(240, 122, 0, .12);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 24px;
    }

    .df-card-icon.v {
      background: rgba(60, 180, 120, .1);
    }

    .df-card-icon.b {
      background: rgba(60, 120, 220, .1);
    }

    .df-card-info {
      flex: 1;
    }

    .df-card-title {
      font: 700 15px/1.2 var(--font);
      color: #fff;
      margin-bottom: 5px;
    }

    .df-card-sub {
      font: 400 13px/1.4 var(--font);
      color: rgba(255, 255, 255, .4);
    }

    .df-card-arrow {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      border: 1px solid rgba(255, 255, 255, .1);
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(255, 255, 255, .3);
      font-size: 16px;
      transition: all var(--transition);
    }

    .df-card:hover .df-card-arrow {
      background: var(--clr-orange);
      border-color: var(--clr-orange);
      color: #fff;
    }

    .brand-partner {
      margin-top: 50px;
      width: 100%;
      height: auto;
      display: block;
    }

    /* ══════════════════
   PROJECTS / PRODUCTS GRID
   TheGem: image cards with category tag + title
══════════════════ */
    .projects-section {
      padding: 100px 40px;
      background: var(--clr-body);
    }

    .sec-header-row {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      margin-bottom: 48px;
    }

    .filter-tabs {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }

    .ftab {
      padding: 8px 20px;
      border-radius: var(--radius-pill);
      border: 1.5px solid var(--clr-border);
      background: transparent;
      font: 600 13px/1 var(--font);
      color: var(--clr-muted);
      cursor: pointer;
      transition: all var(--transition);
    }

    .ftab.on,
    .ftab:hover {
      background: var(--clr-orange);
      border-color: var(--clr-orange);
      color: #fff;
    }

    .proj-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }

    .proj-card {
      border-radius: var(--radius-card);
      overflow: hidden;
      background: var(--clr-body);
      box-shadow: var(--shadow);
      transition: transform var(--transition), box-shadow var(--transition);
      cursor: pointer;
    }

    .proj-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-hover);
    }

    .proj-img {
      width: 100%;
      aspect-ratio: 4/3;
      background: var(--clr-section);
      position: relative;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .proj-img-icon {
      font-size: 48px;
      opacity: .2;
    }

    .proj-img-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(160deg, rgba(240, 122, 0, .08) 0%, transparent 55%);
    }

    .proj-img-date {
      position: absolute;
      top: 14px;
      right: 14px;
      background: rgba(0, 0, 0, .45);
      backdrop-filter: blur(6px);
      border-radius: 8px;
      padding: 5px 10px;
      font: 500 10px/1 var(--font2);
      color: rgba(255, 255, 255, .7);
      letter-spacing: .04em;
    }

    .proj-body {
      padding: 22px 22px 26px;
    }

    .proj-cat {
      font: 600 10px/1 var(--font2);
      color: var(--clr-orange);
      letter-spacing: .1em;
      text-transform: uppercase;
      margin-bottom: 10px;
    }

    .proj-title {
      font: 700 17px/1.35 var(--font);
      color: var(--clr-text);
      margin-bottom: 10px;
    }

    .proj-desc {
      font: 400 13px/1.6 var(--font);
      color: var(--clr-muted);
    }

    /* ══════════════════
   TESTIMONIALS
   Card slider style
══════════════════ */
    .testimonials {
      padding: 100px 40px;
      background: var(--clr-dark);
    }

    .testimonials .eyebrow {
      color: var(--clr-orange);
    }

    .test-header {
      text-align: center;
      margin-bottom: 56px;
    }

    .test-header h2.sec-title {
      color: #fff;
    }

    .test-header .sec-lead {
      color: rgba(255, 255, 255, .45);
    }

    .test-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }

    .test-card {
      background: rgba(255, 255, 255, .04);
      border: 1px solid rgba(255, 255, 255, .07);
      border-radius: var(--radius-card);
      padding: 32px 28px;
      transition: background var(--transition);
    }

    .test-card:hover {
      background: rgba(255, 255, 255, .07);
    }

    .test-stars {
      color: var(--clr-orange);
      font-size: 14px;
      letter-spacing: 3px;
      margin-bottom: 16px;
    }

    .test-text {
      font: 400 15px/1.7 var(--font);
      color: rgba(255, 255, 255, .55);
      margin-bottom: 24px;
    }

    .test-author {
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .test-avatar {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: rgba(240, 122, 0, .15);
      display: flex;
      align-items: center;
      justify-content: center;
      font: 700 16px/1 var(--font);
      color: var(--clr-orange);
    }

    .test-name {
      font: 700 14px/1 var(--font);
      color: #fff;
      margin-bottom: 3px;
    }

    .test-role {
      font: 400 12px/1 var(--font);
      color: rgba(255, 255, 255, .35);
    }

    /* ══════════════════
   PARTNERS / BRANDS LOGO STRIP
══════════════════ */
    .partners {
      padding: 60px 40px;
      background: var(--clr-section);
      border-top: 1px solid var(--clr-border);
    }

    .partners1 {
      padding: 60px 0px 0px;
      background: var(--clr-section);

    }

    .partners-label {
      text-align: center;
      font: 600 11px/1 var(--font2);
      color: var(--clr-lighter);
      letter-spacing: .14em;
      text-transform: uppercase;
      margin-bottom: 40px;
    }

    .partners-grid {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 24px;
      align-items: center;
    }

    .partner-logo {
      height: 115px;
      background: var(--clr-body);
      border-radius: var(--radius-sm);
      border: 1px solid var(--clr-border);
      display: flex;
      align-items: center;
      justify-content: center;
      font: 700 13px/1 var(--font);
      color: var(--clr-muted);
      letter-spacing: .04em;
      transition: border-color var(--transition), color var(--transition);
      cursor: pointer;
    }

    .partner-logo img {
      max-width: 75%;
      max-height: 70px;
      width: auto;
      height: auto;
      object-fit: contain;
    }

    .partner-logo:hover {
      border-color: var(--clr-orange);
      color: var(--clr-orange);
    }

    .partner-logo.feat {
      border-color: rgba(240, 122, 0, .3);
      color: var(--clr-orange);
    }

    /* ══════════════════
   CTA BANNER (dark with decoration)
   Exactly like TheGem's "Innovate. Integrate. Elevate." bottom band
══════════════════ */
    .cta-banner {
      background: var(--clr-dark);
      padding: 80px 0;
      position: relative;
      overflow: hidden;
      border-top: 1px solid rgba(255, 255, 255, .05);
    }

    .cta-banner::before {
      content: '';
      position: absolute;
      left: -150px;
      top: -150px;
      width: 500px;
      height: 500px;
      background: radial-gradient(circle, rgba(240, 122, 0, .1), transparent 60%);
      border-radius: 50%;
    }

    .cta-banner::after {
      content: '';
      position: absolute;
      right: -100px;
      bottom: -100px;
      width: 400px;
      height: 400px;
      background: radial-gradient(circle, rgba(240, 122, 0, .07), transparent 60%);
      border-radius: 50%;
    }

    .cta-inner {
      text-align: center;
      position: relative;
      z-index: 2;
    }

    .cta-tag {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(240, 122, 0, .12);
      border: 1px solid rgba(240, 122, 0, .2);
      border-radius: var(--radius-pill);
      padding: 8px 18px;
      font: 600 11px/1 var(--font2);
      color: var(--clr-orange);
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: 28px;
    }

    .cta-title {
      font: 800 56px/1.02 var(--font);
      color: #fff;
      letter-spacing: -.03em;
      margin-bottom: 16px;
    }

    .cta-title span {
      color: var(--clr-orange);
    }

    .cta-sub {
      font: 400 18px/1.6 var(--font);
      color: rgba(255, 255, 255, .5);
      margin-bottom: 36px;
    }

    .cta-btns {
      display: flex;
      gap: 14px;
      justify-content: center;
    }

    /* ══════════════════
   FOOTER
══════════════════ */
    .footer {
      background: var(--clr-darker);
      padding: 80px 40px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1fr;
      gap: 60px;
      margin-bottom: 60px;
    }

    .footer-about {}

    .footer-logo {
      display: flex;
      align-items: center;
      gap: 11px;
      margin-bottom: 20px;
    }

    .footer-logo-img {
      width: 100%;
      max-width: 170px;
      height: 70px;
      object-fit: cover;
    }

    .footer-about-text {
      font: 400 14px/1.7 var(--font);
      color: rgba(255, 255, 255, .35);
      margin-bottom: 24px;
    }

    .footer-social {
      display: flex;
      gap: 10px;
    }

    .footer-social-btn {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      color: #fff;
      background: #F07A00;
      border: 1px solid rgba(255, 255, 255, .08);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      cursor: pointer;
      transition: background var(--transition), border-color var(--transition);
    }

    .footer-social-btn:hover {
      background: var(--clr-orange);
      border-color: var(--clr-orange);
    }

    .footer-col-title {
      font: 700 12px/1 var(--font2);
      color: rgba(255, 255, 255, .55);
      letter-spacing: .1em;
      text-transform: uppercase;
      margin-bottom: 20px;
    }

    .footer-links {
      display: flex;
      flex-direction: column;
      gap: 13px;
    }

    .footer-links a {
      font: 400 14px/1 var(--font);
      color: rgba(255, 255, 255, .35);
      transition: color var(--transition);
    }

    .footer-links a:hover {
      color: #fff;
    }

    .footer-contact-item {
      display: flex;
      align-items: baseline;
      gap: 10px;
      font: 400 13px/1.6 var(--font);
      color: rgba(255, 255, 255, .35);
      margin-bottom: 10px;
    }

    .footer-contact-item .fa-solid {
      color: #fff;
    }

    .footer-contact-item .fa-regular {
      color: #fff;
    }

    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, .06);
      padding: 24px 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .footer-copy {
      font: 400 12px/1 var(--font);
      color: rgba(255, 255, 255, .2);
    }

    .footer-links2 {
      display: flex;
      gap: 24px;
    }

    .footer-links2 a {
      font: 400 12px/1 var(--font);
      color: rgba(255, 255, 255, .2);
      transition: color var(--transition);
    }

    .footer-links2 a:hover {
      color: rgba(255, 255, 255, .5);
    }

    /* ══════════════════
   INNER PAGE: ABOUT
══════════════════ */
    .page-hero {
      background: var(--clr-dark);
      padding: 100px 40px 80px;
      position: relative;
      overflow: hidden;
    }

    .page-hero::before {
      content: '';
      position: absolute;
      right: -100px;
      top: -100px;
      width: 500px;
      height: 500px;
      background: radial-gradient(circle, rgba(240, 122, 0, .08), transparent 60%);
      border-radius: 50%;
    }

    .ph-breadcrumb {
      font: 500 12px/1 var(--font2);
      color: rgba(255, 255, 255, .3);
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: 20px;
    }

    .ph-breadcrumb span {
      color: var(--clr-orange);
    }

    .ph-title {
      font: 800 72px/.95 var(--font);
      letter-spacing: -.04em;
      color: #fff;
      max-width: 700px;
    }

    .ph-title span {
      color: var(--clr-orange);
    }

    .ph-sub {
      font: 400 18px/1.65 var(--font);
      color: rgba(255, 255, 255, .45);
      max-width: 540px;
      margin-top: 24px;
    }

    /* Stats bar */
    .stats-bar {
      background: var(--clr-section);
      border-bottom: 1px solid var(--clr-border);
    }

    .stats-bar-inner {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      border-left: 1px solid var(--clr-border);
    }

    .stat-item {
      padding: 36px 32px;
      border-right: 1px solid var(--clr-border);
      text-align: center;
    }

    .stat-num {
      font: 800 48px/1 var(--font);
      color: var(--clr-text);
      letter-spacing: -.03em;
    }

    .stat-num span {
      color: var(--clr-orange);
    }

    .stat-lbl {
      font: 400 14px/1.4 var(--font);
      color: var(--clr-muted);
      margin-top: 6px;
    }

    /* Timeline */
    .timeline-section {
      padding: 100px 40px;
      background: var(--clr-body);
    }

    .timeline {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      position: relative;
      margin-top: 60px;
    }

    .timeline::before {
      content: '';
      position: absolute;
      top: 24px;
      left: 0;
      right: 0;
      height: 2px;
      background: var(--clr-border);
    }

    .tl-item {
      padding: 0 28px;
      position: relative;
    }

    .tl-dot {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: var(--clr-section);
      border: 3px solid var(--clr-border);
      display: flex;
      align-items: center;
      justify-content: center;
      font: 700 12px/1 var(--font);
      color: var(--clr-muted);
      margin-bottom: 24px;
      position: relative;
      z-index: 1;
    }

    .tl-item.active .tl-dot {
      background: var(--clr-orange);
      border-color: var(--clr-orange);
      color: #fff;
    }

    .tl-year {
      font: 800 28px/1 var(--font);
      color: var(--clr-text);
      letter-spacing: -.02em;
      margin-bottom: 8px;
    }

    .tl-item.active .tl-year {
      color: var(--clr-orange);
    }

    .tl-evt {
      font: 700 16px/1.3 var(--font);
      color: var(--clr-text);
      margin-bottom: 8px;
    }

    .tl-desc {
      font: 400 13px/1.6 var(--font);
      color: var(--clr-muted);
    }

    /* Brand full grid */
    .brands-full {
      padding: 100px 40px;
      background: var(--clr-section);
    }

    .brands-tabs {
      display: flex;
      gap: 10px;
      margin-bottom: 40px;
    }

    .btab {
      padding: 10px 24px;
      border-radius: var(--radius-pill);
      border: 1.5px solid var(--clr-border);
      background: transparent;
      font: 600 13px/1 var(--font);
      color: var(--clr-muted);
      cursor: pointer;
      transition: all var(--transition);
    }

    .btab.on {
      background: var(--clr-orange);
      border-color: var(--clr-orange);
      color: #fff;
    }

    .brand-cards-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }

    .brand-card {
      background: var(--clr-body);
      border-radius: var(--radius-card);
      padding: 28px 28px 32px;
      border: 1.5px solid var(--clr-border);
      box-shadow: var(--shadow);
      transition: border-color var(--transition), box-shadow var(--transition);
      cursor: pointer;
    }

    .brand-card:hover {
      border-color: var(--clr-orange);
      box-shadow: var(--shadow-hover);
    }

    .bc-flag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: var(--clr-tag-bg);
      border-radius: var(--radius-pill);
      padding: 4px 12px;
      font: 600 10px/1 var(--font2);
      color: var(--clr-tag-txt);
      letter-spacing: .06em;
      margin-bottom: 16px;
    }

    .bc-name {
      font: 800 24px/1 var(--font);
      color: var(--clr-text);
      letter-spacing: -.02em;
      margin-bottom: 6px;
    }

    .bc-origin {
      font: 500 12px/1 var(--font);
      color: var(--clr-muted);
      margin-bottom: 14px;
    }

    .bc-line {
      height: 2px;
      background: var(--clr-border);
      margin-bottom: 14px;
    }

    .brand-card:hover .bc-line {
      background: var(--clr-orange);
    }

    .bc-desc {
      font: 400 14px/1.6 var(--font);
      color: var(--clr-muted);
    }

    /* ══════════════════
   PRODUCTS PAGE
══════════════════ */
    .prod-filter-bar {
      background: var(--clr-body);
      border-bottom: 1px solid var(--clr-border);
      position: sticky;
      top: 80px;
      z-index: 200;
      padding: 0;
    }

    .prod-filter-inner {
      display: flex;
      gap: 0;
      max-width: 1240px;
      margin: 0 auto;
      padding: 0 48px;
      overflow-x: auto;
    }

    .pfb-tab {
      padding: 20px 28px;
      font: 600 13px/1 var(--font);
      color: var(--clr-muted);
      border-bottom: 3px solid transparent;
      cursor: pointer;
      white-space: nowrap;
      transition: color var(--transition), border-color var(--transition);
      border-top: none;
      background: none;
    }

    .pfb-tab:hover {
      color: var(--clr-text);
    }

    .pfb-tab.on {
      color: var(--clr-orange);
      border-bottom-color: var(--clr-orange);
    }

    .prod-cat-section {
      padding: 40px 40px;
      border-bottom: 1px solid var(--clr-border);
    }

    .prod-cat-section:last-child {
      border-bottom: none;
    }

    .prod-items {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin-top: 48px;
    }

    .prod-item {
      background: var(--clr-body);
      border-radius: var(--radius-card);
      border: 1.5px solid var(--clr-border);
      padding: 28px;
      box-shadow: var(--shadow);
      transition: border-color var(--transition), box-shadow var(--transition);
      cursor: pointer;
    }

    .prod-item:hover {
      border-color: var(--clr-orange);
      box-shadow: var(--shadow-hover);
    }

    .pi-brand {
      font: 600 10px/1 var(--font2);
      color: var(--clr-orange);
      letter-spacing: .1em;
      text-transform: uppercase;
      margin-bottom: 14px;
    }

    .pi-icon {
      font-size: 36px;
      margin-bottom: 16px;
    }

    .pi-name {
      font: 700 17px/1.3 var(--font);
      color: var(--clr-text);
      margin-bottom: 10px;
    }

    .pi-desc {
      font: 400 13px/1.6 var(--font);
      color: var(--clr-muted);
      margin-bottom: 16px;
    }

    .pi-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }

    .pi-tag {
      background: var(--clr-section);
      border-radius: var(--radius-pill);
      padding: 4px 12px;
      font: 500 11px/1.5 var(--font);
      color: var(--clr-muted);
    }

    /* ══════════════════
   SERVICES & APPS PAGE
══════════════════ */
    .services-detail {
      padding: 80px 40px;
      background: var(--clr-body);
    }

    .svc-detail-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 24px;
      margin-top: 48px;
    }

    .svc-detail-card {
      background: var(--clr-gray);
      border-radius: var(--radius-card);
      padding: 40px;
      border: 1.5px solid transparent;
      transition: border-color var(--transition), box-shadow var(--transition);
      cursor: pointer;
    }

    .svc-detail-card:hover {
      border-color: var(--clr-orange);
      box-shadow: var(--shadow);
    }

    .sdc-num {
      font: 800 56px/1 var(--font);
      color: var(--clr-orange2);
      letter-spacing: -.04em;
      margin-bottom: 8px;
    }

    .sdc-icon {
      font-size: 36px;
      margin-bottom: 16px;
    }

    .sdc-title {
      font: 700 22px/1.2 var(--font);
      color: var(--clr-orange2);
      letter-spacing: -.02em;
      margin-bottom: 30px;
    }

    .sdc-desc {
      font: 400 15px/1.7 var(--font);
      color: #fff;
      margin-bottom: 20px;
    }

    .sdc-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .sdc-list li {
      display: flex;
      gap: 10px;
      font: 400 13px/1.5 var(--font);
      color: var(--clr-muted);
    }

    .sdc-list li::before {
      content: '→';
      color: var(--clr-orange);
      flex-shrink: 0;
      font-weight: 700;
    }

    /* Apps grid */
    .apps-section {
      padding: 80px 40px;
      background: var(--clr-section);
    }

    .apps-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin-top: 48px;
    }

    .app-card {
      background: var(--clr-body);
      border-radius: var(--radius-card);
      padding: 32px;
      border: 1.5px solid var(--clr-border);
      box-shadow: var(--shadow);
      transition: border-color var(--transition), transform var(--transition), box-shadow var(--transition);
      cursor: pointer;
    }

    .app-card:hover {
      border-color: var(--clr-orange);
      transform: translateY(-4px);
      box-shadow: var(--shadow-hover);
    }

    .app-icon {
      font-size: 36px;
      margin-bottom: 16px;
    }

    .app-industry {
      font: 700 19px/1.2 var(--font);
      color: var(--clr-text);
      margin-bottom: 8px;
    }

    .app-focus {
      font: 600 11px/1 var(--font2);
      color: var(--clr-orange);
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: 20px;
    }

    .app-sol {
      font: 400 13px/1.6 var(--font);
      color: var(--clr-muted);
    }

    .app-sol strong {
      color: #000;
      font-weight: 700;
    }

    /* ══════════════════
   CONTACT PAGE
══════════════════ */
    .contact-layout {
      display: grid;
      grid-template-columns: 1fr 1fr;
      min-height: 80vh;
    }

    .contact-info {
      background: var(--clr-dark);
      padding: 80px 60px;
      position: relative;
      overflow: hidden;
    }

    .contact-info::before {
      content: '';
      position: absolute;
      bottom: -150px;
      right: -150px;
      width: 450px;
      height: 450px;
      background: radial-gradient(circle, rgba(240, 122, 0, .07), transparent 60%);
      border-radius: 50%;
    }

    .contact-info .eyebrow {
      color: var(--clr-orange);
    }

    .ci-title {
      font: 700 40px/1.1 var(--font);
      color: #fff;
      letter-spacing: -.03em;
      margin-bottom: 32px;
    }

    .ci-block {
      margin-bottom: 28px;
    }

    .ci-label {
      font: 600 11px/1 var(--font2);
      color: rgba(255, 255, 255, .35);
      letter-spacing: .1em;
      text-transform: uppercase;
      margin-bottom: 8px;
    }

    .ci-val {
      font: 400 15px/1.55 var(--font);
      color: rgba(255, 255, 255, .65);
    }

    .ci-val strong {
      color: #fff;
    }

    .ci-map {
      margin-top: 32px;
      height:300;
      background: rgba(255, 255, 255, .04);
      border-radius: var(--radius-card);
      border: 1px solid rgba(255, 255, 255, .07);
      display: flex;
      align-items: center;
      justify-content: center;
      font: 600 12px/1 var(--font2);
      color: rgba(255, 255, 255, .2);
      letter-spacing: .08em;
      text-transform: uppercase;
      gap: 8px;
    }

    .contact-form-wrap {
      background: var(--clr-section);
      padding: 80px 60px;
    }

    .contact-form-wrap .eyebrow {
      color: var(--clr-orange);
    }

    .cf-title {
      font: 700 36px/1.1 var(--font);
      color: var(--clr-text);
      letter-spacing: -.03em;
      margin-bottom: 32px;
    }

    .cf {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .cf-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }

    .cf-group {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .cf-label {
      font: 600 11px/1 var(--font2);
      color: var(--clr-muted);
      letter-spacing: .07em;
      text-transform: uppercase;
    }

    .cf-input {
      background: var(--clr-body);
      border: 1.5px solid var(--clr-border);
      border-radius: var(--radius-sm);
      padding: 14px 16px;
      font: 400 14px/1 var(--font);
      color: var(--clr-text);
      outline: none;
      transition: border-color var(--transition);
    }

    .cf-input:focus {
      border-color: var(--clr-orange);
    }

    .cf-textarea {
      height: 120px;
      resize: vertical;
      line-height: 1.5;
    }

    .cf-select {
      appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7'%3E%3Cpath d='M5 7L0 0h10z' fill='%23636578'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 16px center;
    }

    .cf-submit {
      align-self: flex-start;
      background: var(--clr-orange);
      color: #fff;
      padding: 15px 36px;
      border-radius: var(--radius-pill);
      font: 700 14px/1 var(--font);
      border: none;
      cursor: pointer;
      box-shadow: 0 4px 20px rgba(240, 122, 0, .3);
      transition: transform var(--transition), box-shadow var(--transition);
    }

    .cf-submit:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 28px rgba(240, 122, 0, .45);
    }

    .vendor-box {
      margin-top: 24px;
      background: var(--clr-dark);
      border-radius: var(--radius-card);
      padding: 24px 28px;
      border-left: 4px solid var(--clr-orange);
    }

    .vb-title {
      font: 700 15px/1 var(--font);
      color: #fff;
      margin-bottom: 8px;
    }

    .vb-text {
      font: 400 13px/1.5 var(--font);
      color: rgba(255, 255, 255, .4);
    }

    /* ══════════════════
   COLOUR BG VARIATION — light grey sections
══════════════════ */
    .bg-white {
      background: var(--clr-body);
    }

    .bg-soft {
      background: var(--clr-section);
    }

    .bg-dark {
      background: var(--clr-dark);
    }
    .bc-image {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    /* ── Utility overrides ── */
    .why-trust-row--2col { grid-template-columns: 1fr 1fr; }

    .contact-bottom-outer { padding: 48px 40px; }

    /* Hero h-static fluid size — base is set here, overridden by @media below */
    .hero-h-static { font-size: clamp(28px, 5vw, 65px); }

    /* Brand card logo images — never overflow their card */
    .bc-image img { max-width: 100px; height: auto; object-fit: contain; flex-shrink: 0; }

    /* Section images fill their placeholder containers */
    /* .section-image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    } */

    /* Brands tab bar — scrollable on small screens */
    .brands-tabs { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
    .btab { flex-shrink: 0; }

    /* ══════════════════════════════════════════
       HAMBURGER MENU
    ══════════════════════════════════════════ */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
      width: 40px;
      height: 40px;
      background: none;
      border: none;
      cursor: pointer;
      padding: 4px;
      border-radius: 8px;
      transition: background var(--transition);
    }
    .nav-hamburger:hover { background: rgba(255,255,255,.08); }
    .nav-hamburger span {
      display: block;
      width: 100%;
      height: 2px;
      background: #fff;
      border-radius: 2px;
      transition: transform .25s ease, opacity .25s ease;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* Mobile nav close button (injected by JS inside .nav-menu) */
    .nav-close-btn {
      display: none;
      position: absolute;
      top: 18px;
      right: 16px;
      width: 36px;
      height: 36px;
      background: rgba(255,255,255,.07);
      border: none;
      border-radius: 50%;
      color: rgba(255,255,255,.7);
      font-size: 18px;
      line-height: 1;
      cursor: pointer;
      align-items: center;
      justify-content: center;
      transition: background var(--transition);
    }
    .nav-close-btn:hover { background: rgba(255,255,255,.14); }

    @media (max-width: 1024px) {
      .nav-close-btn { display: flex; }
    }
      /* display: none;
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,.55);
      z-index: 998;
    } */
    .mobile-nav-overlay.open { display: block; }

    /* ══════════════════════════════════════════
       RESPONSIVE — TABLET (max 1024px)
    ══════════════════════════════════════════ */
    @media (max-width: 1024px) {
      /* Header */
      .site-header { padding: 0 20px; }
      .nav-menu {
        position: fixed;
        top: 0; right: -100%;
        width: min(320px, 85vw);
        height: 100vh;
        background: var(--clr-dark);
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        padding: 80px 0 40px;
        z-index: 999;
        transition: right .3s cubic-bezier(.4,0,.2,1);
        border-left: 1px solid rgba(255,255,255,.08);
        overflow-y: auto;
      }
      .nav-menu.open { right: 0; }
      .nav-menu a {
        width: 100%;
        padding: 16px 28px;
        border-radius: 0;
        font-size: 15px;
        border-bottom: 1px solid rgba(255,255,255,.05);
      }
      .nav-menu a:hover, .nav-menu a.cur {
        border-radius: 0;
        background: rgba(240,122,0,.12);
      }
      .nav-hamburger { display: flex; }

      /* Hero */
      .hero {
        grid-template-columns: 1fr;
        min-height: calc(100vh - 80px);
      }
      .hero-left { padding: 60px 24px; max-width: 100%; }
      .hero-right { display: none; }
      .hero-h-static { font-size: 44px !important; }
      .hero-word-stack { height: 60px; }
      .hero-word-stack .word { font-size: 56px !important; }

      /* Split rows */
      .split-row { grid-template-columns: 1fr; gap: 40px; }
      .split-row.rev { direction: ltr; }

      /* Stats bar */
      .stats-bar-inner { grid-template-columns: repeat(2, 1fr); }

      /* Partners grid */
      .partners-grid { grid-template-columns: repeat(3, 1fr); }

      /* Footer */
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }

      /* Products */
      .prod-items { grid-template-columns: repeat(2, 1fr); }

      /* Services detail */
      .svc-detail-grid { grid-template-columns: 1fr; }

      /* Apps grid */
      .apps-grid { grid-template-columns: repeat(2, 1fr); }

      /* Contact */
      .contact-layout { grid-template-columns: 1fr; }
      .contact-info { padding: 60px 40px; }
      .contact-form-wrap { padding: 60px 40px; }

      /* Timeline */
      .timeline { grid-template-columns: repeat(2, 1fr); gap: 32px; }
      .timeline::before { display: none; }

      /* Brand cards */
      .brand-cards-grid { grid-template-columns: repeat(2, 1fr); }

      /* Proj grid */
      .proj-grid { grid-template-columns: repeat(2, 1fr); }

      /* Test grid */
      .test-grid { grid-template-columns: repeat(2, 1fr); }

      /* Why trust */
      .why-trust-row { grid-template-columns: repeat(2, 1fr); }
      .why-trust-row--2col { grid-template-columns: 1fr 1fr; }

      /* Service icon boxes - 2 col at tablet */
      .svc-icons-row { grid-template-columns: repeat(2, 1fr); }

      /* Dark feature */
      .df-inner { grid-template-columns: 1fr; gap: 48px; }
    }

    /* ══════════════════════════════════════════
       RESPONSIVE — MOBILE (max 768px)
    ══════════════════════════════════════════ */
    @media (max-width: 768px) {
      /* Global spacing */
      .wrap { padding: 20px !important; }

      /* Sections */
      .about-intro { padding: 60px 20px 0; }
      .services-section { padding: 60px 20px; }
      .dark-feature { padding: 60px 20px; }
      .testimonials { padding: 60px 20px; }
      .partners { padding: 40px 20px; }
      .cta-banner { padding: 60px 20px; }
      .footer { padding: 60px 20px; }
      .brands-full { padding: 60px 20px; }
      .timeline-section { padding: 60px 20px; }
      .apps-section { padding: 60px 20px; }
      .services-detail { padding: 60px 20px; }
      .page-hero { padding: 60px 20px 50px; }
      .prod-cat-section { padding: 32px 20px; }

      /* Typography */
      h2.sec-title { font-size: 30px; }
      .ph-title { font-size: 40px; }
      .ph-sub { font-size: 15px; }
      .cta-title { font-size: 34px; }
      .df-title { font-size: 30px; }
      .ci-title { font-size: 30px; }
      .cf-title { font-size: 26px; }
      .sec-lead { font-size: 15px; }

      /* Header */
      .site-header .wrap { height: 64px; }
      .header-logo-img { max-width: 140px; height: 50px; }

      /* Hero — recalc min-height for smaller header (64px) with no wf-nav */
      .hero { min-height: calc(100vh - 64px); }

      /* Hero-left — tighten padding further on mobile */
      .hero-left { padding: 48px 20px 56px; max-width: 100%; }
      .hero-h-static { font-size: 34px !important; line-height: 1.1 !important; }
      .hero-word-stack { height: 48px; }
      .hero-word-stack .word { font: 800 44px/.95 var(--font) !important; }
      .hero-tagline { font-size: 15px; }
      .hero-btns { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 40px; }
      .hero-stats-row { flex-direction: column; gap: 10px; }
      .hero-stat-pill { width: 100%; }

      /* Stats bar */
      .stats-bar-inner { grid-template-columns: repeat(2, 1fr); border-left: none; }
      .stat-item { padding: 24px 16px; }
      .stat-num { font-size: 36px; }

      /* Cards & grids */
      .why-trust-row { grid-template-columns: 1fr; }
      .svc-icons-row { grid-template-columns: repeat(2, 1fr); }
      .services-grid { flex-direction: column; }
      .svc-card { width: 100%; }
      .proj-grid { grid-template-columns: 1fr; }
      .test-grid { grid-template-columns: 1fr; }
      .partners-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
      .partner-logo { height: 80px; font-size: 11px; }
      .brand-cards-grid { grid-template-columns: 1fr; }
      .brands-tabs { flex-wrap: wrap; }
      .prod-items { grid-template-columns: 1fr; }
      .apps-grid { grid-template-columns: 1fr; }
      .timeline { grid-template-columns: 1fr; gap: 32px; }
      .tl-item { padding: 0; }

      /* Dark feature */
      .df-inner { grid-template-columns: 1fr; gap: 40px; }

      /* Contact */
      .contact-layout { grid-template-columns: 1fr; }
      .contact-info { padding: 48px; }
      .contact-form-wrap { padding: 48px }
      .cf-row { grid-template-columns: 1fr; }

      /* Contact bottom strip */
      .contact-bottom-strip { grid-template-columns: repeat(2, 1fr) !important; gap: 24px !important; }

      /* Footer */
      .footer-grid { grid-template-columns: 1fr; gap: 32px; }
      .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
      .footer-links2 { justify-content: center; }

      /* CTA */
      .cta-btns { flex-direction: column; align-items: center; }
      .cta-title { font-size: 30px; }
      .cta-sub { font-size: 15px; }

      /* Img badge */
      .img-badge { bottom: -10px; right: 10px; padding: 14px 18px; }
      .img-badge-num { font-size: 28px; }

      /* Product filter bar */
      .prod-filter-bar { top: 64px; }
      .prod-filter-inner { padding: 0 16px; }
      .pfb-tab { padding: 16px 18px; font-size: 12px; }

      /* Wf-nav */
      #wf-nav { display: none; }

      /* Page hero padding - section handles its own padding, wrap just needs side gutters */
      .page-hero { padding-left: 20px; padding-right: 20px; }

      /* Buttons */
      .btn-primary, .btn-outline { width: 100%; justify-content: center; }

      /* Svc detail */
      .svc-detail-grid { grid-template-columns: 1fr; }
      .sdc-num { font-size: 40px; }

      /* Vendor box */
      .vendor-box { padding: 20px; }

      /* Utility overrides at mobile */
      .why-trust-row--2col { grid-template-columns: 1fr; }
      .contact-bottom-outer { padding: 48px 20px; }
      .hero-h-static { margin-top: 52px !important; }

      /* Brands-tabs back to wrapping on mobile (override the nowrap set globally) */
      .brands-tabs { flex-wrap: wrap; overflow-x: visible; }
      .btab { flex-shrink: 1; }

      /* Product filter bar - smaller text, still scrollable */
      .prod-filter-inner { gap: 0; }

      /* bc-image layout on small screens — stack vertically */
      .bc-image { flex-direction: column; align-items: flex-start; gap: 12px; }
      .bc-image img { max-width: 80px; }

      /* ── Label / tag / eyebrow font-size bumps for mobile readability ── */
      .eyebrow { font-size: 12px; }
      .svc-tag, .pi-tag, .hr-chip, .cta-tag { font-size: 12px; }
      .proj-cat, .pi-brand, .bc-flag, .app-focus { font-size: 11px; }
      .cf-label, .ci-label, .partners-label { font-size: 12px; }
      .svc-img-num, .proj-img-date { font-size: 11px; }

      /* ── Touch target improvements (min 44×44px per WCAG) ── */
      .footer-social-btn { width: 44px; height: 44px; font-size: 16px; }
      .ftab { padding: 12px 20px; }
      .btab { padding: 12px 20px; }
      .nav-close-btn { width: 44px; height: 44px; font-size: 20px; }
      .nav-hamburger { width: 44px; height: 44px; }
      .read-more, .svc-link { padding: 8px 0; }

      /* ── Partner logos: better sizing on mobile ── */
      .partner-logo { height: 70px; }
      .partner-logo img { max-height: 50px; width: auto; max-width: 80%; }

      /* ── Prevent hero pre-text overflow on narrow screens ── */
      .hero-pre { font-size: 11px; }

      /* ── Timeline vertical layout ── */
      .tl-year { font-size: 22px; }
      .tl-evt { font-size: 15px; }
      .stat-lbl { font-size: 13px; }
    }

    /* ══════════════════════════════════════════
       RESPONSIVE — SMALL MOBILE (max 480px)
    ══════════════════════════════════════════ */
    @media (max-width: 480px) {
      .hero-h-static { font-size: 28px !important; }
      .hero-word-stack .word { font: 800 36px/.95 var(--font) !important; }
      .hero-word-stack { height: 40px; }
      h2.sec-title { font-size: 26px; }
      .ph-title { font-size: 32px; }
      .cta-title { font-size: 26px; }
      .stat-num { font-size: 30px; }
      .svc-icons-row { grid-template-columns: 1fr; }
      .partners-grid { grid-template-columns: repeat(2, 1fr); }
      .contact-bottom-strip { grid-template-columns: 1fr !important; }
      .stats-bar-inner { grid-template-columns: 1fr; }
      .footer-links2 { flex-direction: column; align-items: center; gap: 10px; }
    }