  /* Twemoji Country Flags — needed because Windows doesn't render flag emojis natively.
     Free, open-source font (CC-BY 4.0). Loads only when a flag emoji is rendered. */
  @font-face {
    font-family: 'Twemoji Country Flags';
    unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0062-E0063, U+E0065, U+E0067, U+E006C, U+E006E, U+E0073-E0074, U+E0077, U+E007F;
    src: url('https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2') format('woff2');
    font-display: swap;
  }

  /* === Page-level reset (no extra browser default padding around the site) === */
  html, body {
    margin: 0; padding: 0;
    background: #fff;
    overflow-x: hidden;        /* belt: never allow horizontal scroll */
    max-width: 100vw;          /* suspenders: cap width at viewport */
  }
  body { -webkit-text-size-adjust: 100%; }

  /* ===== Brand variables ===== */
  .leen-site {
    --lt-navy: #0a2540;
    --lt-navy-2: #1a3554;
    --lt-navy-deep: #061a30;
    --lt-gold: #c9a25f;
    --lt-gold-2: #b89251;
    --lt-text: #0a2540;
    --lt-body: #4b5563;
    --lt-muted: #6b7280;
    --lt-line: #e5e7eb;
    --lt-bg: #f7f8fa;
    --lt-steel: #eef2f6;
    --lt-shadow-sm: 0 2px 6px rgba(10,37,64,.05);
    --lt-shadow-md: 0 8px 20px rgba(10,37,64,.08);
    --lt-shadow-lg: 0 20px 40px rgba(10,37,64,.12);
    --lt-shadow-xl: 0 28px 60px rgba(10,37,64,.18);
    --lt-ease: cubic-bezier(.22,.61,.36,1);
  }

  html { scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .leen-site *, .leen-site *::before, .leen-site *::after {
      animation-duration: .01ms !important;
      transition-duration: .01ms !important;
    }
  }

  /* ===== Typography (English default) ===== */
  .leen-site, .leen-site * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .leen-site h1, .leen-site h2, .leen-site h3, .leen-site h4, .leen-site .display {
    font-family: 'Manrope', system-ui, sans-serif;
    letter-spacing: -0.02em;
    color: var(--lt-navy);
  }

  /* ===== Arabic / RTL mode ===== */
  .leen-site[dir="rtl"], .leen-site[dir="rtl"] * {
    font-family: 'Cairo', 'Inter', system-ui, sans-serif;
    letter-spacing: 0 !important;
  }
  .leen-site[dir="rtl"] h1,
  .leen-site[dir="rtl"] h2,
  .leen-site[dir="rtl"] h3,
  .leen-site[dir="rtl"] h4,
  .leen-site[dir="rtl"] .display {
    font-family: 'Cairo', system-ui, sans-serif;
    letter-spacing: 0;
  }
  .leen-site[dir="rtl"] .lt-eyebrow { letter-spacing: .04em; }
  .leen-site[dir="rtl"] .lt-hero-title { letter-spacing: 0; line-height: 1.25; }
  .leen-site[dir="rtl"] .lt-img-badge { right: auto; left: -24px; border-left: none; border-right: 3px solid var(--lt-gold); }
  .leen-site[dir="rtl"] .lt-fab-wa { right: auto; left: 22px; }
  .leen-site[dir="rtl"] .lt-fab-top { right: auto; left: 22px; }
  .leen-site[dir="rtl"] .lt-scroll-cue { letter-spacing: .04em; }
  /* RTL: flip horizontal arrows so they point in the natural reading direction.
     In Arabic the "forward" direction is right-to-left, so a right-pointing arrow
     icon (e.g. inside "Request Quote → ") needs to be horizontally mirrored.
     Vertical arrows (up/down) are unaffected. */
  .leen-site[dir="rtl"] svg:has(use[href$="#i-arrow-right"]) { transform: scaleX(-1); }
  /* RTL bidi: phone numbers ("+961 71 231 843") and emails contain only digits
     and weak characters (+, spaces, –, @) — no strong directional characters.
     In a RTL context the Unicode bidi algorithm reverses the digit groups
     ("+961 71 231 843" -> "843 231 71 961+"). Force these tokens to render
     left-to-right while keeping the surrounding RTL layout intact. */
  .leen-site[dir="rtl"] a[href^="tel:"],
  .leen-site[dir="rtl"] a[href^="mailto:"],
  .leen-site[dir="rtl"] a[href^="https://wa.me"],
  .leen-site[dir="rtl"] .lt-contact-card-v2 .value {
    unicode-bidi: plaintext;
  }

  .leen-site [id] { scroll-margin-top: 100px; }

  /* Skip link */
  .lt-skip { position:absolute; left:-9999px; top:8px; background:var(--lt-navy); color:#fff; padding:10px 16px; border-radius:4px; font-weight:600; font-size:.86rem; z-index:9999; }
  .lt-skip:focus { left:8px; outline:2px solid var(--lt-gold); outline-offset:2px; }

  /* Focus */
  .leen-site a:focus-visible, .leen-site button:focus-visible, .leen-site input:focus-visible, .leen-site textarea:focus-visible, .leen-site select:focus-visible, .leen-site label:focus-visible {
    outline: 2px solid var(--lt-gold); outline-offset: 3px; border-radius: 4px;
  }

  /* Icon sizing */
  .leen-site .ic { display:inline-block; vertical-align:middle; flex-shrink:0; }
  .leen-site .ic-xs { width:12px; height:12px; }
  .leen-site .ic-sm { width:14px; height:14px; }
  .leen-site .ic-md { width:16px; height:16px; }
  .leen-site .ic-lg { width:18px; height:18px; }
  .leen-site .ic-xl { width:22px; height:22px; }
  .leen-site .ic-2xl { width:26px; height:26px; }
  .leen-site .ic-3xl { width:36px; height:36px; }

  /* Reveal */
  .lt-reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--lt-ease), transform .8s var(--lt-ease); will-change: opacity, transform; }
  .lt-reveal.is-visible { opacity: 1; transform: none; }
  .lt-reveal[data-delay="1"] { transition-delay: .08s; }
  .lt-reveal[data-delay="2"] { transition-delay: .16s; }
  .lt-reveal[data-delay="3"] { transition-delay: .24s; }
  .lt-reveal[data-delay="4"] { transition-delay: .32s; }
  .lt-reveal[data-delay="5"] { transition-delay: .40s; }
  /* Skip the reveal animation entirely on mobile: animations are less useful
     on small screens AND removing the JS dependency means content always
     shows even if app.js hasn't finished loading / observers haven't fired. */
  @media (max-width: 900px) {
    .lt-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  }
  /* Accessibility: respect the user's "Reduce motion" OS setting */
  @media (prefers-reduced-motion: reduce) {
    .lt-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }

  /* Nav */
  .lt-nav-link { position: relative; transition: color .25s ease; padding: 8px 0; }
  .lt-nav-link::after { content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--lt-gold); transition:width .3s ease; }
  .lt-nav-link:hover, .lt-nav-link.is-active { color: var(--lt-navy) !important; font-weight: 600 !important; }
  .lt-nav-link:hover::after, .lt-nav-link.is-active::after { width:100%; }
  .lt-nav { background:#fff !important; transition: box-shadow .3s ease, height .3s ease; }
  .lt-nav.is-scrolled { box-shadow: 0 4px 16px rgba(10,37,64,.07); }
  .lt-nav.is-scrolled .lt-nav-inner { height: 68px; }
  .lt-nav.is-scrolled .lt-nav-logo { height: 38px; }

  /* === Right-align desktop nav links (logo stays left, links + CTA cluster on the right) === */
  /* Desktop ONLY — on mobile we rely on the inline space-between so logo+burger sit at the extremes */
  @media (min-width: 1025px) {
    .lt-nav-inner { justify-content: flex-start !important; }
    .lt-nav-desktop { margin-left: auto !important; }
    .lt-nav-cta-desktop { margin-left: 24px !important; }
    /* RTL: mirror the nav so logo stays at the start, links cluster at the opposite end */
    .leen-site[dir="rtl"] .lt-nav-desktop { margin-left: 0 !important; margin-right: auto !important; }
    .leen-site[dir="rtl"] .lt-nav-cta-desktop { margin-left: 0 !important; margin-right: 24px !important; }
  }
  /* RTL: hero text on the RIGHT (natural RTL flow), flip image + gradient so dark side mirrors */
  .leen-site[dir="rtl"] .lt-hero-section > img { transform: scaleX(-1); }
  .leen-site[dir="rtl"] .lt-hero-section > div:nth-of-type(1) { background: linear-gradient(270deg,rgba(10,37,64,.96) 0%,rgba(10,37,64,.85) 40%,rgba(10,37,64,.45) 75%,rgba(10,37,64,.2) 100%) !important; }

  /* Lang toggle */
  .lt-lang { display:inline-flex; gap:0; border:1px solid rgba(255,255,255,.2); border-radius:3px; overflow:hidden; }
  .lt-lang button { background:transparent; color:#cbd5e1; font-size:.78rem; font-weight:700; padding:8px 14px; min-height:32px; border:0; cursor:pointer; letter-spacing:.06em; transition: background .2s ease, color .2s ease; font-family: inherit; }
  .lt-lang button.is-active { background:var(--lt-gold); color:var(--lt-navy); }
  .lt-lang button:hover:not(.is-active) { background: rgba(255,255,255,.08); color:#fff; }

  /* Hero stat (qualitative) */
  .lt-hero-stat-label { font-size:.78rem; color:#94a3b8; margin-top:6px; letter-spacing:.05em; }
  .lt-hero-stat-value { font-size:1.5rem; font-weight:800; color:#fff; line-height:1.1; font-family:'Manrope',sans-serif; }
  .lt-hero-stat-value .gold { color:var(--lt-gold); }

  /* Hero CTA secondary text link */
  .lt-hero-wa-link { display:inline-flex; align-items:center; gap:8px; color:#fff; font-size:.88rem; font-weight:500; text-decoration:none; padding:8px 4px; transition: color .2s ease; }
  .lt-hero-wa-link:hover { color:#25D366; }
  .lt-hero-wa-link svg { color:#25D366; }

  /* Pillars / hero seam */
  .lt-pillar-seam { height:1px; background: linear-gradient(90deg, transparent 0%, rgba(201,162,95,.6) 50%, transparent 100%); }

  /* Market hub cards (Lebanon / Cameroon) */
  .lt-hub-card { position:relative; background:linear-gradient(135deg, #0a2540 0%, #1a3554 100%); color:#fff; border-radius:8px; overflow:hidden; padding:36px 32px 32px; min-height:280px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid rgba(201,162,95,.25); transition: transform .35s var(--lt-ease), box-shadow .35s var(--lt-ease); }
  .lt-hub-card:hover { transform: translateY(-4px); box-shadow: var(--lt-shadow-xl); }
  .lt-hub-card::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background: linear-gradient(90deg, var(--lt-gold) 0%, var(--lt-gold-2) 100%); }
  .lt-hub-card .lt-hub-glow { position:absolute; top:-100px; right:-100px; width:300px; height:300px; background: radial-gradient(circle, rgba(201,162,95,.18), transparent 70%); pointer-events:none; }
  .lt-hub-flag { display:inline-block; width:44px; height:32px; border-radius:3px; overflow:hidden; box-shadow:0 4px 12px rgba(0,0,0,.3); border:1px solid rgba(255,255,255,.4); margin-bottom:18px; }
  .lt-hub-flag img { width:100%; height:100%; object-fit:cover; display:block; }
  .lt-hub-name { font-size:2rem; font-weight:800; font-family:'Manrope',sans-serif; line-height:1.05; margin:0 0 8px 0; letter-spacing:-.02em; }
  .lt-hub-role { font-size:.74rem; color:var(--lt-gold); letter-spacing:.18em; font-weight:700; text-transform:uppercase; margin-bottom:14px; }
  .lt-hub-desc { font-size:.92rem; color:#cbd5e1; line-height:1.7; margin:0 0 22px 0; }
  .lt-hub-meta { display:flex; gap:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); flex-wrap:wrap; }
  .lt-hub-meta div { display:flex; align-items:center; gap:8px; font-size:.82rem; color:#fff; font-weight:600; }
  .lt-hub-meta svg { color:var(--lt-gold); }
  .lt-hub-badge { position:absolute; top:18px; right:18px; background:var(--lt-gold); color:var(--lt-navy); font-size:.66rem; font-weight:800; letter-spacing:.14em; padding:6px 11px; border-radius:2px; z-index:2; text-transform:uppercase; }
  .leen-site[dir="rtl"] .lt-hub-badge { right:auto; left:18px; }

  /* Corridor sub-heading separator */
  .lt-sub-heading { display:flex; align-items:center; gap:18px; margin: 48px 0 32px; }
  .lt-sub-heading .line { flex:1; height:1px; background: var(--lt-line); }
  .lt-sub-heading .label { font-size:.72rem; color:var(--lt-muted); font-weight:700; letter-spacing:.22em; text-transform:uppercase; }

  /* Distribution connector */
  .lt-dist-grid { position:relative; }
  @media (min-width: 769px) {
    .lt-dist-grid::before { content:""; position:absolute; top:18px; left:8%; right:8%; height:2px; background: repeating-linear-gradient(90deg, var(--lt-gold) 0 8px, transparent 8px 16px); opacity:.4; z-index:0; }
  }
  .lt-step-card { z-index:1; }

  /* Stock groups */
  .lt-stock-group { margin-bottom: 26px; }
  .lt-stock-group:last-child { margin-bottom: 0; }
  .lt-stock-group-label { font-size:.7rem; color:var(--lt-gold); font-weight:700; letter-spacing:.18em; text-transform:uppercase; margin-bottom:14px; display:flex; align-items:center; gap:10px; }
  .lt-stock-group-label::before { content:""; width:14px; height:1px; background:var(--lt-gold); }
  .lt-stock-tags-wrap { display:flex; flex-wrap:wrap; gap:10px; }

  /* Product SVG illustrations — show when img is missing */
  .lt-product-illus { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:0; }
  .lt-product-illus svg { width:62%; height:62%; max-width:200px; max-height:140px; }
  .lt-product-img img:not([style*="display: none"]) ~ .lt-product-illus,
  .lt-product-img img[src]:not([onerror]) { /* photo overrides illustration */ }
  /* When img errors out, JS sets data-no-photo on parent to reveal illus */
  .lt-product-img[data-no-photo] .lt-product-illus { z-index:1; }

  /* FAQ */
  .lt-faq-item { background:#fff; border:1px solid var(--lt-line); border-radius:6px; overflow:hidden; transition: border-color .25s ease, box-shadow .25s ease; }
  .lt-faq-item[open] { border-color: var(--lt-gold); box-shadow: var(--lt-shadow-sm); }
  .lt-faq-item summary { list-style:none; cursor:pointer; padding: 20px 24px; display:flex; justify-content:space-between; align-items:center; gap:18px; font-size:1rem; font-weight:700; color:var(--lt-navy); font-family:'Manrope', sans-serif; transition: background .2s ease; }
  .lt-faq-item summary:hover { background: #fafbfc; }
  .lt-faq-item summary::-webkit-details-marker { display:none; }
  .lt-faq-chevron { color: var(--lt-gold); flex-shrink:0; transition: transform .3s var(--lt-ease); }
  .lt-faq-item[open] .lt-faq-chevron { transform: rotate(180deg); }
  .lt-faq-answer { padding: 0 24px 22px 24px; font-size:.92rem; color:#4b5563; line-height:1.75; }

  /* Sticky mobile CTA bar */
  .lt-mobile-cta { display:none; }
  @media (max-width: 768px) {
    /* Sticky mobile CTA disabled — use the floating WhatsApp icon like desktop */
    .lt-mobile-cta { display: none !important; }
    body { padding-bottom: 0 !important; }
  }

  /* Why Us — force balanced 3-col mid-range */
  @media (min-width: 900px) and (max-width: 1199px) {
    #why-us > div > div:last-child { grid-template-columns: repeat(3, 1fr) !important; }
  }

  /* Buttons */
  .lt-btn-primary { transition: transform .2s ease, background .2s ease, box-shadow .2s ease; background: var(--lt-navy) !important; color: #fff !important; }
  .lt-btn-primary:hover { background: var(--lt-navy-2) !important; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(10,37,64,.2); }
  .lt-btn-gold { transition: transform .2s ease, background .2s ease, box-shadow .2s ease; background: var(--lt-gold) !important; color: var(--lt-navy) !important; box-shadow: 0 4px 14px rgba(201,162,95,.28); }
  .lt-btn-gold:hover { background: var(--lt-gold-2) !important; transform: translateY(-1px); box-shadow: 0 8px 22px rgba(201,162,95,.4); }
  .lt-btn-ghost { transition: background .2s ease, border-color .2s ease; background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.4); }
  .lt-btn-ghost:hover { background: rgba(255,255,255,.08); border-color: #fff; }
  .lt-btn-wa { background:#25D366 !important; color:#fff !important; box-shadow:0 4px 14px rgba(37,211,102,.28); }
  .lt-btn-wa:hover { background:#1eb858 !important; transform: translateY(-1px); box-shadow: 0 8px 22px rgba(37,211,102,.4); }

  /* Pillars (positioning bar) */
  .lt-pillar-grid { display:grid; grid-template-columns: repeat(4, 1fr); }
  .lt-pillar { padding: 30px 28px; border-right: 1px solid rgba(255,255,255,.1); display:flex; align-items:flex-start; gap:16px; transition: background .25s ease; }
  .lt-pillar:last-child { border-right: 0; }
  .lt-pillar:hover { background: rgba(255,255,255,.04); }
  .leen-site[dir="rtl"] .lt-pillar { border-right: 0; border-left: 1px solid rgba(255,255,255,.1); }
  .leen-site[dir="rtl"] .lt-pillar:last-child { border-left: 0; }

  /* Service cards */
  .lt-svc-card { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease; position: relative; }
  .lt-svc-card::after { content:""; position:absolute; left:0; bottom:0; width:0; height:3px; background: var(--lt-gold); transition: width .35s var(--lt-ease); }
  .lt-svc-card:hover { background: #fafbfc; }
  .lt-svc-card:hover::after { width: 100%; }
  .lt-svc-card:hover .lt-svc-num { color: var(--lt-gold) !important; }
  .lt-svc-card:hover .lt-svc-icon { transform: rotate(-6deg) scale(1.08); }
  .lt-svc-num { transition: color .3s ease; }
  .lt-svc-icon { transition: transform .35s var(--lt-ease); transform-origin: center; }

  /* Product grid */
  .lt-product-card { background:#fff; border:1px solid var(--lt-line); border-radius:6px; overflow:hidden; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; display:flex; flex-direction:column; }
  .lt-product-card:hover { transform: translateY(-4px); border-color: var(--lt-gold); box-shadow: var(--lt-shadow-lg); }
  .lt-product-img { position:relative; height:220px; overflow:hidden; background: linear-gradient(135deg, #eef2f6 0%, #dfe6ee 100%); display:flex; align-items:center; justify-content:center; }
  .lt-product-img::before { content:""; position:absolute; inset:0; background-image: repeating-linear-gradient(45deg, rgba(10,37,64,.025) 0 12px, transparent 12px 24px); pointer-events:none; }
  .lt-product-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform .6s ease, opacity .2s ease; z-index:1; }
  .lt-product-card:hover .lt-product-img img { transform: scale(1.06); }
  .lt-product-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#94a3b8; font-size:.74rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; text-align:center; padding:20px; z-index:0; }
  .lt-product-body { padding:22px 22px 24px; flex:1; display:flex; flex-direction:column; }
  .lt-product-tag { display:inline-block; font-size:.66rem; font-weight:700; color:var(--lt-gold); letter-spacing:.16em; text-transform:uppercase; margin-bottom:8px; }
  .lt-product-stock { margin-top:auto; padding-top:14px; border-top:1px solid var(--lt-line); display:flex; align-items:center; gap:8px; font-size:.76rem; color:#16a34a; font-weight:600; }
  .lt-product-stock .dot { width:7px; height:7px; border-radius:50%; background:#16a34a; box-shadow:0 0 0 3px rgba(22,163,74,.15); }

  /* Route cards */
  .lt-route-card { transition: transform .3s ease, box-shadow .3s ease; position: relative; }
  .lt-route-card:hover { transform: translateY(-6px); box-shadow: var(--lt-shadow-lg) !important; }
  .lt-route-card img.lt-cover { transition: transform .6s ease; }
  .lt-route-card:hover img.lt-cover { transform: scale(1.08); }
  .lt-route-img-wrap::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, transparent 40%, rgba(10,37,64,.45) 100%); pointer-events:none; }

  /* Why us cards */
  .lt-why-card { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
  .lt-why-card:hover { transform: translateY(-4px); border-color: var(--lt-gold) !important; box-shadow: var(--lt-shadow-md) !important; }
  .lt-why-card:hover .lt-why-icon { transform: scale(1.1); }
  .lt-why-icon { transition: transform .35s var(--lt-ease); display:block; margin-bottom:20px; }

  /* Distribution / steps */
  .lt-step-card { background:#fff; border:1px solid var(--lt-line); border-radius:6px; padding:32px 28px; position:relative; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
  .lt-step-card:hover { transform: translateY(-4px); border-color: var(--lt-gold); box-shadow: var(--lt-shadow-md); }
  .lt-step-num { position:absolute; top:-18px; left:28px; width:38px; height:38px; border-radius:50%; background:var(--lt-navy); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.92rem; font-family:'Manrope',sans-serif; box-shadow:0 6px 14px rgba(10,37,64,.25); }
  .leen-site[dir="rtl"] .lt-step-num { left:auto; right:28px; }

  /* Stock list */
  .lt-stock-tag { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--lt-line); padding:11px 18px; border-radius:30px; font-size:.86rem; font-weight:600; color:var(--lt-navy); transition: border-color .2s ease, transform .2s ease; }
  .lt-stock-tag:hover { border-color: var(--lt-gold); transform: translateY(-2px); }
  .lt-stock-tag .dot { width:8px; height:8px; border-radius:50%; background:#16a34a; }

  /* Contact card */
  .lt-contact-card { transition: transform .3s ease, background .3s ease, border-color .3s ease; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 6px; padding: 26px 24px; text-align: left; text-decoration: none; color: inherit; display: flex; gap:18px; align-items:flex-start; }
  .lt-contact-card:hover { transform: translateY(-3px); background: rgba(255,255,255,.1); border-color: var(--lt-gold); }
  .leen-site[dir="rtl"] .lt-contact-card { text-align: right; }

  /* RFQ form */
  .lt-form-grid { display:grid; grid-template-columns: 1fr 1fr; gap:18px; }
  .lt-field { display:flex; flex-direction:column; gap:6px; }
  .lt-field-full { grid-column: 1 / -1; }
  .lt-field label { font-size:.78rem; font-weight:600; color:var(--lt-navy); letter-spacing:.04em; }
  .lt-field input, .lt-field select, .lt-field textarea {
    width:100%; box-sizing:border-box;
    padding: 12px 14px; border: 1px solid var(--lt-line);
    border-radius:4px; font-size:.92rem; color:var(--lt-navy);
    background:#fff; font-family: inherit;
    transition: border-color .2s ease, box-shadow .2s ease;
  }
  .lt-field input:focus, .lt-field select:focus, .lt-field textarea:focus {
    outline:0; border-color: var(--lt-gold); box-shadow: 0 0 0 3px rgba(201,162,95,.18);
  }
  .lt-field textarea { resize: vertical; min-height: 110px; }
  .lt-form-note { font-size:.78rem; color:var(--lt-muted); }

  /* Social */
  .lt-social { transition: all .25s ease; }
  .lt-social:hover { background: var(--lt-gold) !important; color: var(--lt-navy) !important; transform: translateY(-2px); }

  /* Footer */
  .lt-footer-link { transition: color .2s ease, padding-left .2s ease; display:inline-block; }
  .lt-footer-link:hover { color: var(--lt-gold) !important; padding-left:4px; }
  .leen-site[dir="rtl"] .lt-footer-link:hover { padding-left: 0; padding-right: 4px; }

  /* Eyebrow */
  .lt-eyebrow { display:inline-flex; align-items:center; gap:12px; font-size:.72rem; font-weight:700; color: var(--lt-gold); letter-spacing:.22em; text-transform:uppercase; margin-bottom:18px; }
  .lt-eyebrow::before { content:""; width:32px; height:1px; background: var(--lt-gold); }
  .lt-eyebrow.is-center { position:relative; padding: 0 44px; }
  .lt-eyebrow.is-center::before, .lt-eyebrow.is-center::after { content:""; display:block; position:absolute; top:50%; width:32px; height:1px; background: var(--lt-gold); }
  .lt-eyebrow.is-center::before { left:0; }
  .lt-eyebrow.is-center::after  { right:0; }
  .leen-site[dir="rtl"] .lt-eyebrow { letter-spacing:.04em; }

  /* Scroll cue */
  @keyframes lt-bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
  .lt-scroll-cue { position:absolute; bottom:24px; left:50%; transform: translateX(-50%); color: rgba(255,255,255,.7); display:flex; flex-direction:column; align-items:center; gap:6px; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; text-decoration:none; animation: lt-bounce 2.4s ease-in-out infinite; }
  .lt-scroll-cue:hover { color:#fff; }

  /* About badge */
  .lt-img-badge { position:absolute; bottom:24px; right:-24px; background:#fff; border-radius:6px; padding:18px 22px; box-shadow: var(--lt-shadow-lg); display:flex; align-items:center; gap:14px; border-left: 3px solid var(--lt-gold); }

  /* WhatsApp FAB */
  .lt-fab-wa { position: fixed; right: 22px; bottom: 22px; z-index: 999; width: 58px; height: 58px; border-radius: 50%; background: #25D366; color: #fff; display: flex; align-items: center; justify-content: center; text-decoration: none; box-shadow: 0 8px 24px rgba(37,211,102,.4); transition: transform .25s ease, box-shadow .25s ease; }
  .lt-fab-wa:hover { transform: scale(1.08); box-shadow: 0 12px 32px rgba(37,211,102,.5); }
  .lt-fab-wa::before { content:""; position:absolute; inset:-6px; border-radius:50%; background: rgba(37,211,102,.3); z-index:-1; animation: lt-pulse 2s ease-out infinite; }
  @keyframes lt-pulse { 0% { transform: scale(.95); opacity:.7; } 100% { transform: scale(1.4); opacity:0; } }

  /* Scroll-to-top */
  .lt-fab-top { position: fixed; right: 22px; bottom: 92px; z-index: 998; width: 44px; height: 44px; border-radius: 50%; background: var(--lt-navy); color: #fff; display: flex; align-items: center; justify-content: center; text-decoration: none; box-shadow: var(--lt-shadow-md); opacity: 0; pointer-events: none; transform: translateY(10px); transition: opacity .25s ease, transform .25s ease, background .2s ease; }
  .lt-fab-top.is-visible { opacity: 1; pointer-events: auto; transform: none; }
  .lt-fab-top:hover { background: var(--lt-navy-2); }

  /* Mobile menu */
  .lt-mobile-toggle { display: none; }
  .lt-burger { display: none; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 4px; cursor: pointer; color: var(--lt-navy); transition: background .2s ease; }
  .lt-burger:hover { background: var(--lt-bg); }
  .lt-burger .ic-close { display: none; }
  #lt-mobile-toggle:checked ~ .lt-nav .lt-burger .ic-menu { display: none; }
  #lt-mobile-toggle:checked ~ .lt-nav .lt-burger .ic-close { display: inline-block; }
  .lt-mobile-menu { display: none; position: fixed; inset: 0; z-index: 999; background: #fff; padding: 100px 32px 40px; overflow-y: auto; }
  #lt-mobile-toggle:checked ~ .lt-mobile-menu { display: block; }
  #lt-mobile-toggle:checked ~ .lt-nav { z-index: 1001; }
  .lt-mobile-menu ul { list-style: none; padding: 0; margin: 0 0 32px; display: flex; flex-direction: column; gap: 4px; }
  .lt-mobile-menu li a { display: block; padding: 16px 4px; color: var(--lt-navy); text-decoration: none; font-size: 1.1rem; font-weight: 600; border-bottom: 1px solid var(--lt-line); }
  .lt-mobile-menu li a:hover { color: var(--lt-gold); }
  .lt-mobile-menu .lt-mobile-meta { padding-top: 24px; display: flex; flex-direction: column; gap: 14px; color: var(--lt-body); font-size: .92rem; }
  .lt-mobile-menu .lt-mobile-meta a { color: var(--lt-body); text-decoration: none; }

  /* Mobile responsive */
  @media (max-width: 980px) {
    .lt-pillar-grid { grid-template-columns: repeat(2, 1fr); }
    .lt-pillar { border-bottom: 1px solid rgba(255,255,255,.1); }
    .lt-pillar:nth-child(even) { border-right: 0; }
    .leen-site[dir="rtl"] .lt-pillar:nth-child(even) { border-left: 0; border-right: 0; }
    .leen-site[dir="rtl"] .lt-pillar:nth-child(odd) { border-right: 0; border-left: 1px solid rgba(255,255,255,.1); }
    .lt-pillar:nth-last-child(-n+2) { border-bottom: 0; }
  }
  @media (max-width: 1024px) {
    .lt-nav-desktop { display: none !important; }
    .lt-nav-cta-desktop { display: none !important; }
    .lt-burger { display: inline-flex; }
  }
  @media (max-width: 768px) {
    .lt-topbar-inner { gap: 10px !important; }
    .lt-topbar-meta { display:none; }
    .lt-nav-inner { padding: 0 22px !important; height: 68px !important; }
    .lt-hero-title { font-size: 2.3rem !important; }
    .lt-hero-section { padding: 70px 22px !important; min-height: 580px !important; }
    .lt-hero-stats { gap: 28px !important; }
    .lt-hero-stat-num { font-size: 1.6rem !important; }
    .lt-section-title { font-size: 1.85rem !important; }
    .lt-section { padding: 72px 22px !important; }
    .lt-form-grid { grid-template-columns: 1fr; }
    .lt-pillar-grid { grid-template-columns: 1fr; }
    .lt-pillar { border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.1); }
    .lt-pillar:last-child { border-bottom: 0; }
    .lt-contact-grid { grid-template-columns: 1fr !important; }
    .lt-sectors-row { gap: 14px !important; }
    .lt-sectors-row .lt-sep { display: none; }
    .lt-about-grid { gap: 48px !important; }
    .lt-img-badge { right: 16px; bottom: -20px; padding: 14px 18px; }
    .lt-footer-grid { gap: 36px !important; }
    .lt-fab-wa { right: 16px; bottom: 16px; width: 54px; height: 54px; }
    .leen-site[dir="rtl"] .lt-fab-wa { right: auto; left: 16px; }
    .lt-fab-top { right: 16px; bottom: 80px; }
    .leen-site[dir="rtl"] .lt-fab-top { right: auto; left: 16px; }
    .lt-scroll-cue { display: none; }
    .lt-product-img { height: 200px; }
  }
  @media (max-width: 480px) {
    .lt-hero-title { font-size: 1.95rem !important; }
    .lt-hero-stat-num { font-size: 1.35rem !important; }
    .lt-section-title { font-size: 1.55rem !important; }
    .lt-hero-stats { gap: 22px !important; }
  }

  /* ===== Home v2 sections (Product Categories, Markets pills, Trust grid) ===== */
  .lt-cat-card { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
  .lt-cat-card:hover { transform: translateY(-4px); border-color: var(--lt-gold); box-shadow: var(--lt-shadow-md); }
  .lt-mkt-pill { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
  .lt-mkt-pill:hover { transform: translateY(-2px); border-color: var(--lt-gold); box-shadow: var(--lt-shadow-sm); }
  @media (max-width: 980px) {
    .lt-trust-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 30px 24px !important; }
  }
  @media (max-width: 480px) {
    #trust { padding: 48px 24px !important; }
    .lt-trust-grid .display { font-size: 2rem !important; }
  }

  /* ============================================================
     === COMPREHENSIVE RESPONSIVE REFINEMENTS ===================
     Touch targets >= 44px, no horizontal scroll, page-header
     scaling on interior pages, form-field iOS no-zoom, hub-card
     mobile, footer column wrap, eyebrow scaling on tiny phones.
     ============================================================ */

  /* Defensive: prevent any horizontal scroll */
  .leen-site { overflow-x: hidden; }
  .leen-site img, .leen-site video { max-width: 100%; height: auto; }

  /* iOS Safari: inputs >=16px font-size prevents auto-zoom on focus */
  @media (max-width: 768px) {
    .lt-field input, .lt-field select, .lt-field textarea {
      font-size: 16px !important;
    }
  }

  /* === Page header on interior pages (about/services/products/markets/contact/rfq) === */
  @media (max-width: 768px) {
    .lt-page-header { padding: 56px 22px !important; }
    .lt-page-header h1 { font-size: 1.9rem !important; line-height: 1.2 !important; }
    .lt-page-header p { font-size: .94rem !important; }
    .lt-page-header nav { font-size: .72rem !important; margin-bottom: 14px !important; }
  }
  @media (max-width: 480px) {
    .lt-page-header { padding: 44px 18px !important; }
    .lt-page-header h1 { font-size: 1.6rem !important; }
    .lt-page-header p { font-size: .88rem !important; }
  }

  /* === Markets hub cards (Lebanon / Cameroon big cards) === */
  @media (max-width: 768px) {
    .lt-hub-card { padding: 28px 22px !important; min-height: 240px !important; }
    .lt-hub-name { font-size: 1.7rem !important; }
    .lt-hub-meta { gap: 14px 18px !important; padding-top: 14px !important; }
    .lt-hub-meta div { font-size: .78rem !important; }
  }
  @media (max-width: 480px) {
    .lt-hub-card { padding: 26px 20px !important; min-height: 220px !important; }
    .lt-hub-name { font-size: 1.45rem !important; }
    .lt-hub-card .lt-hub-glow { width: 220px !important; height: 220px !important; }
    .lt-hub-flag { width: 38px; height: 28px; margin-bottom: 14px; }
  }

  /* === Hero stats on small phones === */
  @media (max-width: 480px) {
    .lt-hero-stats { gap: 18px 24px !important; padding-top: 20px !important; }
    .lt-hero-stat-num { font-size: 1.3rem !important; }
    .lt-hero-stat-value { font-size: 1.15rem !important; }
    .lt-hero-stat-label { font-size: .68rem !important; }
  }

  /* === About image — shorter on mobile to reduce scroll === */
  @media (max-width: 768px) {
    .lt-about-grid img { height: 320px !important; }
  }
  @media (max-width: 480px) {
    .lt-about-grid img { height: 260px !important; }
    .lt-img-badge { padding: 12px 16px !important; right: 12px !important; bottom: -16px !important; }
    .lt-img-badge .display { font-size: 1.1rem !important; }
  }

  /* === Top utility bar — tight pack on tiny phones === */
  @media (max-width: 480px) {
    .lt-topbar { font-size: .7rem; padding: 8px 14px !important; }
    .lt-topbar-inner { gap: 8px !important; }
    .lt-topbar a, .lt-topbar span { gap: 6px !important; }
  }

  /* === Mobile menu spacing === */
  @media (max-width: 480px) {
    .lt-mobile-menu { padding: 88px 22px 36px !important; }
    .lt-mobile-menu li a { font-size: 1.04rem !important; padding: 14px 4px !important; }
  }

  /* === Touch targets: WCAG 2.5.5 (>= 44x44) === */
  .lt-burger { min-width: 44px; min-height: 44px; }
  @media (max-width: 768px) {
    .lt-lang button { min-height: 40px !important; padding: 8px 14px !important; }
    .lt-social { min-width: 40px !important; min-height: 40px !important; }
  }
  .lt-mobile-cta a { min-height: 56px; }

  /* === Final CTA section — mobile === */
  @media (max-width: 768px) {
    #cta { padding: 64px 22px !important; }
    #cta h2 { font-size: 1.85rem !important; }
    #cta p { font-size: .94rem !important; }
  }

  /* === Services cards on tiny mobile — more breathing room === */
  @media (max-width: 480px) {
    .lt-svc-card { padding: 30px 22px !important; border-right: 0 !important; }
  }

  /* === Distribution step cards — gap on mobile so step-number circle doesn't overlap previous card === */
  @media (max-width: 768px) {
    .lt-dist-grid { gap: 36px !important; margin-top: 36px !important; }
  }

  /* === Footer column orphan prevention === */
  @media (max-width: 900px) {
    .lt-footer-grid > div { flex: 1 1 220px !important; min-width: 220px !important; }
  }
  @media (max-width: 480px) {
    .lt-footer-grid > div { flex: 1 1 100% !important; min-width: 0 !important; }
    .lt-footer-grid { gap: 28px !important; padding-bottom: 36px !important; }
  }

  /* === Hide scroll cue on shorter viewports (landscape phones, small laptops) === */
  @media (max-height: 700px) { .lt-scroll-cue { display: none !important; } }

  /* === Eyebrow text — slightly smaller on tiny phones === */
  @media (max-width: 480px) {
    .lt-eyebrow { font-size: .68rem !important; margin-bottom: 14px !important; letter-spacing: .18em !important; }
  }

  /* === Product cards: image area tighter on small phones === */
  @media (max-width: 480px) {
    .lt-product-img { height: 180px !important; }
    .lt-product-body { padding: 18px 18px 20px !important; }
  }

  /* === RFQ form: helper banner smaller on mobile === */
  @media (max-width: 480px) {
    #lt-rfq-form { padding: 28px 22px !important; }
    .lt-form-grid { gap: 14px !important; }
  }

  /* === Contact section cards on tiny mobile === */
  @media (max-width: 480px) {
    .lt-contact-card { padding: 22px 20px !important; gap: 14px !important; }
  }

  /* === Pillars: tighter padding on small mobile === */
  @media (max-width: 480px) {
    .lt-pillar { padding: 24px 22px !important; gap: 14px !important; }
    .lt-pillar .display { font-size: 1rem !important; }
  }

  /* === FAQ items === */
  @media (max-width: 480px) {
    .lt-faq-item summary { padding: 16px 18px !important; font-size: .94rem !important; gap: 14px !important; }
    .lt-faq-answer { padding: 0 18px 18px 18px !important; font-size: .88rem !important; }
  }

  /* === Section title scaling on tiny phones === */
  @media (max-width: 380px) {
    .lt-section-title { font-size: 1.45rem !important; }
    .lt-hero-title { font-size: 1.8rem !important; }
  }


  /* ===========================================================
     === MOBILE-FIRST OPTIMIZATIONS (added pass) ===============
     =========================================================== */

  /* 2-col content grids (About + Product Categories): stack on tablet/phone */
  @media (max-width: 900px) {
    .lt-qa-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .lt-qa-grid img { height: 260px !important; }
  }
  @media (max-width: 480px) {
    .lt-qa-grid { gap: 24px !important; }
    .lt-qa-grid img { height: 200px !important; border-radius: 6px !important; }
  }

  /* Product Categories 2x2 tick grid -> single column on small phones */
  @media (max-width: 480px) {
    #products ul[style*="grid-template-columns:1fr 1fr"] {
      grid-template-columns: 1fr !important;
      gap: 12px !important;
      margin-bottom: 36px !important;
    }
  }

  /* Hero: tighter padding + smaller H1 on small phones */
  @media (max-width: 480px) {
    .lt-hero-section { min-height: 460px !important; padding: 56px 18px !important; }
    .lt-hero-title { font-size: 1.85rem !important; line-height: 1.15 !important; margin-bottom: 18px !important; }
    .lt-hero-section p { font-size: .94rem !important; line-height: 1.6 !important; margin-bottom: 24px !important; }
    .lt-hero-section .lt-btn-gold { padding: 14px 24px !important; font-size: .9rem !important; }
    .lt-hero-section .lt-btn-ghost { padding: 14px 22px !important; font-size: .9rem !important; }
  }

  /* Page header (interior pages) tighter on tiny phones */
  @media (max-width: 480px) {
    .lt-page-header { padding: 38px 18px !important; }
    .lt-page-header h1 { font-size: 1.55rem !important; margin-bottom: 12px !important; }
    .lt-page-header p { font-size: .86rem !important; line-height: 1.55 !important; }
    .lt-page-header nav { font-size: .66rem !important; margin-bottom: 12px !important; }
  }

  /* Sections in general: lighter padding on tiny phones */
  @media (max-width: 480px) {
    .lt-section { padding: 52px 18px !important; }
    .lt-section-title { font-size: 1.45rem !important; margin-bottom: 12px !important; }
  }

  /* Top utility bar — keep readable on the smallest phones */
  @media (max-width: 480px) {
    .lt-topbar { padding: 6px 12px !important; font-size: .66rem !important; }
    .lt-topbar a { font-size: .66rem !important; gap: 5px !important; }
    .lt-topbar-inner { gap: 10px !important; }
    .lt-lang button { padding: 6px 10px !important; min-height: 32px !important; font-size: .7rem !important; }
  }

  /* Nav bar: smaller logo on tiny screens to free up horizontal space */
  @media (max-width: 480px) {
    .lt-nav-inner { height: 60px !important; padding: 0 16px !important; }
    .lt-nav-logo { height: 34px !important; }
    .lt-burger { width: 38px !important; height: 38px !important; }
  }

  /* Mobile menu list — wider tap targets, slightly bigger text */
  @media (max-width: 480px) {
    .lt-mobile-menu { padding: 84px 22px 32px !important; }
    .lt-mobile-menu li a { padding: 16px 4px !important; font-size: 1.02rem !important; }
  }

  /* Final CTA: tighter padding, smaller heading on phones */
  @media (max-width: 480px) {
    #cta { padding: 52px 20px !important; }
    #cta h2, #cta .lt-section-title { font-size: 1.55rem !important; line-height: 1.25 !important; }
    #cta p { font-size: .9rem !important; line-height: 1.6 !important; margin-bottom: 22px !important; }
    #cta .lt-btn-gold { padding: 14px 26px !important; font-size: .9rem !important; }
  }



  /* Trust Numbers tighter on tiny phones */
  @media (max-width: 480px) {
    #trust { padding: 44px 22px !important; }
    .lt-trust-grid { grid-template-columns: 1fr 1fr !important; gap: 24px 16px !important; }
    .lt-trust-grid .display { font-size: 1.8rem !important; }
    .lt-trust-grid > div > div + div { font-size: .68rem !important; }
  }

  /* ============= SERVICES TIMELINE (zigzag with central gold line) ============= */
  .lt-timeline { position: relative; padding: 20px 0; }
  .lt-timeline::before {
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 50%;
    width: 2px;
    background: linear-gradient(to bottom, transparent 0%, #c9a25f 6%, #c9a25f 94%, transparent 100%);
    transform: translateX(-50%);
    pointer-events: none;
    z-index: 0;
  }
  .lt-tl-step {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 60px 1fr;
    gap: 40px;
    align-items: center;
    margin-bottom: 90px;
  }
  .lt-tl-step:last-child { margin-bottom: 0; }
  /* default (odd rows: 1, 3, 5...): image col 1 (left), marker col 2, text col 3 */
  .lt-tl-step .lt-tl-image   { grid-row: 1; grid-column: 1; align-self: center; display: flex; align-items: center; justify-content: center; }
  .lt-tl-step .lt-tl-marker  { grid-row: 1; grid-column: 2; align-self: center; }
  .lt-tl-step .lt-tl-content { grid-row: 1; grid-column: 3; align-self: center; text-align: left; padding-left: 30px; display: flex; flex-direction: column; justify-content: center; }
  /* even rows (2, 4, 6...) flip */
  .lt-tl-step:nth-of-type(even) .lt-tl-content { grid-column: 1; text-align: right; padding-left: 0; padding-right: 30px; }
  .lt-tl-step:nth-of-type(even) .lt-tl-image   { grid-column: 3; }
  /* gold dot on the line */
  .lt-tl-marker {
    position: relative; z-index: 1;
    display: flex; align-items: center; justify-content: center;
  }
  .lt-tl-marker span {
    display: block; width: 18px; height: 18px;
    border-radius: 50%;
    background: #c9a25f;
    box-shadow: 0 0 0 4px #fff, 0 0 0 6px rgba(201,162,95,.3);
  }
  /* text styles */
  .lt-tl-num    { font-size: .82rem; font-weight: 700; color: #c9a25f; letter-spacing: .14em; margin-bottom: 10px; }
  .lt-tl-title  { font-size: 1.5rem; font-weight: 800; color: #0a2540; margin: 0 0 14px 0; line-height: 1.2; letter-spacing: -.01em; }
  .lt-tl-desc   { font-size: .96rem; color: #4b5563; line-height: 1.75; margin: 0; font-weight: 400; }
  /* image card */
  .lt-tl-img-wrap {
    position: relative;
    width: 100%;
    height: 260px;
    box-sizing: border-box;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 12px 40px rgba(15,23,42,.08);
    overflow: hidden;
  }
  .lt-tl-img-wrap img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
  }
  .lt-tl-img-wrap img.lt-fit-contain { object-fit: contain; padding: 16px; box-sizing: border-box; }
  /* Placeholder fallback only when the wrap explicitly opts in via data-no-photo
     AND only if the img element is missing or failed to load. We hide the
     placeholder by default so the actual photos show. */
  .lt-tl-img-placeholder { display: none; }
  .lt-tl-img-wrap[data-no-photo] .lt-tl-img-placeholder {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
    color: #c9a25f; width: 100%; height: 100%;
  }
  .lt-tl-img-wrap[data-no-photo] img { display: none; }
  .lt-tl-img-placeholder .icon { width: 64px; height: 64px; }
  .lt-tl-img-placeholder .tag {
    font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #0a2540;
  }
  .leen-site[dir="rtl"] .lt-tl-step .lt-tl-content { text-align: right; padding-left: 0; padding-right: 30px; }
  .leen-site[dir="rtl"] .lt-tl-step:nth-of-type(even) .lt-tl-content { text-align: left; padding-right: 0; padding-left: 30px; }
  @media (max-width: 900px) {
    /* Timeline becomes a left-anchored vertical line with side-dot markers */
    .lt-timeline {
      position: relative;
      padding: 12px 0 12px 38px;
    }
    .lt-timeline::before {
      display: block;
      top: 0; bottom: 0;
      left: 14px;
      width: 2px;
      transform: none;
    }
    /* Each step stacks: image on top, content below */
    .lt-tl-step {
      grid-template-columns: 1fr;
      gap: 18px;
      margin-bottom: 48px;
      position: relative;
    }
    /* CRITICAL: undo the desktop grid-row:1 / grid-column pinning so items
       can flow naturally instead of overlapping in the same cell */
    .lt-tl-step .lt-tl-image,
    .lt-tl-step .lt-tl-content,
    .lt-tl-step .lt-tl-marker,
    .lt-tl-step:nth-of-type(even) .lt-tl-image,
    .lt-tl-step:nth-of-type(even) .lt-tl-content {
      grid-row: auto !important;
      grid-column: 1 !important;
      text-align: left !important;
      padding: 0 !important;
    }
    /* Visual order: image first, content second */
    .lt-tl-step .lt-tl-image   { order: 1; }
    .lt-tl-step .lt-tl-content { order: 2; }
    /* Marker becomes a dot pinned to the vertical line at the row's top */
    .lt-tl-step .lt-tl-marker {
      display: flex;
      position: absolute;
      left: -30px;
      top: 14px;
      width: 22px; height: 22px;
      z-index: 1;
    }
    .lt-tl-marker span {
      width: 14px; height: 14px;
    }
    /* RTL: mirror to right side */
    .leen-site[dir="rtl"] .lt-timeline { padding: 12px 38px 12px 0; }
    .leen-site[dir="rtl"] .lt-timeline::before { left: auto; right: 14px; }
    .leen-site[dir="rtl"] .lt-tl-step .lt-tl-marker { left: auto; right: -30px; }
    .leen-site[dir="rtl"] .lt-tl-step .lt-tl-content,
    .leen-site[dir="rtl"] .lt-tl-step:nth-of-type(even) .lt-tl-content {
      text-align: right !important;
    }
  }

  /* Services timeline: tighter on small phones */
  @media (max-width: 480px) {
    .lt-timeline { padding-left: 30px !important; }
    .lt-timeline::before { left: 10px !important; }
    .lt-tl-step .lt-tl-marker { left: -26px !important; top: 10px !important; width: 18px !important; height: 18px !important; }
    .lt-tl-marker span { width: 12px !important; height: 12px !important; }
    .lt-tl-img-wrap { height: 200px !important; border-radius: 8px; }
    .lt-tl-num   { font-size: .74rem !important; margin-bottom: 6px !important; }
    .lt-tl-title { font-size: 1.1rem !important; margin-bottom: 10px !important; line-height: 1.25 !important; }
    .lt-tl-desc  { font-size: .9rem !important; line-height: 1.6 !important; }
    .lt-tl-step  { margin-bottom: 38px !important; gap: 14px !important; }
    .leen-site[dir="rtl"] .lt-timeline { padding-right: 30px !important; }
    .leen-site[dir="rtl"] .lt-timeline::before { right: 10px !important; }
    .leen-site[dir="rtl"] .lt-tl-step .lt-tl-marker { right: -26px !important; }
  }

  /* Why Buyers + Industries cards tighter */
  @media (max-width: 480px) {
    #why .lt-reveal[data-delay],
    #industries .lt-reveal[data-delay] { padding: 24px 20px !important; }
    #why h3, #industries h3 { font-size: .98rem !important; }
    #why p, #industries p { font-size: .88rem !important; }
  }

  /* ============= MARKETS — TWO-COLUMN ALTERNATING ROWS ============= */
  .lt-mkt-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    align-items: stretch;
    margin-bottom: 30px;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(15,23,42,.06);
  }
  .lt-mkt-row:last-child { margin-bottom: 0; }
  .lt-mkt-img {
    position: relative;
    width: 100%;
    min-height: 380px;
    overflow: hidden;
  }
  .lt-mkt-img img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
  }
  .lt-mkt-flag {
    position: absolute;
    top: 22px; left: 22px;
    z-index: 2;
    font-family: 'Twemoji Country Flags', 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif;
    font-size: 56px;
    line-height: 1;
    letter-spacing: 0;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,.45));
    /* Critical: flag emojis are pairs of regional indicator characters
       (🇱🇧 = "L" + "B"). In RTL the pair gets reversed → "BL" has no flag
       mapping → font falls back to two separate letter boxes. Force LTR. */
    direction: ltr;
    unicode-bidi: isolate;
  }
  @media (max-width: 640px) {
    .lt-mkt-flag { top: 14px; left: 14px; font-size: 42px; }
  }
  .lt-mkt-body {
    padding: 44px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .lt-mkt-featured .lt-mkt-img { min-height: 440px; }
  /* Alternate layout: flip every other row so image and text swap sides. */
  .lt-mkt-row:nth-of-type(odd) .lt-mkt-img  { order: 2; }
  .lt-mkt-row:nth-of-type(odd) .lt-mkt-body { order: 1; }

  /* Markets country cards on mobile: stack image on top, body below */
  @media (max-width: 768px) {
    .lt-mkt-row { grid-template-columns: 1fr; }
    .lt-mkt-row:nth-of-type(odd) .lt-mkt-img,
    .lt-mkt-row:nth-of-type(odd) .lt-mkt-body { order: 0; }
    .lt-mkt-img, .lt-mkt-featured .lt-mkt-img { min-height: 240px !important; }
    .lt-mkt-body, .lt-mkt-featured .lt-mkt-body { padding: 30px 28px !important; }
  }
  @media (max-width: 480px) {
    .lt-mkt-img, .lt-mkt-featured .lt-mkt-img { min-height: 200px !important; }
    .lt-mkt-body, .lt-mkt-featured .lt-mkt-body { padding: 24px 20px !important; }
    .lt-mkt-row { margin-bottom: 24px !important; }
    .lt-mkt-row h3 { font-size: 1.5rem !important; }
  }

  /* Products page: spec card image + chips on small phones */
  @media (max-width: 480px) {
    .lt-spec-img { height: 160px !important; }
    .lt-spec-body { padding: 16px 16px 18px !important; gap: 8px !important; }
    .lt-spec-body h3 { font-size: .96rem !important; }
    .lt-spec-body p { font-size: .82rem !important; line-height: 1.55 !important; }
    .lt-spec-chip { font-size: .66rem !important; padding: 3px 8px !important; }
  }

  /* ============= PRODUCT SPEC CARDS (3-col grid with image-on-top) ============= */
  .lt-products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
  }
  .lt-spec-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(15,23,42,.06);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
  }
  .lt-spec-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 36px rgba(15,23,42,.12);
  }
  .lt-spec-img {
    position: relative;
    width: 100%;
    height: 240px;
    background: #f1f5f9;
    overflow: hidden;
  }
  .lt-spec-img img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
  }
  .lt-spec-img[data-no-photo] img { display: none; }
  .lt-spec-placeholder { display: none; }
  .lt-spec-img[data-no-photo] .lt-spec-placeholder {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
    position: absolute; inset: 0;
    color: #c9a25f;
  }
  .lt-spec-placeholder .icon { width: 56px; height: 56px; }
  .lt-spec-placeholder .tag {
    font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #0a2540;
  }
  .lt-spec-body {
    padding: 24px 24px 26px;
    flex: 1;
    display: flex; flex-direction: column;
    gap: 12px;
  }
  .lt-spec-body h3 {
    font-size: 1.1rem; font-weight: 700;
    margin: 0; color: #0a2540; line-height: 1.3;
  }
  .lt-spec-body p {
    font-size: .9rem; color: #4b5563; line-height: 1.65;
    margin: 0; font-weight: 400;
  }
  .lt-spec-chips {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin-top: auto; padding-top: 6px;
  }
  .lt-spec-chip {
    font-size: .72rem; font-weight: 500;
    color: #4b5563;
    background: #f1f5f9;
    padding: 5px 12px;
    border-radius: 999px;
    letter-spacing: .02em;
  }
  @media (max-width: 1024px) {
    .lt-products-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 640px) {
    .lt-products-grid { grid-template-columns: 1fr; }
  }

  /* ============= CONTACT INFO BOX (4-col grid of light cards) ============= */
  .lt-contact-box {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
  .lt-contact-card-v2 {
    background: #fff;
    border: 1px solid #eef2f6;
    border-radius: 10px;
    padding: 28px 26px;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    gap: 6px;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    box-shadow: 0 2px 14px rgba(15,23,42,.04);
  }
  a.lt-contact-card-v2:hover {
    transform: translateY(-3px);
    border-color: var(--lt-gold);
    box-shadow: 0 10px 28px rgba(15,23,42,.08);
  }
  .lt-contact-card-v2 .icon-wrap {
    width: 48px; height: 48px;
    border-radius: 8px;
    background: rgba(201,162,95,.12);
    color: var(--lt-gold);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 18px;
  }
  .lt-contact-card-v2 .label {
    font-size: .7rem;
    font-weight: 700;
    color: var(--lt-gold);
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 6px;
  }
  .lt-contact-card-v2 .value {
    font-size: 1.04rem;
    font-weight: 700;
    color: var(--lt-navy);
    line-height: 1.35;
  }
  .lt-contact-card-v2 .note {
    font-size: .82rem;
    color: var(--lt-muted);
    line-height: 1.5;
    font-weight: 400;
    margin-top: 4px;
  }
  @media (max-width: 1024px) {
    .lt-contact-box { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 560px) {
    .lt-contact-box { grid-template-columns: 1fr; }
  }

  /* Contact info box: gentler cards on tiny phones */
  @media (max-width: 480px) {
    .lt-contact-card-v2 { padding: 18px 16px !important; min-height: 0 !important; }
    .lt-contact-card-v2 .value { font-size: .92rem !important; }
    .lt-contact-card-v2 .note { font-size: .72rem !important; }
  }

  /* ============= RFQ FORM + LOCATION (2-col side-by-side) ============= */
  .lt-form-location-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 36px;
    align-items: start;
  }
  @media (max-width: 1024px) {
    .lt-form-location-grid { grid-template-columns: 1fr; gap: 28px; }
  }

  /* RFQ form fields: full width, more breathing room */
  @media (max-width: 480px) {
    #lt-rfq-form { padding: 22px 18px !important; }
    .lt-form-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
    .lt-field input, .lt-field select, .lt-field textarea { padding: 11px 13px !important; }
  }

  /* ============= LOCATION CARD (map + office details) ============= */
  .lt-location-card {
    background: #fff;
    border: 1px solid #eef2f6;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--lt-shadow-sm);
  }
  .lt-location-map {
    display: block;
    width: 100%;
    border: 0;
    min-height: 380px;
  }
  .lt-location-details {
    padding: 26px 28px;
    display: flex;
    flex-direction: column;
    gap: 22px;
  }
  .lt-location-office {
    display: flex;
    align-items: flex-start;
    gap: 14px;
  }
  .lt-location-office .flag-tile {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Twemoji Country Flags', 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif;
    font-size: 32px;
    line-height: 1;
    letter-spacing: 0;
    /* Same RTL fix as .lt-mkt-flag — keep regional-indicator pair in LTR order
       so the flag emoji renders instead of falling apart into two letter boxes. */
    direction: ltr;
    unicode-bidi: isolate;
  }
  .lt-location-office .o-name {
    font-size: 1rem;
    font-weight: 700;
    color: var(--lt-navy);
    margin-bottom: 2px;
  }
  .lt-location-office .o-role {
    font-size: .76rem;
    font-weight: 600;
    color: var(--lt-gold);
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 8px;
  }
  .lt-location-office .o-meta {
    font-size: .84rem;
    color: var(--lt-muted);
    line-height: 1.55;
  }

  /* Location card on phones */
  @media (max-width: 480px) {
    .lt-location-map { min-height: 240px !important; }
    .lt-location-details { padding: 18px 18px !important; gap: 14px !important; }
  }

  /* Footer: tighter, more readable */
  @media (max-width: 480px) {
    footer { padding: 48px 18px 0 !important; }
    .lt-footer-grid { gap: 28px !important; padding-bottom: 32px !important; }
    .lt-footer-grid h4 { margin-bottom: 14px !important; }
    .lt-footer-grid ul { gap: 10px !important; }
  }

  /* Pillars on home: tighter and stacked already, just bump readability */
  @media (max-width: 480px) {
    .lt-pillar { padding: 20px 18px !important; gap: 12px !important; }
    .lt-pillar .display { font-size: .96rem !important; }
    .lt-pillar div div:last-child { font-size: .78rem !important; line-height: 1.55 !important; }
  }


  /* === MOBILE NAV POLISH (added pass) === */
  /* Hide entire top utility bar on mobile */
  @media (max-width: 768px) {
    .lt-topbar { display: none !important; }
  }

  /* Mobile menu overlays everything when open (covers logo) */
  .lt-mobile-menu { z-index: 1100 !important; }
  #lt-mobile-toggle:checked ~ .lt-nav { z-index: 998 !important; }
  /* Close button inside the menu */
  .lt-mobile-close {
    position: absolute; top: 18px;
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; color: var(--lt-navy);
    border-radius: 4px; background: transparent;
    transition: background .2s ease;
    z-index: 2;
  }
  .lt-mobile-close:hover { background: var(--lt-bg); }
  /* LTR: close button top-right */
  .lt-mobile-close { right: 18px; }
  /* RTL: close button top-left (mirror) */
  .leen-site[dir="rtl"] .lt-mobile-close { right: auto; left: 18px; }
  /* Reduce top padding inside the menu since the nav bar is covered */
  .lt-mobile-menu { padding-top: 80px !important; }

  /* Lang toggle inside the mobile menu */
  .lt-mobile-lang { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--lt-line); }
  .lt-mobile-lang .lt-lang {
    display: inline-flex;
    border: 1px solid var(--lt-line) !important;
    border-radius: 4px;
    overflow: hidden;
  }
  .lt-mobile-lang .lt-lang button {
    background: #fff;
    color: var(--lt-body);
    min-height: 40px;
    padding: 10px 18px !important;
    font-size: .82rem !important;
    font-weight: 700;
    letter-spacing: .06em;
    border: 0; cursor: pointer;
    font-family: inherit;
  }
  .lt-mobile-lang .lt-lang button.is-active {
    background: var(--lt-gold);
    color: var(--lt-navy);
  }

  /* Smaller hero buttons + side-by-side on small phones */
  @media (max-width: 480px) {
    .lt-hero-section .lt-reveal[data-delay="3"] {
      flex-wrap: nowrap !important;
      gap: 10px !important;
      justify-content: center;
    }
    .lt-hero-section .lt-btn-gold,
    .lt-hero-section .lt-btn-ghost {
      padding: 11px 18px !important;
      font-size: .82rem !important;
      gap: 6px !important;
      white-space: nowrap;
    }
    .lt-hero-section .lt-btn-gold .ic-sm,
    .lt-hero-section .lt-btn-ghost .ic-sm { width: 12px !important; height: 12px !important; }
  }


  /* === RESPONSIVE POLISH (final pass) === */
  /* Sections use inline `padding:96px 40px` etc., so we need !important */
  @media (max-width: 1024px) {
    .lt-section { padding-left: 32px !important; padding-right: 32px !important; }
    .lt-page-header { padding-left: 32px !important; padding-right: 32px !important; }
  }
  @media (max-width: 768px) {
    .lt-section { padding: 64px 24px !important; }
    .lt-page-header { padding: 60px 24px !important; }
    .lt-page-header h1 { font-size: clamp(1.6rem, 5.8vw, 2.2rem) !important; line-height: 1.2 !important; }
    .lt-page-header p  { font-size: .94rem !important; line-height: 1.65 !important; }
    .lt-section-title  { font-size: clamp(1.4rem, 5vw, 1.9rem) !important; line-height: 1.22 !important; }
    .lt-hero-title     { font-size: clamp(1.75rem, 6.5vw, 2.6rem) !important; line-height: 1.15 !important; }
  }
  @media (max-width: 480px) {
    .lt-section { padding: 48px 18px !important; }
    .lt-page-header { padding: 44px 18px !important; }
    .lt-hero-section { padding-left: 18px !important; padding-right: 18px !important; }
    .lt-eyebrow { font-size: .66rem !important; letter-spacing: .14em !important; }
    .lt-page-header nav { font-size: .72rem !important; }
  }

  /* Image / iframe overflow guard — never break the viewport */
  img, video, iframe { max-width: 100%; }

  /* Floating action buttons: smaller on phones to leave content room */
  @media (max-width: 480px) {
    .lt-fab-wa, .lt-fab-top {
      width: 48px !important;
      height: 48px !important;
    }
    .lt-fab-wa .ic-xl { width: 22px !important; height: 22px !important; }
    .lt-fab-top .ic-md { width: 16px !important; height: 16px !important; }
  }

  /* Inline padding on hero — make sure horizontal padding scales */
  @media (max-width: 768px) {
    #lt-hero > div[style*="padding:90px 40px"],
    #lt-hero > div[style*="padding: 90px 40px"] {
      padding: 60px 24px !important;
    }
  }

  /* Markets card bullets / facts: tighter on tiny phones */
  @media (max-width: 480px) {
    .lt-mkt-body ul li { font-size: .85rem !important; line-height: 1.55 !important; padding: 4px 0 !important; }
    .lt-mkt-facts { grid-template-columns: 1fr 1fr !important; gap: 12px 14px !important; }
    .lt-mkt-facts > div > div:first-child { font-size: .58rem !important; letter-spacing: .12em !important; }
    .lt-mkt-facts > div > div:last-child  { font-size: .8rem !important; }
  }

  /* Generic 3+ column inline grids: collapse cleanly on small screens */
  @media (max-width: 640px) {
    [style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
    [style*="grid-template-columns:repeat(4,1fr)"] { grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
  }
  @media (max-width: 420px) {
    [style*="grid-template-columns:repeat(3,1fr)"],
    [style*="grid-template-columns:repeat(4,1fr)"] { grid-template-columns: 1fr !important; }
  }

  /* Buttons: a touch more compact on phones */
  @media (max-width: 480px) {
    .lt-btn-gold, .lt-btn-ghost {
      font-size: .88rem !important;
    }
  }

  /* Page-header gradient circles can overflow on small viewports — clip */
  .lt-page-header { overflow: hidden; }

  /* Body line-height bump for legibility on very small screens */
  @media (max-width: 380px) {
    body { -webkit-text-size-adjust: 100%; }
    .lt-section p, .lt-mkt-body p, .lt-spec-body p, .lt-tl-desc { font-size: .88rem !important; line-height: 1.6 !important; }
  }
