/* ════════════════════════════════════════════════════════════
   GLOBAL WORLDWIDE EXPRESS SHIPPING — SHARED THEME
   Teal + Coral design system used across every page of the site.
   ════════════════════════════════════════════════════════════ */

:root {
  --primary: #0f766e;
  --primary-light: #14b8a6;
  --primary-dark: #0a4a45;
  --dark-navy: #0a2e2a;
  --accent: #ff6b4a;
  --accent-dark: #e8501f;
  --light-bg: #f5fbfa;
  --text-muted: #5b6b69;
  --text-dark: #16302c;
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 10px;
  --shadow-sm: 0 4px 16px rgba(10, 46, 42, 0.07);
  --shadow-md: 0 10px 32px rgba(10, 46, 42, 0.10);
  --shadow-lg: 0 22px 55px rgba(10, 46, 42, 0.16);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: 'Inter', sans-serif;
  color: var(--text-dark);
  background: #fff;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 { font-family: 'Space Grotesk', 'Inter', sans-serif; }

a { text-decoration: none; }

.text-accent { color: var(--accent) !important; }
.bg-accent { background: var(--accent) !important; }
.text-primary-brand { color: var(--primary) !important; }

/* Utility: consistent object-fit cover images */
.img-cover { width: 100%; object-fit: cover; }

/* Utility: split pill input+button group (search boxes, newsletter, etc.) */
.pill-input-group { display: flex; border-radius: 40px; overflow: hidden; box-shadow: var(--shadow-sm); }
.pill-input-group input { border: 1.5px solid #dde9e6; border-right: none; border-radius: 40px 0 0 40px !important; padding: 12px 20px; flex: 1; }
.pill-input-group input:focus { outline: none; border-color: var(--primary); }
.pill-input-group button { background: var(--accent); color: #fff; border: none; border-radius: 0 40px 40px 0 !important; padding: 12px 22px; font-weight: 600; }
.pill-input-group button:hover { background: var(--accent-dark); }

/* ── NAVBAR (unified across every page) ── */
.navbar { background: rgba(10, 46, 42, 0.97); padding: 14px 0; position: sticky; top: 0; z-index: 1050; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 8px 24px rgba(0,0,0,.15); }
.navbar-brand { cursor: pointer; }
/* Translator widget: mounted as a flex child between the logo and the toggler/menu inside
   .container, so it sits centered in whatever space is actually left between them (a true
   viewport-center would collide with the wordmark at narrow widths). GTranslate injects its
   visible globe as .gt_switcher_wrapper with its own inline position:fixed/top/right from
   gtranslateSettings; the !important overrides below put it back in normal flex flow instead
   of pinned to the viewport corner. */
.navbar .gtranslate_wrapper { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; }
.navbar .gt_switcher_wrapper { position: relative !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; }
.navbar-brand img { max-height: 52px; width: auto; object-fit: contain; transition: transform .2s; }
.navbar-brand:hover img { transform: scale(1.05); }
.brand-text-line1 { font-size: .72rem; color: #7fd9cf; line-height: 1; font-weight: 600; letter-spacing: .5px; }
.brand-text-line2 { font-size: 1rem; font-weight: 800; color: #fff; line-height: 1.15; letter-spacing: .4px; }
.brand-text-line2 span { color: var(--accent); }
.nav-link { color: #bfe7e2 !important; font-weight: 500; transition: color .2s; cursor: pointer; }
.nav-link:hover, .nav-link.active { color: var(--accent) !important; }
.btn-quote { background: var(--accent); color: #fff !important; border-radius: 30px; padding: 9px 24px; font-weight: 600; border: none; transition: .2s; }
.btn-quote:hover { background: var(--accent-dark); color: #fff; transform: translateY(-2px); box-shadow: var(--shadow-sm); }

/* ── BUTTONS (general) ── */
.btn-primary-custom, .btn-primary-solid { background: var(--accent); border: none; padding: 13px 32px; border-radius: 40px; font-weight: 700; color: #fff !important; font-size: 1rem; display: inline-block; transition: .2s; }
.btn-primary-custom:hover, .btn-primary-solid:hover { background: var(--accent-dark); color: #fff; transform: translateY(-2px); box-shadow: var(--shadow-md); }
.btn-outline-custom { border: 2px solid #fff; padding: 13px 32px; border-radius: 40px; font-weight: 700; color: #fff !important; font-size: 1rem; background: transparent; display: inline-block; transition: .2s; }
.btn-outline-custom:hover { background: #fff; color: var(--primary) !important; }
.btn-light-accent { background: #fff; color: var(--primary) !important; border: none; padding: 12px 30px; border-radius: 40px; font-weight: 700; transition: .2s; }
.btn-light-accent:hover { background: var(--accent); color: #fff !important; transform: translateY(-2px); }
.btn-submit, .btn-subscribe { background: var(--primary); color: #fff !important; border: none; border-radius: 10px; padding: 13px 24px; font-weight: 700; transition: .2s; }
.btn-submit:hover, .btn-subscribe:hover { background: var(--primary-dark); }

/* ── HOME HERO ── */
.hero {
  background: linear-gradient(135deg, rgba(10,74,69,.88) 0%, rgba(10,46,42,.82) 100%),
              url('https://images.unsplash.com/photo-1578575437130-527eed3abbec?w=1600&auto=format&fit=crop') center/cover no-repeat;
  min-height: 92vh;
  display: flex; align-items: center;
}
.hero h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); font-weight: 800; color: #fff; line-height: 1.15; }
.hero p { font-size: 1.15rem; color: #d7ece9; max-width: 580px; }
.badge-pill { background: var(--accent); color: #fff; border-radius: 30px; padding: 6px 18px; font-size: .82rem; font-weight: 600; display: inline-block; margin-bottom: 18px; }

.stat-box { text-align: center; color: #fff; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-md); }
.stat-box h3 { font-size: 2.2rem; font-weight: 800; color: var(--accent); margin-bottom: 2px; font-family: 'Space Grotesk', sans-serif; }
.stat-box p { font-size: .9rem; color: #bfe7e2; margin-bottom: 0; }

/* ── PAGE HERO (unified: about-hero / services-hero / blog-hero / contact-hero /
   service-hero / privacy-hero / terms-hero / about-page-hero all resolve to this.
   Each page sets its own background-image inline; this supplies the shared
   gradient overlay + typography so every hero still looks distinct. ── */
.page-hero,
.about-hero, .services-hero, .blog-hero, .contact-hero, .service-hero, .privacy-hero, .terms-hero, .about-page-hero {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 96px 0 72px;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.page-hero::before,
.about-hero::before, .services-hero::before, .blog-hero::before, .contact-hero::before,
.service-hero::before, .privacy-hero::before, .terms-hero::before, .about-page-hero::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(120deg, rgba(10,74,69,.92) 0%, rgba(8,38,35,.90) 100%);
}
.page-hero > .container,
.about-hero > .container, .services-hero > .container, .blog-hero > .container, .contact-hero > .container,
.service-hero > .container, .privacy-hero > .container, .terms-hero > .container, .about-page-hero > .container {
  position: relative; z-index: 1;
}
.page-hero h1, .about-hero h1, .services-hero h1, .blog-hero h1, .contact-hero h1, .service-hero h1, .privacy-hero h1, .terms-hero h1, .about-page-hero h1 {
  font-size: clamp(2.2rem, 4vw, 3.2rem); font-weight: 800; margin-bottom: 12px; color: #fff;
}
.breadcrumb-custom { display: flex; justify-content: center; gap: 8px; font-size: .92rem; color: #bfe7e2; }
.breadcrumb-custom a { color: #fff; text-decoration: none; font-weight: 500; }
.breadcrumb-custom a:hover { color: var(--accent); }
.breadcrumb-custom span { color: var(--accent); font-weight: 600; }

/* ── SECTION COMMONS ── */
section { padding: 88px 0; }
.section-label { color: var(--accent); font-weight: 700; font-size: .84rem; letter-spacing: 2px; text-transform: uppercase; display: block; margin-bottom: 8px; }
.section-title { font-family: 'Space Grotesk', sans-serif; font-size: clamp(1.7rem, 3vw, 2.5rem); font-weight: 700; color: var(--primary); line-height: 1.25; }
.section-sub { color: var(--text-muted); font-size: 1rem; margin-top: 12px; }
.divider { width: 56px; height: 4px; background: var(--accent); border-radius: 4px; margin: 14px 0 24px; }
.divider-center { margin-left: auto; margin-right: auto; }

/* ── ABOUT PREVIEW / SPLIT SECTIONS ── */
.about-section { background: #fff; }
.about-img-wrap { position: relative; }
.about-img-main { border-radius: var(--radius-lg); width: 100%; object-fit: cover; height: 440px; box-shadow: var(--shadow-lg); }
.about-img-badge { position: absolute; bottom: -20px; right: -20px; background: var(--primary); color: #fff; border-radius: var(--radius-md); padding: 22px 26px; text-align: center; box-shadow: var(--shadow-md); }
.about-img-badge h4 { font-size: 2rem; font-weight: 800; color: var(--accent); margin: 0; }
.about-img-badge p { font-size: .78rem; margin: 0; color: #d7ece9; }
.about-feature { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 20px; }
.about-icon { width: 44px; height: 44px; border-radius: var(--radius-sm); background: #e3f5f2; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--primary); font-size: 1.3rem; }

.vision-card { background: var(--light-bg); border-left: 5px solid var(--primary); padding: 32px; border-radius: 0 var(--radius-lg) var(--radius-lg) 0; height: 100%; box-shadow: var(--shadow-sm); }
.mission-card { background: #fff6f2; border-left: 5px solid var(--accent); padding: 32px; border-radius: 0 var(--radius-lg) var(--radius-lg) 0; height: 100%; box-shadow: var(--shadow-sm); }

/* ── STAT / INFRA TILES ── */
.infra-box, .stat-infra { background: var(--primary); color: #fff; padding: 30px; border-radius: var(--radius-lg); text-align: center; transition: transform .2s; }
.infra-box:hover, .stat-infra:hover { transform: translateY(-4px); }
.infra-box i, .stat-infra i { font-size: 2.5rem; color: var(--accent); margin-bottom: 12px; display: block; }
.infra-box h4, .stat-infra h3 { font-size: 2.2rem; font-weight: 800; margin-bottom: 4px; font-family: 'Space Grotesk', sans-serif; }
.infra-box p, .stat-infra p { font-size: .92rem; color: #bfe7e2; margin-bottom: 0; opacity: .95; }

/* Full-width stat band (warehousing key-stats strip) */
.stat-band { background: var(--primary); border-radius: var(--radius-lg); }
.stat-number { font-size: 2.3rem; font-weight: 800; color: var(--accent); font-family: 'Space Grotesk', sans-serif; }

/* ── ICON / VALUE / FEATURE CARDS ── */
.why-card, .value-card, .core-value-card, .icon-feature-card {
  background: #fff; border-radius: var(--radius-md); padding: 30px 26px; text-align: center;
  box-shadow: var(--shadow-sm); border: 1px solid #eef6f4; transition: transform .25s, box-shadow .25s, border-color .25s; height: 100%;
}
.why-card:hover, .value-card:hover, .core-value-card:hover, .icon-feature-card:hover {
  transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--accent);
}
.why-icon, .value-icon {
  width: 64px; height: 64px; border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--primary-light)); color: #fff;
  font-size: 1.7rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px;
}
.why-card h5, .value-card h5, .core-value-card h5 { font-weight: 700; color: var(--primary); margin-bottom: 10px; font-family: 'Space Grotesk', sans-serif; }
.why-card p, .value-card p, .core-value-card p { font-size: .92rem; color: var(--text-muted); }
.why-section { background: var(--light-bg); }

/* ── ROADMAP / PROCESS ── */
.roadmap-section { background: var(--primary); position: relative; overflow: hidden; }
.roadmap-section::before { content: ''; position: absolute; inset: 0; background: url('https://images.unsplash.com/photo-1494412574643-ff11b0a5c1c3?w=1600&auto=format&fit=crop') center/cover no-repeat; opacity: .07; }
.roadmap-section .section-title, .roadmap-section .section-label { color: #fff; }
.roadmap-section .section-label { color: var(--accent); }
.roadmap-section .section-sub { color: #bfe7e2; }
.step-line { display: flex; flex-direction: column; align-items: center; }
.step-circle, .step-number {
  width: 58px; height: 58px; border-radius: 50%; background: var(--accent); color: #fff;
  font-size: 1.25rem; font-weight: 800; display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; box-shadow: 0 0 0 8px rgba(255,107,74,.18); font-family: 'Space Grotesk', sans-serif;
}
.step-connector { width: 3px; height: 60px; background: rgba(255,107,74,.3); }
.step-card, .process-step { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-md); padding: 22px 26px; color: #fff; flex: 1; }
.step-card h5, .process-step h5 { font-weight: 700; color: var(--accent); margin-bottom: 6px; font-family: 'Space Grotesk', sans-serif; }
.step-card p, .process-step p { font-size: .9rem; color: #bfe7e2; margin: 0; }

/* ── TIMELINE ── */
.timeline-container, .timeline-modern { position: relative; padding-left: 30px; border-left: 3px solid #dceeeb; margin-left: 15px; }
.timeline-item { position: relative; margin-bottom: 40px; }
.timeline-item::before { content: ''; position: absolute; left: -41px; top: 4px; width: 18px; height: 18px; border-radius: 50%; background: var(--accent); border: 4px solid #fff; box-shadow: 0 0 0 3px var(--primary); }
.timeline-year { font-weight: 800; color: var(--primary); font-size: 1.3rem; margin-bottom: 4px; font-family: 'Space Grotesk', sans-serif; }

/* ── EXECUTIVE / QUOTE BLOCK ── */
.exec-block, .exec-note { background: var(--light-bg); border-radius: var(--radius-lg); padding: 40px; position: relative; overflow: hidden; }
.exec-block::after, .exec-note::after { content: '\201D'; font-size: 12rem; position: absolute; right: 20px; bottom: -60px; color: rgba(15,118,110,.06); font-family: serif; font-weight: bold; }
.exec-quote { font-size: 1.05rem; line-height: 1.7; color: #34443f; font-style: italic; }

/* ── SERVICES (home cards + hub cards + detail-option cards) ── */
.services-section { background: #fff; }
.srv-card, .service-card-detailed { border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform .25s, box-shadow .25s; height: 100%; background: #fff; border: 1px solid #eef6f4; }
.srv-card:hover, .service-card-detailed:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.srv-img, .service-img-top { height: 200px; object-fit: cover; width: 100%; }
.srv-body, .service-body { padding: 24px; }
.srv-body h5, .service-body h5, .service-title { font-weight: 700; color: var(--primary); margin-bottom: 8px; font-family: 'Space Grotesk', sans-serif; }
.srv-body p, .service-body p, .service-subtitle { font-size: .9rem; color: var(--text-muted); }
.srv-tag { background: #e3f5f2; color: var(--primary); border-radius: 20px; font-size: .75rem; font-weight: 600; padding: 4px 12px; display: inline-block; margin-bottom: 10px; }

/* Service-detail option cards (icon+list) on air/sea/road/rail/ware/custome pages */
.service-card { background: #fff; border: 1px solid #eef6f4; border-radius: var(--radius-md); padding: 30px 26px; height: 100%; box-shadow: var(--shadow-sm); transition: transform .25s, box-shadow .25s; }
.service-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.service-icon, .service-icon-lg { width: 60px; height: 60px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), var(--primary-light)); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: 18px; }

.feature-list { list-style: none; padding: 0; margin: 0; }
.feature-list li { margin-bottom: 12px; font-size: .92rem; color: var(--text-dark); display: flex; align-items: flex-start; gap: 10px; }
.feature-list li i { color: var(--accent); margin-top: 3px; }

/* ── SPEC / DATA TABLES ── */
.spec-table, table.table { border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); }
.spec-table thead, table.table thead, table.table-bordered thead { background: var(--primary) !important; color: #fff; }
.spec-table td, table td { vertical-align: middle; font-size: .92rem; }

/* ── EQUIPMENT / TYPE TILES (container-type, vehicle-badge, doc-card, plain bordered icon grids) ── */
.container-type, .doc-card, .equipment-tile {
  text-align: center; padding: 24px 18px; border: 1px solid #eef6f4; border-radius: var(--radius-md);
  transition: transform .2s, border-color .2s, box-shadow .2s; height: 100%; background: #fff;
}
.container-type:hover, .doc-card:hover, .equipment-tile:hover { border-color: var(--accent); box-shadow: var(--shadow-sm); transform: translateY(-3px); }
.container-type i, .doc-card i { font-size: 2rem; color: var(--primary); margin-bottom: 10px; display: block; }

.vehicle-badge { display: inline-flex; align-items: center; gap: 8px; background: var(--light-bg); border: 1px solid #dceeeb; border-radius: 30px; padding: 10px 20px; font-weight: 600; color: var(--primary); transition: .2s; }
.vehicle-badge:hover { background: var(--primary); color: #fff; }
.vehicle-badge i { color: var(--accent); }

.aircraft-badge, .tech-badge, .cert-badge {
  display: inline-flex; align-items: center; gap: 8px; background: #e3f5f2; color: var(--primary);
  border-radius: 30px; padding: 9px 18px; font-weight: 600; font-size: .88rem; transition: .2s;
}
.aircraft-badge:hover, .tech-badge:hover, .cert-badge:hover { background: var(--primary); color: #fff; }

.benefit-icon { width: 60px; height: 60px; border-radius: 50%; background: rgba(255,107,74,.12); color: var(--accent); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; margin: 0 auto 16px; }

/* Route / corridor / region network cards (sea/road/rail) */
.route-card, .region-card, .corridor-card {
  background: #fff; border: 1px solid #eef6f4; border-radius: var(--radius-md); padding: 26px;
  transition: transform .25s, box-shadow .25s, border-color .25s; height: 100%; box-shadow: var(--shadow-sm);
}
.route-card:hover, .region-card:hover, .corridor-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); border-color: var(--accent); }

/* Warehouse location card */
.warehouse-card { border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); background: #fff; height: 100%; border: 1px solid #eef6f4; transition: transform .25s, box-shadow .25s; }
.warehouse-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.warehouse-img { height: 190px; object-fit: cover; width: 100%; }
.warehouse-body { padding: 22px; }
.warehouse-body h5 { color: var(--primary); font-weight: 700; font-family: 'Space Grotesk', sans-serif; }

/* Aircraft fleet grid wrapper */
.aircraft-grid { display: flex; flex-wrap: wrap; gap: 10px; }

/* ── SUSTAINABILITY / CARBON BLOCK (rail) ── */
.sustainability-block { background: #eefaf3; border: 1px solid #d3f0dd; border-radius: var(--radius-lg); padding: 40px; }
.carbon-card { background: #fff; border-radius: var(--radius-md); padding: 26px; box-shadow: var(--shadow-sm); text-align: center; }
.carbon-card h3 { color: #1f8a4c; font-family: 'Space Grotesk', sans-serif; font-weight: 800; }

/* ── CTA BANNER (unified: cta-service / cta-section) ── */
.cta-service, .cta-section {
  background: linear-gradient(120deg, var(--primary) 0%, var(--primary-light) 100%);
  border-radius: var(--radius-lg); padding: 56px; color: #fff; text-align: center;
}
.cta-service h2, .cta-section h2 { color: #fff; font-weight: 800; font-family: 'Space Grotesk', sans-serif; }
.cta-service p, .cta-section p { color: #d7ece9; }

/* ── TESTIMONIALS ── */
.testimonials-section { background: var(--light-bg); }
.testi-card { background: #fff; border-radius: var(--radius-md); padding: 30px; box-shadow: var(--shadow-sm); position: relative; height: 100%; }
.testi-card::before { content: '\201C'; font-size: 5rem; color: var(--accent); position: absolute; top: -10px; left: 22px; line-height: 1; opacity: .28; font-family: serif; }
.testi-avatar { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 3px solid var(--accent); }
.testi-stars { color: var(--accent); font-size: .9rem; }
.testi-card p { font-size: .93rem; color: #555; font-style: italic; }

/* ── CREW ── */
.crew-section { background: #fff; }
.crew-card { text-align: center; }
.crew-img { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; border: 5px solid var(--accent); margin: 0 auto 16px; display: block; box-shadow: var(--shadow-md); }
.crew-card h5 { font-weight: 700; color: var(--primary); font-family: 'Space Grotesk', sans-serif; }
.crew-card p { font-size: .85rem; color: var(--text-muted); }
.crew-socials a { color: #aaa; font-size: 1rem; margin: 0 5px; transition: color .2s; }
.crew-socials a:hover { color: var(--primary); }

/* ── OFFICE CARDS (mini flag-card + full image card) ── */
.office-mini-card { background: #fff; border-radius: var(--radius-md); padding: 20px; text-align: center; border: 1px solid #eef6f4; transition: .2s; height: 100%; }
.office-mini-card:hover { border-color: var(--accent); transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.office-flag { font-size: 1.8rem; margin-bottom: 10px; }

.offices-section { background: #fff; }
.office-card { border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); height: 100%; background: #fff; border: 1px solid #eef6f4; }
.office-img { height: 180px; object-fit: cover; width: 100%; }
.office-body { padding: 20px; }
.office-body h5 { font-weight: 700; color: var(--primary); margin-bottom: 6px; font-family: 'Space Grotesk', sans-serif; }
.office-body p { font-size: .87rem; color: var(--text-muted); margin: 0; }
.office-tag { background: var(--primary); color: #fff; border-radius: 30px; font-size: .72rem; font-weight: 600; padding: 3px 11px; display: inline-block; margin-bottom: 8px; }
.office-map, .map-container { border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-md); }

/* ── ARTICLES / BLOG ── */
.articles-section { background: var(--light-bg); }
.art-card, .blog-card { background: #fff; border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); height: 100%; transition: transform .25s, box-shadow .25s; }
.art-card:hover, .blog-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.art-img, .blog-img { height: 200px; object-fit: cover; width: 100%; }
.art-body, .blog-card .card-body { padding: 22px; }
.art-meta, .blog-date { font-size: .78rem; color: var(--text-muted); margin-bottom: 8px; }
.art-meta span, .blog-category { color: var(--accent); font-weight: 600; background: #fff0ec; border-radius: 20px; padding: 3px 12px; font-size: .74rem; }
.art-body h5, .blog-title { font-weight: 700; color: var(--primary); margin-bottom: 8px; font-size: 1.05rem; font-family: 'Space Grotesk', sans-serif; }
.art-body p, .blog-excerpt { font-size: .88rem; color: var(--text-muted); }
.read-more { color: var(--primary); font-weight: 700; }
.read-more:hover { color: var(--accent); }

.featured-article { background: #fff; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); }
.featured-badge { background: var(--accent); color: #fff; border-radius: 20px; padding: 4px 14px; font-size: .74rem; font-weight: 700; display: inline-block; }

.sidebar-widget { background: #fff; border: 1px solid #eef6f4; border-radius: var(--radius-md); padding: 24px; box-shadow: var(--shadow-sm); }
.sidebar-widget h5 { color: var(--primary); font-weight: 700; margin-bottom: 16px; font-family: 'Space Grotesk', sans-serif; }
.trending-item { display: flex; gap: 12px; align-items: center; margin-bottom: 14px; }
.trending-img { width: 64px; height: 64px; border-radius: var(--radius-sm); object-fit: cover; flex-shrink: 0; }
.trending-title { font-size: .87rem; font-weight: 600; color: var(--text-dark); }
.trending-date { font-size: .74rem; color: var(--text-muted); }
.category-list { list-style: none; padding: 0; }
.category-list li { border-bottom: 1px solid #eef6f4; padding: 10px 0; }
.category-list a { color: var(--text-dark); font-weight: 500; }
.category-list a:hover { color: var(--accent); }
.newsletter-input { border-radius: 10px; border: 1.5px solid #dde9e6; padding: 11px 16px; width: 100%; margin-bottom: 10px; }

.pagination .page-link { color: var(--primary); border-color: #eef6f4; }
.pagination .page-item.active .page-link, .pagination .active .page-link { background: var(--primary); border-color: var(--primary); }

/* ── PARTNERS ── */
.partners-section { background: #fff; }
.partner-logo { display: flex; align-items: center; justify-content: center; padding: 22px 28px; border: 1.5px solid #eef6f4; border-radius: var(--radius-sm); transition: box-shadow .2s; height: 90px; background: #fafcfc; }
.partner-logo:hover { box-shadow: var(--shadow-sm); }
.partner-logo img { max-height: 44px; max-width: 130px; filter: grayscale(100%); opacity: .65; transition: filter .25s, opacity .25s; object-fit: contain; }
.partner-logo:hover img { filter: grayscale(0%); opacity: 1; }

/* ── CERTIFICATES ── */
.cert-section { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%); }
.cert-section .section-title, .cert-section .section-label { color: #fff; }
.cert-section .section-label { color: var(--accent); }
.cert-section .section-sub { color: #bfe7e2; }
.cert-card { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius-md); padding: 28px; text-align: center; color: #fff; transition: background .2s; height: 100%; }
.cert-card:hover { background: rgba(255,255,255,.18); }
.cert-icon { font-size: 3rem; color: var(--accent); margin-bottom: 14px; }
.cert-card h5 { font-weight: 700; margin-bottom: 6px; font-family: 'Space Grotesk', sans-serif; }
.cert-card p { font-size: .85rem; color: #bfe7e2; margin: 0; }
.cert-badge-pill { background: var(--accent); color: #fff; border-radius: 30px; font-size: .75rem; font-weight: 700; padding: 3px 12px; display: inline-block; margin-top: 10px; }

/* ── CONTACT ── */
.contact-section { background: var(--light-bg); }
.contact-form, .contact-form-main { background: #fff; border-radius: var(--radius-lg); padding: 38px; box-shadow: var(--shadow-md); }
.form-control, .form-select { border-radius: var(--radius-sm); border: 1.5px solid #dde9e6; padding: 12px 16px; font-size: .95rem; }
.form-control:focus, .form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(15,118,110,.12); }
.contact-info-item, .contact-info-card { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 24px; }
.contact-info-card { background: #fff; border: 1px solid #eef6f4; border-radius: var(--radius-md); padding: 24px; box-shadow: var(--shadow-sm); height: 100%; }
.ci-icon, .info-icon { width: 48px; height: 48px; border-radius: var(--radius-sm); background: var(--primary); color: #fff; font-size: 1.2rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ci-text h6 { font-weight: 700; color: var(--primary); margin-bottom: 3px; font-family: 'Space Grotesk', sans-serif; }
.ci-text p { font-size: .9rem; color: var(--text-muted); margin: 0; }

/* ── FAQ ACCORDION ── */
.accordion-item { border: 1px solid #eef6f4; border-radius: var(--radius-md) !important; overflow: hidden; margin-bottom: 12px; }
.accordion-button { font-weight: 700; color: var(--primary); background: #fff; font-family: 'Space Grotesk', sans-serif; }
.accordion-button:not(.collapsed) { background: var(--light-bg); color: var(--primary); box-shadow: none; }
.accordion-button:focus { box-shadow: 0 0 0 3px rgba(15,118,110,.12); }

/* ── LEGAL PAGES (privacy / terms) ── */
.privacy-content, .terms-content { color: var(--text-dark); line-height: 1.75; }
.privacy-content h2, .terms-content h2 { color: var(--primary); font-weight: 700; margin: 34px 0 14px; font-size: 1.4rem; font-family: 'Space Grotesk', sans-serif; border-bottom: 2px solid #eef6f4; padding-bottom: 8px; }
.privacy-content h3, .terms-content h3 { color: var(--text-dark); font-weight: 700; margin: 20px 0 10px; font-size: 1.1rem; }
.privacy-content p, .terms-content p, .privacy-content li, .terms-content li { color: var(--text-muted); margin-bottom: 10px; }
.effective-date { background: #e3f5f2; border-left: 4px solid var(--primary); border-radius: var(--radius-sm); padding: 14px 20px; font-size: .9rem; color: var(--primary); font-weight: 600; margin-bottom: 30px; }
.table-of-contents { background: var(--light-bg); border-radius: var(--radius-md); padding: 24px; margin-bottom: 34px; }
.table-of-contents a { color: var(--text-dark); display: block; padding: 6px 0; font-weight: 500; }
.table-of-contents a:hover { color: var(--accent); }
.card-stat { background: linear-gradient(120deg, #fff 0%, var(--light-bg) 100%); border: 1px solid #eef6f4; border-radius: var(--radius-md); padding: 20px; text-align: center; box-shadow: var(--shadow-sm); }
.highlight-box { background: #fff6f2; border: 1px solid #ffd9cc; border-left: 4px solid var(--accent); border-radius: var(--radius-sm); padding: 18px 22px; }

/* ── FOOTER (unified) ── */
footer { background: #071e1b; color: #93b3af; padding: 64px 0 28px; }
footer h5 { color: #fff; font-weight: 700; margin-bottom: 18px; font-family: 'Space Grotesk', sans-serif; }
footer a { color: #93b3af; text-decoration: none; font-size: .9rem; display: block; margin-bottom: 8px; transition: color .2s; cursor: pointer; }
footer a:hover { color: var(--accent); }
.footer-logo { font-size: 1.4rem; font-weight: 800; color: #fff; margin-bottom: 14px; }
.footer-logo span { color: var(--accent); }
.social-icons a { width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.08); display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 1rem; margin-right: 8px; transition: background .2s; }
.social-icons a:hover { background: var(--accent); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.08); margin-top: 40px; padding-top: 22px; text-align: center; font-size: .85rem; }
.footer-bottom a { display: inline; color: #93b3af; }

/* ── SCROLL TO TOP (unified) ── */
.scroll-top { position: fixed; bottom: 28px; right: 28px; width: 48px; height: 48px; border-radius: 50%; background: var(--accent); color: #fff; display: none; align-items: center; justify-content: center; font-size: 1.2rem; box-shadow: var(--shadow-md); cursor: pointer; z-index: 999; transition: background .2s; border: none; }
.scroll-top:hover { background: var(--primary); color: #fff; }
