:root {
  --ov-bg: #f4f6f8;
  --ov-surface: #ffffff;
  --ov-surface-soft: #eef2f7;
  --ov-text: #1e293b;
  --ov-muted: #64748b;
  --ov-line: rgba(30, 41, 59, 0.12);
  --ov-brand: #155fcd;
  --ov-brand-dark: #0f4ea9;
  --ov-radius: 14px;
  --ov-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

html,
body {
  background: var(--ov-bg) !important;
  color: var(--ov-text) !important;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body {
  line-height: 1.65 !important;
}

section,
.dark-section,
.light-section,
.hero,
.about-hero,
.services-hero,
.sustainability-hero,
.terminals-hero,
.terminal-hero,
.network-section,
.cta-section,
.stats-section,
.services-section,
.about-section,
.contact-section,
.contact-form-section,
.terminal-overview,
.overview-section,
.infographic-section {
  background-color: transparent !important;
  color: var(--ov-text) !important;
}

.container { width: min(1160px, 92%) !important; }

/* Render only visible sections first for faster paint */
section {
  content-visibility: auto;
  contain-intrinsic-size: 900px;
}

/* Keep top viewport content eagerly rendered */
.hero,
.about-hero,
.services-hero,
.sustainability-hero,
.terminals-hero,
.terminal-hero,
.modern-nav,
.footer {
  content-visibility: visible;
}

.modern-nav,
.navbar.modern-nav {
  background: rgba(255, 255, 255, 0.95) !important;
  border-bottom: 1px solid var(--ov-line) !important;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08) !important;
  backdrop-filter: blur(10px);
}

.modern-nav .nav-link,
.modern-nav .dropdown-item,
.modern-nav .navbar-brand { color: #2a3f5f !important; }

.modern-nav .nav-link.active,
.modern-nav .nav-link:hover,
.modern-nav .dropdown-item:hover,
.modern-nav .dropdown-item.active { color: var(--ov-brand) !important; }

.modern-nav .dropdown-menu {
  border: 1px solid var(--ov-line) !important;
  border-radius: 12px !important;
  box-shadow: var(--ov-shadow) !important;
  background: var(--ov-surface) !important;
}

.navbar-brand img { max-height: 44px !important; }

.nav-language-switch { display: inline-flex; align-items: center; gap: 0.45rem; }
.nav-language-current {
  border: 1px solid rgba(21, 95, 205, 0.25);
  background: #f0f6ff;
  color: #155fcd;
  border-radius: 999px;
  padding: 0.32rem 0.58rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
}
.nav-language-options { display: inline-flex; align-items: center; gap: 0.25rem; }
.lang-option-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 32px;
  border-radius: 9px;
  text-decoration: none;
  border: 1px solid rgba(21, 95, 205, 0.22);
  background: #ffffff;
  color: #355170 !important;
  font-size: 0.78rem;
  font-weight: 700;
}
.lang-option-nav.active,
.lang-option-nav:hover {
  background: #e9f1ff;
  color: #155fcd !important;
  border-color: rgba(21, 95, 205, 0.45);
}

h1, h2, h3, h4, h5, h6 { color: #1f2a3d !important; letter-spacing: -0.01em; }

p, .lead, li, label, .section-subtitle, .overview-label, .stat-label { color: #42546b !important; }

.hero-content p,
.about-hero-content p,
.services-hero-content p,
.sustainability-hero-content p,
.terminals-hero-content p,
.terminal-hero-content p,
.cta-content p,
.cta-section p { color: #334155 !important; }

.hero-content h1,
.about-hero-content h1,
.services-hero-content h1,
.sustainability-hero-content h1,
.terminals-hero-content h1,
.terminal-hero-content h1,
.cta-content h2,
.cta-section h2 { color: #1e293b !important; }

.card,
.service-card,
.terminal-card,
.overview-card,
.stats-card,
.network-card,
.contact-card,
.form-container,
.contact-form-container,
.info-card,
.feature-card,
.timeline-card,
.accordion-item,
.table-responsive,
table {
  background: var(--ov-surface) !important;
  border: 1px solid var(--ov-line) !important;
  border-radius: var(--ov-radius) !important;
  box-shadow: var(--ov-shadow) !important;
}

.card:hover,
.service-card:hover,
.terminal-card:hover,
.overview-card:hover,
.network-card:hover { transform: translateY(-3px) !important; transition: all 0.2s ease !important; }

.btn,
.btn-primary,
.btn-light,
.btn-outline-light,
.btn-outline-primary,
.cta-btn,
.service-btn,
.explore-btn,
.submit-btn { border-radius: 12px !important; font-weight: 700 !important; }

.btn-primary,
.cta-btn,
.service-btn,
.explore-btn,
.submit-btn {
  background: linear-gradient(135deg, var(--ov-brand), #2f7df2) !important;
  border-color: transparent !important;
  color: #fff !important;
}

.btn-primary:hover,
.cta-btn:hover,
.service-btn:hover,
.explore-btn:hover,
.submit-btn:hover { background: linear-gradient(135deg, var(--ov-brand-dark), var(--ov-brand)) !important; }

.btn-outline-light,
.btn-outline-primary,
.btn-light {
  background: #fff !important;
  color: var(--ov-brand) !important;
  border-color: rgba(21, 95, 205, 0.35) !important;
}

.form-control,
.form-select,
input,
select,
textarea {
  background: #fff !important;
  border: 1px solid var(--ov-line) !important;
  border-radius: 10px !important;
  color: var(--ov-text) !important;
}

.form-control:focus,
.form-select:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: rgba(21, 95, 205, 0.5) !important;
  box-shadow: 0 0 0 3px rgba(21, 95, 205, 0.15) !important;
}

table th { background: var(--ov-surface-soft) !important; color: #223049 !important; }
table td { color: #3b4a61 !important; }

.table-dark,
.table-dark th,
.table-dark td,
table.table-dark th,
table.table-dark td {
  background: #ffffff !important;
  color: #334155 !important;
  border-color: rgba(30, 41, 59, 0.14) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > * { background: #f8fafc !important; }
.table-hover > tbody > tr:hover > * { background: #edf3ff !important; color: #1e3a8a !important; }

img, video { border-radius: 12px; }
.hero-video, .terminal-image, .service-image, .about-image { box-shadow: var(--ov-shadow) !important; }

.hero-video-section {
  width: 100vw !important;
  max-width: 100% !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  background: #0f172a !important;
  border: none !important;
}

.hero-video-container {
  width: 100vw !important;
  max-width: 100vw !important;
  height: 92vh !important;
  min-height: 540px !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.hero-video { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 0 !important; }

.footer {
  background: #e9edf3 !important;
  border-top: 1px solid var(--ov-line) !important;
  color: #3d4b60 !important;
}

.footer h5,
.footer p,
.footer li a,
.footer address { color: #3d4b60 !important; }

.footer li a:hover { color: var(--ov-brand) !important; }

.footer .social-links a {
  background: #fff !important;
  color: var(--ov-brand) !important;
  border: 1px solid rgba(21, 95, 205, 0.2) !important;
}

.whatsapp-container,
.whatsapp-widget,
.whatsapp-popup,
.whatsapp-toggle,
.whatsapp-box,
.whatsapp-float,
.language-selector-hero,
.language-overlay-hero,
.language-toggle-hero,
.language-dropdown-hero { display: none !important; }

.wa-fab-global {
  position: fixed;
  right: 18px;
  bottom: 20px;
  z-index: 1300;
  border: 1px solid #1fa855;
  background: linear-gradient(140deg, #25d366, #1aa54c);
  color: #fff;
  border-radius: 999px;
  min-height: 56px;
  padding: 0.45rem 0.95rem 0.45rem 0.56rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(29, 161, 87, 0.32);
}

.wa-fab-icon-global {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.wa-fab-text-global { font-weight: 700; font-size: 0.9rem; color: #fff !important; }
.scroll-to-top {
  right: 20px !important;
  bottom: 96px !important;
  z-index: 1290 !important;
}
.wa-modal-backdrop-global { position: fixed; inset: 0; z-index: 1340; background: rgba(15, 23, 42, 0.5); backdrop-filter: blur(2px); }
.wa-modal-global {
  position: fixed;
  right: 18px;
  bottom: 86px;
  width: min(360px, calc(100vw - 1.4rem));
  z-index: 1350;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.28);
  padding: 1rem;
}
.wa-modal-global,
.wa-modal-global p,
.wa-modal-global a,
.wa-modal-global span {
  color: #1f2937 !important;
}
.wa-modal-global .btn-outline-primary {
  background: #f8fbff !important;
  color: #134eaa !important;
  border-color: rgba(21, 95, 205, 0.45) !important;
}

.wa-modal-badge-global {
  display: inline-block;
  border-radius: 999px;
  padding: 0.2rem 0.55rem;
  background: #eaf7ef;
  color: #168145;
  border: 1px solid #c7ebd5;
  font-size: 0.72rem;
  font-weight: 800;
}

.wa-modal-header-global h3 { margin: 0.55rem 0 0.35rem; font-size: 1.07rem; color: #1f2937 !important; }
.wa-modal-header-global p { margin: 0; color: #66748a !important; font-size: 0.92rem; line-height: 1.5; }
.wa-modal-actions-global { margin-top: 0.95rem; display: grid; gap: 0.55rem; }
.wa-modal-close-global {
  position: absolute;
  right: 10px;
  top: 7px;
  border: none;
  background: transparent;
  color: #6b7b92;
  font-size: 1.4rem;
  cursor: pointer;
  line-height: 1;
}

@media (max-width: 900px) {
  .container { width: min(1160px, 94%) !important; }
  .modern-nav { background: #fff !important; }
  .nav-language-switch { margin-top: 0.6rem; width: 100%; justify-content: flex-start; }
  .card, .service-card, .terminal-card, .overview-card, .network-card { border-radius: 12px !important; }
  .hero-video-container { height: 72vh !important; min-height: 420px !important; }
  .wa-fab-global { right: 12px; bottom: 12px; min-height: 52px; padding-right: 0.8rem; }
  .scroll-to-top { right: 12px !important; bottom: 78px !important; }
  .wa-modal-global { right: 10px; bottom: 74px; border-radius: 14px; padding: 0.9rem; }
}

/* Loading experience refresh (global override for legacy inline styles) */
.loading {
  position: fixed !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 20% 20%, rgba(21, 95, 205, 0.07), transparent 45%),
    radial-gradient(circle at 80% 80%, rgba(71, 85, 105, 0.08), transparent 42%),
    var(--ov-bg) !important;
  backdrop-filter: blur(1.5px);
  z-index: 9999 !important;
  transition: opacity 0.45s ease, visibility 0.45s ease !important;
}

.loading.hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.loading .spinner {
  width: 72px !important;
  height: 72px !important;
  position: relative !important;
  border-radius: 50% !important;
  border: 4px solid rgba(100, 116, 139, 0.22) !important;
  border-top-color: var(--ov-brand) !important;
  border-right-color: rgba(21, 95, 205, 0.45) !important;
  box-shadow:
    0 0 0 10px rgba(255, 255, 255, 0.55),
    0 12px 24px rgba(15, 23, 42, 0.12) !important;
  animation: ov-loader-spin 0.85s linear infinite !important;
}

.loading .spinner::after {
  content: "" !important;
  position: absolute;
  inset: 18px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(21, 95, 205, 0.2), rgba(21, 95, 205, 0.02));
  animation: ov-loader-breathe 1.2s ease-in-out infinite;
}

.loading .spinner::before {
  content: "" !important;
  position: absolute;
  inset: 20px;
  z-index: 2;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.92);
  background-image: url("/assets/images/logo.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 72% auto;
  box-shadow: inset 0 0 0 1px rgba(21, 95, 205, 0.1);
}

@keyframes ov-loader-spin {
  to { transform: rotate(360deg); }
}

@keyframes ov-loader-breathe {
  0%, 100% { transform: scale(0.92); opacity: 0.65; }
  50% { transform: scale(1.08); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .loading,
  .loading .spinner,
  .loading .spinner::after {
    animation: none !important;
    transition: none !important;
  }
}

/* Improve legibility for hero/content blocks that still use image overlays */
.hero-content,
.about-hero-content,
.services-hero-content,
.sustainability-hero-content,
.terminals-hero-content,
.terminal-hero-content {
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.35);
}

.initiative-tab.active,
.nav-link.active,
.dropdown-item.active {
  color: var(--ov-brand) !important;
}

/* Keep cookie prompt focused on clear acceptance flow */
.cookie-settings {
  display: none !important;
}

/* Final contrast micro-pass: page-specific hero readability */
.hero-content,
.about-hero-content,
.services-hero-content,
.sustainability-hero-content,
.contact-hero-content,
.terminals-hero-content,
.terminal-hero-content {
  position: relative;
  padding: clamp(1rem, 2vw, 1.5rem);
  border-radius: 14px;
}

.hero-content > *,
.about-hero-content > *,
.services-hero-content > *,
.sustainability-hero-content > *,
.contact-hero-content > *,
.terminals-hero-content > *,
.terminal-hero-content > * {
  position: relative;
  z-index: 1;
}

.hero-content::before,
.about-hero-content::before,
.services-hero-content::before,
.sustainability-hero-content::before,
.contact-hero-content::before,
.terminals-hero-content::before,
.terminal-hero-content::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}

/* Home hero sits on a darker video: use stronger dark glass for contrast */
.hero-content::before {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.62), rgba(15, 23, 42, 0.48));
}
.hero-content h1,
.hero-content .lead,
.hero-content p {
  color: #f8fbff !important;
  text-shadow: 0 2px 10px rgba(2, 8, 23, 0.55) !important;
}

/* Content heroes benefit from a light glass card over image backgrounds */
.about-hero-content::before,
.services-hero-content::before,
.sustainability-hero-content::before,
.contact-hero-content::before,
.terminals-hero-content::before,
.terminal-hero-content::before {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.74), rgba(255, 255, 255, 0.58));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
}

/* Per-page micro tuning after QA sweep */
.about-hero-content::before,
.services-hero-content::before,
.contact-hero-content::before {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(255, 255, 255, 0.56));
}

.sustainability-hero-content::before {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.69), rgba(255, 255, 255, 0.52));
}

.terminals-hero-content::before,
.terminal-hero-content::before {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.56), rgba(15, 23, 42, 0.42));
  box-shadow: 0 14px 30px rgba(2, 8, 23, 0.22);
}

.terminals-hero-content h1,
.terminals-hero-content p,
.terminal-hero-content h1,
.terminal-hero-content p {
  color: #f8fbff !important;
  text-shadow: 0 2px 10px rgba(2, 8, 23, 0.6) !important;
}

.about-hero-content h1,
.services-hero-content h1,
.sustainability-hero-content h1,
.contact-hero-content h1,
.terminals-hero-content h1,
.terminal-hero-content h1 {
  color: #0f172a !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5) !important;
}

.about-hero-content p,
.services-hero-content p,
.sustainability-hero-content p,
.contact-hero-content p,
.terminals-hero-content p,
.terminal-hero-content p {
  color: #1e293b !important;
}

/* Fix dark data sections (CO2/progress/stats) across pages */
.co2-tracker-section,
.stats-section,
.dark-section {
  color: #e2e8f0 !important;
}

.co2-tracker-section .section-header h2,
.co2-tracker-section .section-header .lead,
.co2-tracker-section .co2-stat-value,
.co2-tracker-section .co2-stat-label,
.co2-tracker-section .progress-label span,
.co2-tracker-section .progress-percentage,
.co2-tracker-section .text-muted,
.stats-section .section-header h2,
.stats-section .section-header .lead,
.stats-section .stat-number,
.stats-section .stat-label,
.dark-section h2,
.dark-section h3,
.dark-section .lead,
.dark-section p {
  color: #eaf1fb !important;
  text-shadow: 0 1px 3px rgba(2, 8, 23, 0.4) !important;
}

.co2-tracker-section .co2-stat,
.stats-section .stat-card {
  background: rgba(15, 23, 42, 0.28) !important;
  border: 1px solid rgba(148, 163, 184, 0.28) !important;
}

.co2-tracker-section .co2-tracker-container {
  background: rgba(15, 23, 42, 0.86) !important;
  border: 1px solid rgba(148, 163, 184, 0.28) !important;
}

.co2-tracker-section .section-header h2,
.co2-tracker-section .section-header .lead {
  color: #f8fbff !important;
}

/* Final outlier fix from QA: muted text inside dark sections/cards */
.dark-section .text-muted,
.stats-section .text-muted,
.co2-tracker-section .text-muted,
.terminal-stat-label {
  color: #cfd9e7 !important;
}

/* Mobile-first responsiveness and spacing pass (home/about/services/sustainability/terminals/contact) */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

img,
video,
iframe {
  max-width: 100%;
  height: auto;
}

@media (max-width: 992px) {
  .hero-content,
  .about-hero-content,
  .services-hero-content,
  .sustainability-hero-content,
  .contact-hero-content,
  .terminals-hero-content,
  .terminal-hero-content {
    padding: 1rem !important;
    border-radius: 12px !important;
  }

  .hero-content h1,
  .about-hero-content h1,
  .services-hero-content h1,
  .sustainability-hero-content h1,
  .contact-hero-content h1,
  .terminals-hero-content h1,
  .terminal-hero-content h1 {
    font-size: clamp(1.6rem, 5.4vw, 2.3rem) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
  }

  .hero-content .lead,
  .about-hero-content .lead,
  .services-hero-content .lead,
  .sustainability-hero-content .lead,
  .contact-hero-content .lead,
  .terminals-hero-content .lead,
  .terminal-hero-content .lead {
    font-size: clamp(0.98rem, 2.8vw, 1.1rem) !important;
    line-height: 1.5 !important;
    max-width: 62ch !important;
    margin-inline: auto;
  }

  .section-header h2 {
    font-size: clamp(1.45rem, 4.8vw, 2rem) !important;
    line-height: 1.25 !important;
  }

  .section-header .lead {
    font-size: clamp(0.95rem, 2.8vw, 1.08rem) !important;
    line-height: 1.55 !important;
  }

  .stats-section .stat-card,
  .co2-tracker-section .co2-stat,
  .terminal-stats,
  .contact-info {
    padding: 0.9rem !important;
  }

  .co2-tracker-section .co2-stat-value,
  .stats-section .stat-number {
    font-size: clamp(1.5rem, 5vw, 2rem) !important;
  }

  .btn,
  .btn-lg,
  .cta-btn,
  .explore-btn,
  .service-btn,
  .submit-btn {
    min-height: 44px !important;
    padding: 0.62rem 0.95rem !important;
  }
}

@media (max-width: 768px) {
  .container {
    width: min(100%, 94%) !important;
  }

  section {
    padding-top: clamp(2.4rem, 7vw, 3.3rem) !important;
    padding-bottom: clamp(2.4rem, 7vw, 3.3rem) !important;
  }

  .hero-content,
  .about-hero-content,
  .services-hero-content,
  .sustainability-hero-content,
  .contact-hero-content,
  .terminals-hero-content,
  .terminal-hero-content {
    padding: 0.92rem !important;
    border-radius: 10px !important;
  }

  .hero-content .lead,
  .about-hero-content .lead,
  .services-hero-content .lead,
  .sustainability-hero-content .lead,
  .contact-hero-content .lead,
  .terminals-hero-content .lead,
  .terminal-hero-content .lead {
    max-width: 52ch !important;
  }

  .stats-section .row > [class*="col-"],
  .co2-tracker-section .row > [class*="col-"] {
    margin-bottom: 0.85rem;
  }

  .table-responsive {
    border-radius: 10px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 480px) {
  .container {
    width: min(100%, 95%) !important;
  }

  .hero-content h1,
  .about-hero-content h1,
  .services-hero-content h1,
  .sustainability-hero-content h1,
  .contact-hero-content h1,
  .terminals-hero-content h1,
  .terminal-hero-content h1 {
    font-size: clamp(1.38rem, 7vw, 1.75rem) !important;
  }

  .hero-content .lead,
  .about-hero-content .lead,
  .services-hero-content .lead,
  .sustainability-hero-content .lead,
  .contact-hero-content .lead,
  .terminals-hero-content .lead,
  .terminal-hero-content .lead {
    font-size: 0.94rem !important;
    line-height: 1.52 !important;
    max-width: 45ch !important;
  }

  .section-header h2 {
    font-size: clamp(1.3rem, 6vw, 1.6rem) !important;
  }

  .section-header .lead {
    font-size: 0.92rem !important;
  }

  .stats-section .stat-card,
  .co2-tracker-section .co2-stat,
  .terminal-stats,
  .contact-info {
    padding: 0.8rem !important;
  }

  .wa-fab-global {
    transform: scale(0.94);
    transform-origin: right bottom;
  }
}

.co2-tracker-section .progress-bar-container,
.stats-section .progress {
  background: rgba(148, 163, 184, 0.26) !important;
}

/* Full UI refresh pass: modern hero impact + compact cards */
:root {
  --ov-hero-dark: rgba(3, 10, 27, 0.56);
  --ov-hero-light: rgba(248, 251, 255, 0.78);
  --ov-card-radius: 12px;
  --ov-card-padding: 1rem;
}

.hero,
.about-hero,
.services-hero,
.sustainability-hero,
.contact-hero,
.terminals-hero,
.terminal-hero {
  position: relative;
  isolation: isolate;
  overflow: clip;
}

.hero::after,
.about-hero::after,
.services-hero::after,
.sustainability-hero::after,
.contact-hero::after,
.terminals-hero::after,
.terminal-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 260px at 10% -8%, rgba(47, 125, 242, 0.26), transparent 70%),
    radial-gradient(700px 220px at 88% 108%, rgba(17, 185, 129, 0.22), transparent 68%);
  z-index: 0;
  pointer-events: none;
}

.hero-content,
.about-hero-content,
.services-hero-content,
.sustainability-hero-content,
.contact-hero-content,
.terminals-hero-content,
.terminal-hero-content {
  backdrop-filter: blur(7px);
  border: 1px solid rgba(148, 163, 184, 0.22);
}

.hero-content::before {
  background: linear-gradient(145deg, rgba(7, 15, 37, 0.76), var(--ov-hero-dark)) !important;
}

.about-hero-content::before,
.services-hero-content::before,
.sustainability-hero-content::before,
.contact-hero-content::before {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.88), var(--ov-hero-light)) !important;
}

.terminals-hero-content::before,
.terminal-hero-content::before {
  background: linear-gradient(145deg, rgba(8, 18, 43, 0.76), rgba(8, 18, 43, 0.58)) !important;
}

.hero-content h1,
.about-hero-content h1,
.services-hero-content h1,
.sustainability-hero-content h1,
.contact-hero-content h1,
.terminals-hero-content h1,
.terminal-hero-content h1 {
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
}

.hero-content .lead,
.about-hero-content .lead,
.services-hero-content .lead,
.sustainability-hero-content .lead,
.contact-hero-content .lead,
.terminals-hero-content .lead,
.terminal-hero-content .lead {
  opacity: 0.98;
}

.card,
.service-card,
.terminal-card,
.overview-card,
.stats-card,
.network-card,
.contact-card,
.form-container,
.contact-form-container,
.info-card,
.feature-card,
.timeline-card,
.initiative-content-inner,
.commitment-card,
.certification-card,
.terminal-stats,
.stat-card {
  border-radius: var(--ov-card-radius) !important;
}

.card-body,
.service-card,
.terminal-card .terminal-content,
.overview-card,
.stats-card,
.network-card,
.contact-card,
.form-container,
.contact-form-container,
.info-card,
.feature-card,
.timeline-card,
.initiative-content-inner,
.commitment-card,
.certification-card,
.terminal-stats,
.stat-card {
  padding: var(--ov-card-padding) !important;
}

.terminal-card .terminal-content h3,
.service-card h3,
.info-card h3,
.feature-card h3,
.section-header h2 {
  margin-bottom: 0.52rem !important;
}

.terminal-card p,
.service-card p,
.info-card p,
.feature-card p,
.section-header .lead {
  margin-bottom: 0.58rem !important;
}

.initiative-tabs {
  gap: 0.45rem !important;
  flex-wrap: wrap !important;
}

.initiative-tab {
  border: 1px solid rgba(21, 95, 205, 0.28) !important;
  background: #ffffff !important;
  color: #274462 !important;
  border-radius: 10px !important;
  padding: 0.52rem 0.78rem !important;
  line-height: 1.2 !important;
  min-height: 40px;
}

.initiative-tab.active {
  background: linear-gradient(135deg, var(--ov-brand), #2f7df2) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 10px 22px rgba(21, 95, 205, 0.28) !important;
}
