/* ============================================================
   GLOBAL ICT - polish.css
   Load LAST, after redesign.css (which loads the font). CSS only.
   Keeps the Global ICT identity (dark hero, NOC panel, blue).
   1. One font everywhere: Plus Jakarta Sans (same as Voiceflow)
   2. Bigger, darker body text
   3. Tighter headings
   4. Footer columns fill the full width
   ============================================================ */
/* 1. One font. Icons (Phosphor <i> tags) are left alone. */
body, body *:not(i):not([class^="ph"]):not([class*=" ph-"]) {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* 2. Headings: tighter and more confident */
.hero-title { letter-spacing: -0.03em !important; line-height: 1.06 !important; }
.section-title { letter-spacing: -0.025em !important; line-height: 1.12 !important; }
.service-card-title { font-size: 1.16rem !important; line-height: 1.3 !important; letter-spacing: -0.01em !important; }
.why-card h3 { font-size: 1.16rem !important; line-height: 1.3 !important; letter-spacing: -0.01em !important; }
#industries h3, #about h4, .contact-form h3 { letter-spacing: -0.01em !important; }
.stat-number { letter-spacing: -0.02em !important; }

/* 3. Body copy: the thin 300 weight and faint greys were the weak spot */
.page-banner p { font-weight: 400 !important; color: rgba(255,255,255,0.8) !important; }
.hero-subtitle { font-weight: 400 !important; color: rgba(255,255,255,0.8) !important; line-height: 1.7 !important; }
.hero-trust-item { color: rgba(255,255,255,0.75) !important; font-weight: 500 !important; }
.section-subtitle { font-weight: 400 !important; color: rgba(11,37,69,0.8) !important; line-height: 1.7 !important; }
#why .section-subtitle { color: rgba(255,255,255,0.75) !important; }
.service-card-desc { font-size: 0.95rem !important; line-height: 1.65 !important; color: rgba(11,37,69,0.8) !important; }
.service-card li { font-size: 0.9rem !important; color: rgba(11,37,69,0.82) !important; }
.partner-card-desc { font-size: 0.84rem !important; color: rgba(11,37,69,0.7) !important; }
.why-card p { font-size: 0.94rem !important; line-height: 1.7 !important; color: rgba(255,255,255,0.74) !important; font-weight: 400 !important; }
#industries p { font-size: 0.95rem !important; font-weight: 400 !important; line-height: 1.7 !important; color: rgba(11,37,69,0.8) !important; }
#industries .section-subtitle { font-size: 1.1rem !important; }
#about p { font-size: 1rem !important; line-height: 1.75 !important; color: rgba(11,37,69,0.8) !important; }
.stat-label { font-weight: 500 !important; color: rgba(255,255,255,0.9) !important; }
.nav-link { font-weight: 500 !important; }
.btn, .nav-cta { font-weight: 700 !important; letter-spacing: 0 !important; }
input, select, textarea { font-size: 0.97rem !important; }

/* 4. Footer: three columns across the full width instead of an empty fourth */
@media (min-width: 1025px) { .footer-grid { grid-template-columns: 1.7fr 1fr 1fr !important; } }
.footer-top p, .footer-top li, .footer-top a:not([class*="logo"]), .footer-top span:not([class*="logo"]) { font-size: 0.9rem !important; }

/* ============================================================
   5. De-template pass: same layout, colours and NOC panel,
      minus the effects that make a site look generated
      (gradient text, glows, pills, grid wallpaper, floating cards)
   ============================================================ */

/* Hero: clean navy, no grid wallpaper or glow blobs */
.hero-grid-bg, .hero-glow-1, .hero-glow-2 { display: none !important; }
.stats-bar::before { display: none !important; }

/* Headline second line: solid brand blue instead of gradient text */
.grad-text { background: none !important; -webkit-text-fill-color: currentColor !important; color: var(--brand-blue-lt) !important; }
.stat-number { background: none !important; -webkit-text-fill-color: currentColor !important; color: #fff !important; }

/* Hero badge: a plain line of text, not a glowing pill */
.hero-badge { background: none !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; color: rgba(255,255,255,0.7) !important; letter-spacing: 0.06em !important; }
.hero-badge-dot { display: none !important; }

/* Buttons: solid colour, squarer corners, no glow, no jumping on hover */
.btn, .nav-cta, .form-submit-btn { border-radius: 10px !important; box-shadow: none !important; }
.btn-primary, .nav-cta, .form-submit-btn { background: var(--brand-blue) !important; }
.btn:hover, .nav-cta:hover, .form-submit-btn:hover { transform: none !important; box-shadow: none !important; }
.btn-primary:hover, .nav-cta:hover, .form-submit-btn:hover { background: #0667d6 !important; }
.back-to-top { background: var(--brand-blue) !important; box-shadow: none !important; }

/* Section headings: left aligned, no dash-and-label decoration */
.section-header.centered { text-align: left !important; }
.section-header.centered .section-label { justify-content: flex-start !important; }
.section-header.centered .section-subtitle { margin-left: 0 !important; margin-right: 0 !important; }
.section-label::before { display: none !important; }
.services-tabs { justify-content: flex-start !important; margin-left: 0 !important; }

/* Tabs: solid active state */
.service-tab-btn { border-radius: 8px !important; }
.service-tab-btn.active { background: var(--brand-blue) !important; box-shadow: none !important; }

/* Cards: flat, square-ish, no lift or coloured top bar */
.service-card, .why-card, .partner-card, .industry-card, .mv-card, .contact-item, .include-item, .contact-form-wrap { border-radius: 10px !important; box-shadow: none !important; }
.service-card::before { display: none !important; }
.service-card:hover, .why-card:hover, .partner-card:hover, .industry-card:hover, .contact-item:hover { transform: none !important; box-shadow: none !important; border-color: var(--brand-blue) !important; }

/* Icons: plain line icons instead of tinted or gradient tiles */
.service-card-icon, .industry-icon, .include-item-icon { background: none !important; width: auto !important; height: auto !important; justify-content: flex-start !important; border-radius: 0 !important; color: var(--brand-blue) !important; font-size: 1.9rem !important; }
.service-card-icon i, .industry-icon i, .include-item-icon i { color: var(--brand-blue) !important; }
.why-card-icon { background: none !important; box-shadow: none !important; width: auto !important; height: auto !important; justify-content: flex-start !important; color: var(--brand-blue-lt) !important; font-size: 1.9rem !important; }

/* Stats bar: quiet. Same navy as the hero, smaller numbers. */
.stats-bar { background: #081a30 !important; border-top: 1px solid rgba(255,255,255,0.08); padding: 2.25rem 0 !important; }
.stat-number { font-size: 1.9rem !important; font-weight: 700 !important; }
.stat-label { color: rgba(255,255,255,0.65) !important; font-weight: 400 !important; }
.stat-item { border-right-color: rgba(255,255,255,0.08) !important; }

/* NOC panel: kept, but quiet. No glow, no shadow, no progress bars. */
.rd-noc { box-shadow: none !important; border-radius: 12px !important; background: rgba(255,255,255,0.03) !important; border: 1px solid rgba(255,255,255,0.09) !important; backdrop-filter: none !important; }
.rd-noc-card { border-radius: 8px !important; }
.rd-bar { display: none !important; }
.rd-noc-card .r { margin-bottom: 0 !important; }
.rd-noc-title i, .rd-noc-st b { box-shadow: none !important; }


/* ============================================================
   6. Two-layer hero (desktop). Back layer: the Global ICT globe,
      oversized and cropped behind the text. Front layer: the NOC
      console as a wide panel that overlaps down into the stats bar.
      Replaces the usual "text left, card right" split.
   ============================================================ */
@media (min-width: 1101px) {
  .hero {
    display: block !important; min-height: 0 !important; overflow: visible !important; z-index: 2;
    padding: 9.5rem 0 5rem !important;
    background:
      linear-gradient(90deg, #061225 30%, rgba(6,18,37,0.90) 62%, rgba(6,18,37,0.93) 100%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='180 180 840 840'%3E%3Cdefs%3E%3CclipPath id='c'%3E%3Ccircle cx='600' cy='600' r='420'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23c)' fill='%2326A7FF'%3E%3Crect x='180' y='180' width='840' height='57'/%3E%3Crect x='180' y='277' width='840' height='57'/%3E%3Crect x='180' y='374' width='840' height='57'/%3E%3Crect x='180' y='471' width='840' height='57'/%3E%3Crect x='180' y='568' width='840' height='57'/%3E%3Crect x='180' y='665' width='840' height='57'/%3E%3Crect x='180' y='762' width='840' height='57'/%3E%3Crect x='180' y='859' width='840' height='57'/%3E%3Crect x='180' y='956' width='840' height='57'/%3E%3C/g%3E%3C/svg%3E") no-repeat right -230px top -150px / 1020px 1020px,
      #061225 !important;
  }
  .hero-content { grid-template-columns: 1fr !important; gap: 3.5rem !important; }
  .hero-text { max-width: 720px; }
  /* Headline: a notch below the site's original size (caps at 50px) */
  .hero-title { font-size: clamp(2.2rem, 3.3vw, 3.125rem) !important; line-height: 1.1 !important; letter-spacing: -0.03em !important; margin-bottom: 1.25rem !important; }
  .hero-subtitle { font-size: 1.05rem !important; }
  .hero .btn-lg { padding: 0.85rem 1.6rem !important; font-size: 0.95rem !important; }
  .hero-subtitle { max-width: 600px !important; margin-bottom: 1.75rem !important; }
  .hero-actions { margin-bottom: 1.75rem !important; }
  .hero-trust { border-top: 0 !important; padding-top: 0 !important; }
  /* NOC console: one slim status strip along the bottom of the hero */
  .hero-visual { display: block !important; padding-bottom: 3.5rem; }
  .rd-noc { padding: 14px 18px !important; }
  .rd-noc-top { padding-bottom: 10px !important; margin-bottom: 10px !important; }
  .rd-noc-title { font-size: 0.72rem !important; }
  .rd-noc-grid { grid-template-columns: repeat(6, 1fr) !important; gap: 0 !important; }
  .rd-noc-card { background: none !important; border: 0 !important; border-radius: 0 !important; padding: 6px 14px !important; border-left: 1px solid rgba(255,255,255,0.08) !important; }
  .rd-noc-card:first-child { border-left: 0 !important; padding-left: 0 !important; }
  .rd-noc-card .r { flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; }
  .rd-noc-card .nm { font-size: 0.8rem !important; white-space: nowrap; }
}

/* 7. Inner page banners: same cropped-globe backdrop as the home hero */
.page-banner-grid, .page-banner-glow { display: none !important; }
@media (min-width: 1101px) {
  .page-banner {
    background:
      linear-gradient(90deg, #061225 30%, rgba(6,18,37,0.80) 64%, rgba(6,18,37,0.86) 100%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='180 180 840 840'%3E%3Cdefs%3E%3CclipPath id='c'%3E%3Ccircle cx='600' cy='600' r='420'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23c)' fill='%2326A7FF'%3E%3Crect x='180' y='180' width='840' height='57'/%3E%3Crect x='180' y='277' width='840' height='57'/%3E%3Crect x='180' y='374' width='840' height='57'/%3E%3Crect x='180' y='471' width='840' height='57'/%3E%3Crect x='180' y='568' width='840' height='57'/%3E%3Crect x='180' y='665' width='840' height='57'/%3E%3Crect x='180' y='762' width='840' height='57'/%3E%3Crect x='180' y='859' width='840' height='57'/%3E%3Crect x='180' y='956' width='840' height='57'/%3E%3C/g%3E%3C/svg%3E") no-repeat right -150px top -250px / 800px 800px,
      #061225 !important;
  }
}

/* 8. Tablet and phone: headline first, NOC panel after it */
@media (max-width: 1100px) { .hero-visual { order: 0 !important; } }
