/* ══════════════════════════════════════════════════════
   LIFA GLOBAL TRADE — PREMIUM DESIGN SYSTEM v6.0
   Shared Site-wide Alignment and Premium UI
   ══════════════════════════════════════════════════════ */

:root {
  --navy: #0F1E36;
  --dark: #07111E;
  --gold: #C9A84C;
  --gold-lt: #E2C47A;
  --white: #FFFFFF;
  --off: #F8FAFD;
  --text: #182033;
}

/* --- ULTIMATE HEADER (STRICT) --- */
.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 10000 !important;
  background: rgba(8,14,28,0.97) !important;
  backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid rgba(201,168,76,0.15) !important;
  height: 80px !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}

.nav-inner {
  display: grid !important;
  grid-template-columns: 240px 1fr 240px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
}

.brand { grid-column: 1 !important; display: flex !important; align-items: center !important; }
.main-nav { grid-column: 2 !important; display: flex !important; justify-content: center !important; gap: 4px !important; }
#masterHeaderCta {
  grid-column: 3 !important;
  justify-self: end !important;
  background: linear-gradient(135deg, var(--gold-lt), var(--gold)) !important;
  color: var(--dark) !important;
  padding: 12px 24px !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 15px rgba(201,168,76,0.3) !important;
}

/* --- MOBILE --- */
@media (max-width: 980px) {
  .nav-inner { display: flex !important; justify-content: space-between !important; padding: 0 24px !important; }
  .main-nav, #masterHeaderCta { display: none !important; }
  .menu-toggle { display: block !important; color: #fff; background: var(--gold); border: none; padding: 8px 14px; border-radius: 8px; font-weight: 800; cursor: pointer; }
}

/* --- PREMIUM UI --- */
.card, .service-card {
  background: #fff !important;
  border-radius: 16px !important;
  border: 1px solid rgba(0,0,0,0.05) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05) !important;
  transition: all 0.3s ease !important;
}
.card:hover { transform: translateY(-5px) !important; box-shadow: 0 15px 40px rgba(0,0,0,0.1) !important; }

/* --- FINAL PUBLIC_HTML READINESS FIXES --- */
*, *::before, *::after { box-sizing: border-box !important; }
html, body { width: 100% !important; max-width: 100% !important; overflow-x: hidden !important; }
img, svg, video, canvas { max-width: 100% !important; height: auto; }
main, section, header, footer, .container, .wrap, .wrap-sm { min-width: 0 !important; }

.nav-drop { position: relative !important; }
.nav-drop > a { display: inline-flex !important; align-items: center !important; gap: 4px !important; }
.nav-panel,
.nav-menu-panel {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 0 !important;
  z-index: 10001 !important;
  display: grid !important;
  min-width: 250px !important;
  padding: 10px !important;
  border: 1px solid rgba(201,168,76,0.18) !important;
  border-radius: 14px !important;
  background: rgba(8,14,28,0.98) !important;
  box-shadow: 0 24px 64px rgba(0,0,0,0.42) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(8px) !important;
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
}
.nav-drop:hover .nav-panel,
.nav-drop:focus-within .nav-panel,
.nav-drop:hover .nav-menu-panel,
.nav-drop:focus-within .nav-menu-panel {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}
/* hover bridge: covers the gap between trigger and panel so the dropdown
   does not close while the cursor moves into it (only active when open) */
.nav-panel::before,
.nav-menu-panel::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -22px !important;
  height: 24px !important;
  background: transparent !important;
}
.nav-panel a,
.nav-menu-panel a {
  display: block !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  color: rgba(255,255,255,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.nav-panel a:hover,
.nav-menu-panel a:hover {
  color: #fff !important;
  background: rgba(201,168,76,.12) !important;
}

.site-header .nav-cta:not(#masterHeaderCta) { display: none !important; }

.lifa-floating-contact {
  position: fixed !important;
  right: max(24px, env(safe-area-inset-right)) !important;
  bottom: max(24px, env(safe-area-inset-bottom)) !important;
  z-index: 999999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
  pointer-events: auto !important;
}
/* keep buttons perfectly circular even if a page forces grid/flex-stretch on the wrapper */
.lifa-floating-contact .lifa-float-btn { flex: 0 0 auto !important; align-self: center !important; aspect-ratio: 1 / 1 !important; min-height: 0 !important; min-width: 0 !important; }
.lifa-float-btn {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: 0 8px 28px rgba(7,17,30,.32) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
  cursor: pointer !important;
}
.lifa-float-btn:hover { transform: translateY(-3px) scale(1.08) !important; }
.lifa-float-wa:hover { box-shadow: 0 16px 42px rgba(37,211,102,.42) !important; }
.lifa-float-wc:hover { box-shadow: 0 16px 42px rgba(7,193,96,.42) !important; }
.lifa-float-btn:active { transform: translateY(-1px) scale(.95) !important; }
.lifa-float-btn img { width: 100% !important; height: 100% !important; border-radius: 50% !important; display: block !important; object-fit: contain !important; background: transparent !important; }

.wc-modal[hidden] { display: none !important; }
.wc-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10002 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: rgba(7,17,30,.78) !important;
  backdrop-filter: blur(10px) !important;
}
.wc-card {
  position: relative !important;
  width: min(340px, 100%) !important;
  padding: 36px !important;
  border-radius: 20px !important;
  background: #fff !important;
  text-align: center !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.35) !important;
}
.wc-card h3 { color: var(--navy) !important; margin: 0 0 18px !important; }
.wc-card img { width: 210px !important; margin: 0 auto !important; border-radius: 12px !important; }
.wc-card p { margin: 18px 0 0 !important; color: #596173 !important; font-size: 14px !important; line-height: 1.55 !important; }
.wc-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: #F1F4F8 !important;
  color: #0F1E36 !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

/* PARTNER SECTION PREMIUM */
.partner-section { background: #ffffff !important; padding: 64px 0 56px !important; border-top: 1px solid rgba(15,30,54,0.08) !important; border-bottom: 1px solid rgba(15,30,54,0.08) !important; }
.partner-head { text-align: center !important; max-width: 760px !important; margin: 0 auto 48px !important; padding: 0 24px !important; }
.partner-kicker { display: inline-block !important; color: #C9A84C !important; text-transform: uppercase !important; letter-spacing: 0.15em !important; font-size: 12px !important; font-weight: 800 !important; margin-bottom: 16px !important; }
.partner-head h2 { font-family: Georgia,'Times New Roman',serif !important; font-size: clamp(22px,3vw,34px) !important; color: #0F1E36 !important; margin: 0 0 16px !important; line-height: 1.25 !important; font-weight: 700 !important; }
.partner-head h2 em { color: #C9A84C !important; font-style: normal !important; }
.partner-sub { font-size: 15px !important; color: #5A6B84 !important; line-height: 1.7 !important; }
.partner-marquee { overflow: hidden !important; width: 100% !important; position: relative !important; }
.partner-marquee::before,.partner-marquee::after { content:'' !important; position:absolute !important; top:0 !important; bottom:0 !important; width:80px !important; z-index:2 !important; pointer-events:none !important; }
.partner-marquee::before { left:0 !important; background:linear-gradient(to right,#fff,transparent) !important; }
.partner-marquee::after { right:0 !important; background:linear-gradient(to left,#fff,transparent) !important; }
.partner-track { display:flex !important; align-items:center !important; gap:0 !important; width:max-content !important; animation:partnerScroll 50s linear infinite !important; }
.partner-track:hover { animation-play-state:paused !important; }
.partner-logo { display:flex !important; align-items:center !important; justify-content:center !important; padding:0 28px !important; height:72px !important; flex-shrink:0 !important; transition:transform 0.22s ease !important; }
.partner-logo:hover { transform:translateY(-2px) !important; }
.partner-logo img { width:auto !important; height:52px !important; max-width:160px !important; object-fit:contain !important; filter:grayscale(0%) !important; opacity:0.88 !important; transition:transform 0.22s ease,opacity 0.22s ease !important; }
.partner-logo:hover img { filter:grayscale(0%) !important; opacity:1 !important; }
@keyframes partnerScroll { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
@media (max-width:540px) {
  .partner-section { padding:48px 0 40px !important; }
  .partner-head { margin-bottom:32px !important; }
  .partner-logo { padding:0 16px !important; height:56px !important; }
  .partner-logo img { height:36px !important; max-width:110px !important; }
}

/* PARTNER DETAIL PAGES */
.hero-box { position:relative !important; overflow:hidden !important; min-height:400px !important; display:flex !important; align-items:center !important; background:#0F1E36 !important; }
.hero-img { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; opacity:0.44 !important; }
.hero-con { position:relative !important; z-index:1 !important; padding:80px 0 !important; max-width:1400px !important; margin:0 auto !important; padding-left:40px !important; padding-right:40px !important; }
.hero-h1 { color:#fff !important; font-size:clamp(26px,4vw,48px) !important; margin:12px 0 16px !important; line-height:1.15 !important; font-weight:800 !important; }
.hero-sub { color:rgba(255,255,255,0.78) !important; font-size:16px !important; max-width:700px !important; line-height:1.65 !important; }
.chip { display:inline-block !important; background:rgba(201,168,76,0.15) !important; color:#C9A84C !important; border:1px solid rgba(201,168,76,0.35) !important; border-radius:20px !important; padding:4px 14px !important; font-size:12px !important; font-weight:700 !important; letter-spacing:0.08em !important; text-transform:uppercase !important; margin-bottom:12px !important; }
.sec { padding:72px 0 !important; }
.logo-box { display:flex !important; align-items:center !important; justify-content:center !important; background:#fff !important; border-radius:16px !important; padding:40px !important; border:1px solid rgba(15,30,54,0.08) !important; box-shadow:0 4px 20px rgba(0,0,0,0.05) !important; }
.logo-box img { max-width:200px !important; max-height:80px !important; width:auto !important; height:auto !important; object-fit:contain !important; }
.svc-grid { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important; gap:24px !important; }
.svc-item { background:#fff !important; border-radius:14px !important; padding:28px !important; border:1px solid rgba(15,30,54,0.08) !important; box-shadow:0 4px 20px rgba(0,0,0,0.04) !important; }
.svc-item h4 { color:#0F1E36 !important; margin:0 0 10px !important; font-size:16px !important; font-weight:700 !important; }
.svc-item p { color:#5A6B84 !important; margin:0 !important; font-size:14px !important; line-height:1.65 !important; }
.cta-box { background:#0F1E36 !important; border-radius:20px !important; padding:56px 40px !important; text-align:center !important; }
.cta-box h2 { color:#fff !important; margin:0 0 16px !important; }
.cta-box p { color:rgba(255,255,255,0.72) !important; }
.btn-gold { background:linear-gradient(135deg,#E2C47A,#C9A84C) !important; color:#07111E !important; font-weight:800 !important; padding:14px 28px !important; border-radius:10px !important; text-decoration:none !important; display:inline-block !important; margin:6px !important; transition:opacity .2s ease !important; }
.btn-gold:hover { opacity:0.88 !important; }
.btn-wa { background:#25D366 !important; color:#fff !important; font-weight:700 !important; padding:14px 28px !important; border-radius:10px !important; text-decoration:none !important; display:inline-block !important; margin:6px !important; }
@media (max-width:768px) {
  .hero-box { min-height:300px !important; }
  .hero-con { padding:48px 24px !important; }
  .hero-h1 { font-size:clamp(22px,6vw,32px) !important; }
  .sec { padding:48px 0 !important; }
  .cta-box { padding:40px 24px !important; }
  .logo-box { padding:28px !important; }
}

.bg-dark h1, .bg-dark h2, .bg-dark h3,
.cta-band h1, .cta-band h2, .cta-band h3,
.trust-sec h1, .trust-sec h2, .trust-sec h3,
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4,
section[style*="07111E"] h1, section[style*="07111E"] h2, section[style*="07111E"] h3,
section[style*="0F1D35"] h1, section[style*="0F1D35"] h2, section[style*="0F1D35"] h3 {
  color: #fff !important;
}
.bg-dark p, .cta-band p, .trust-sec p, .site-footer p,
section[style*="07111E"] p, section[style*="0F1D35"] p {
  color: rgba(255,255,255,.76) !important;
}

.num-badge, .svc-num, .process-step span {
  border-radius: 8px !important;
  color: var(--gold) !important;
  background: rgba(201,168,76,.10) !important;
  border: 1px solid rgba(201,168,76,.26) !important;
}
.card, .service-card, .svc-card, .cat-card, .ind-card, .list-card {
  border-radius: 14px !important;
  border-color: rgba(15,30,54,.09) !important;
}
.btn, .nav-cta, #masterHeaderCta { max-width: 100% !important; }

@media (max-width: 980px) {
  .main-nav.mobile-open {
    position: fixed !important;
    top: 80px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    padding: 20px !important;
    overflow-y: auto !important;
    background: rgba(8,14,28,.98) !important;
    backdrop-filter: blur(20px) !important;
  }
  .main-nav.mobile-open a,
  .main-nav.mobile-open .nav-drop > a {
    display: flex !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 12px 14px !important;
    color: rgba(255,255,255,.9) !important;
  }
  .main-nav.mobile-open .nav-drop { width: 100% !important; }
  .main-nav.mobile-open .nav-panel,
  .main-nav.mobile-open .nav-menu-panel {
    position: static !important;
    display: grid !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 4px 0 8px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    box-shadow: none !important;
    background: rgba(255,255,255,.06) !important;
  }
}

@media (max-width: 540px) {
  .nav-inner { padding: 0 16px !important; }
  .brand-text span { display: none !important; }
  .lifa-floating-contact {
    right: 14px !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    gap: 9px !important;
  }
  .lifa-float-btn { width: 52px !important; height: 52px !important; }
  .lifa-float-btn img { width: 100% !important; height: 100% !important; }
}

/* ══════════════════════════════════════════════════════
   LIFA PAGE LAYOUT SYSTEM — SERVICE PAGES & SITE-WIDE
   Covers all layout classes missing from base CSS.
   ══════════════════════════════════════════════════════ */

/* ── CONTAINERS ── */
.container { max-width: 1380px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 40px !important; padding-right: 40px !important; }
.wrap { max-width: 1380px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 40px !important; padding-right: 40px !important; }
.wrap-sm { max-width: 880px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 40px !important; padding-right: 40px !important; }

/* ── SECTION SPACING ── */
section { padding: 72px 0; }
.section-gray { background: #F4F7FB !important; }
.section-dark { background: #07111E !important; color: #fff !important; }
.section-dark h1,.section-dark h2,.section-dark h3 { color: #fff !important; }
.section-dark p { color: rgba(255,255,255,.72) !important; }
.section-dark .eyebrow { color: #C9A84C !important; }

/* ── EYEBROW ── */
.eyebrow { display: block !important; color: #C9A84C !important; text-transform: uppercase !important; letter-spacing: 0.14em !important; font-size: 11.5px !important; font-weight: 800 !important; margin-bottom: 10px !important; }

/* ── SECTION HEAD ── */
.section-head { text-align: center !important; max-width: 780px !important; margin-left: auto !important; margin-right: auto !important; margin-bottom: 48px !important; }
.section-head h2 { font-size: clamp(24px,3vw,40px) !important; margin: 0 0 14px !important; color: #0F1E36 !important; }
.section-head p { color: #5A6B84 !important; font-size: 16px !important; line-height: 1.7 !important; margin: 0 !important; }
.section-dark .section-head h2 { color: #fff !important; }
.section-dark .section-head p { color: rgba(255,255,255,.65) !important; }

/* ── SERVICE PAGE HERO ── */
.hero { position: relative !important; min-height: 560px !important; display: flex !important; align-items: center !important; overflow: hidden !important; background: #07111E !important; }
.hero-bg { position: absolute !important; inset: 0 !important; z-index: 0 !important; }
.hero-bg::after { content: '' !important; position: absolute !important; inset: 0 !important; background: linear-gradient(135deg,rgba(7,17,30,.88) 0%,rgba(15,30,54,.52) 100%) !important; z-index: 1 !important; }
.hero-bg-img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.hero-grid:not([aria-hidden]) { position: relative !important; z-index: 2 !important; display: grid !important; grid-template-columns: 1fr 380px !important; gap: 48px !important; align-items: center !important; max-width: 1380px !important; margin: 0 auto !important; padding: 72px 40px !important; width: 100% !important; }
.hero-copy { color: #fff !important; }
.hero-copy h1 { color: #fff !important; font-size: clamp(26px,3.5vw,52px) !important; line-height: 1.1 !important; margin: 0 0 16px !important; font-weight: 800 !important; }
.hero-copy .eyebrow { color: #C9A84C !important; }

/* ── LEAD PARAGRAPH ── */
.lead { font-size: 16.5px !important; line-height: 1.7 !important; }
.hero-copy .lead { color: rgba(255,255,255,.76) !important; margin-bottom: 20px !important; }

/* ── HERO ACTIONS ── */
.hero-actions { display: flex !important; gap: 12px !important; flex-wrap: wrap !important; margin-top: 24px !important; }

/* ── BUTTONS ── */
.btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 12px 24px !important; border-radius: 10px !important; font-weight: 700 !important; font-size: 14px !important; text-decoration: none !important; transition: all .2s ease !important; cursor: pointer !important; border: 1.5px solid transparent !important; white-space: nowrap !important; }
.btn-lg { padding: 15px 32px !important; font-size: 15px !important; }
.btn-sm { padding: 8px 16px !important; font-size: 13px !important; }
.btn.ghost,.btn-ghost { background: transparent !important; border-color: rgba(255,255,255,.35) !important; color: #fff !important; }
.btn.ghost:hover,.btn-ghost:hover { border-color: rgba(201,168,76,.65) !important; color: #C9A84C !important; }
.btn-outline { background: transparent !important; border-color: rgba(15,30,54,.28) !important; color: #0F1E36 !important; }
.btn-outline:hover { border-color: #C9A84C !important; color: #C9A84C !important; }

/* ── TRUST STRIP ── */
.trust-strip { display: flex !important; flex-wrap: wrap !important; gap: 14px 26px !important; margin-top: 28px !important; padding-top: 24px !important; border-top: 1px solid rgba(255,255,255,.12) !important; }
.trust-item { display: flex !important; flex-direction: column !important; }
.trust-item strong { color: #C9A84C !important; font-size: 22px !important; font-weight: 800 !important; line-height: 1 !important; }
.trust-item span { color: rgba(255,255,255,.5) !important; font-size: 11px !important; text-transform: uppercase !important; letter-spacing: .06em !important; margin-top: 3px !important; }

/* ── HERO PANEL CARD ── */
.hero-panel { display: flex !important; align-items: center !important; }
.hero-panel-card { background: rgba(255,255,255,.07) !important; backdrop-filter: blur(18px) !important; -webkit-backdrop-filter: blur(18px) !important; border: 1px solid rgba(201,168,76,.2) !important; border-radius: 20px !important; padding: 32px !important; color: #fff !important; width: 100% !important; position: relative !important; overflow: hidden !important; }
.hero-panel-card .eyebrow { color: #C9A84C !important; }
.hero-panel-card h3 { color: #fff !important; font-size: 18px !important; line-height: 1.3 !important; margin: 8px 0 12px !important; font-weight: 700 !important; }
.hero-panel-card p { color: rgba(255,255,255,.62) !important; font-size: 14px !important; line-height: 1.65 !important; margin: 0 !important; }
.brand-full-logo { max-width: 140px !important; margin-bottom: 20px !important; display: block !important; }
.card-link-top { position: absolute !important; inset: 0 !important; z-index: 2 !important; font-size: 0 !important; color: transparent !important; }

/* ── ANSWER BLOCK ── */
.answer { max-width: 900px !important; margin: 0 auto !important; }
.answer h2 { font-size: clamp(22px,3vw,38px) !important; margin-bottom: 16px !important; color: #0F1E36 !important; }
.answer p { font-size: 16px !important; line-height: 1.78 !important; color: #3D4F6A !important; margin: 0 !important; }

/* ── SPLIT TWO-COLUMN ── */
.container.split,.split { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 60px !important; align-items: center !important; }
.container.split { padding-top: 72px !important; padding-bottom: 72px !important; }

/* ── INTENT STRIP (workflow steps) ── */
.intent-strip { display: flex !important; flex-direction: column !important; margin-top: 24px !important; }
.intent-strip article { display: grid !important; grid-template-columns: 40px 1fr !important; grid-template-rows: auto auto !important; column-gap: 14px !important; row-gap: 3px !important; padding: 16px 0 !important; border-bottom: 1px solid rgba(15,30,54,.08) !important; align-items: start !important; min-width: 0 !important; }
.intent-strip article:last-child { border-bottom: none !important; }
.mini-icon { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 36px !important; height: 36px !important; min-width: 36px !important; background: rgba(201,168,76,.1) !important; border: 1px solid rgba(201,168,76,.28) !important; border-radius: 8px !important; color: #C9A84C !important; font-weight: 800 !important; font-size: 12px !important; grid-row: span 2 !important; flex-shrink: 0 !important; align-self: start !important; margin-top: 2px !important; }
.intent-strip article > span:not(.mini-icon) { font-weight: 700 !important; font-size: 14.5px !important; color: #0F1E36 !important; line-height: 1.3 !important; overflow-wrap: break-word !important; min-width: 0 !important; }
.intent-strip article p { grid-column: 2 !important; font-size: 13.5px !important; color: #5A6B84 !important; line-height: 1.65 !important; margin: 0 !important; overflow-wrap: break-word !important; min-width: 0 !important; }

/* ── VISUAL PANEL ── */
.visual-panel { position: relative !important; border-radius: 20px !important; overflow: hidden !important; }
.visual-panel img { width: 100% !important; height: 440px !important; object-fit: cover !important; display: block !important; border-radius: 20px !important; }
.caption { position: absolute !important; inset: auto 0 0 !important; padding: 24px 28px !important; background: linear-gradient(to top,rgba(7,17,30,.92) 0%,rgba(7,17,30,.42) 70%,transparent 100%) !important; }
.caption strong { display: block !important; color: #fff !important; font-size: 15px !important; font-weight: 700 !important; margin-bottom: 6px !important; }
.caption span { display: block !important; color: rgba(255,255,255,.68) !important; font-size: 13px !important; line-height: 1.5 !important; margin-bottom: 14px !important; }
.visual-cta { display: inline-block !important; background: rgba(201,168,76,.92) !important; color: #07111E !important; padding: 8px 18px !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 700 !important; text-decoration: none !important; transition: opacity .2s !important; }
.visual-cta:hover { opacity: .86 !important; }

/* ── CARD GRID ── */
.card { position: relative !important; padding: 28px !important; overflow: hidden !important; }
.card > h3 { font-size: 16px !important; color: #0F1E36 !important; font-weight: 700 !important; margin: 0 0 10px !important; line-height: 1.35 !important; }
.card > p { font-size: 14px !important; color: #5A6B84 !important; line-height: 1.65 !important; margin: 0 !important; }
.grid { display: grid !important; gap: 24px !important; }
.grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.grid-4 { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }

/* ── CHECK LIST ── */
.check-list { list-style: none !important; padding: 0 !important; margin: 16px 0 0 !important; }
.check-list li { padding: 9px 0 9px 28px !important; position: relative !important; border-bottom: 1px solid rgba(15,30,54,.06) !important; font-size: 14.5px !important; color: #3D4F6A !important; line-height: 1.5 !important; }
.check-list li::before { content: '✓' !important; position: absolute !important; left: 0 !important; color: #C9A84C !important; font-weight: 800 !important; }
.check-list li:last-child { border-bottom: none !important; }
.check-lt li { color: rgba(255,255,255,.72) !important; border-bottom-color: rgba(255,255,255,.08) !important; }

/* ── LIFA VISUAL SUITE ── */
.lifa-visual-suite { background: #07111E !important; }
.lifa-visual-suite .section-head h2 { color: #fff !important; }
.lifa-visual-suite .section-head p,.lifa-visual-suite p { color: rgba(255,255,255,.65) !important; }

/* ── HOMEPAGE LAYOUT ── */
.sec { padding: 72px 0 !important; }
.sec-sm { padding: 48px 0 !important; }
.bg-off { background: #F4F7FB !important; }
.bg-dark { background: #07111E !important; color: #fff !important; }
.sec-head { margin-bottom: 48px !important; }
.sec-head.ctr { text-align: center !important; }
.gold-bar { width: 48px !important; height: 3px !important; background: #C9A84C !important; margin-top: 16px !important; border-radius: 2px !important; }
.sec-head.ctr .gold-bar { margin-left: auto !important; margin-right: auto !important; }
.g2 { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 24px !important; }
.g3 { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 24px !important; }
.g4 { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 24px !important; }

/* ── CHIPS ── */
.chip { display: inline-block !important; background: rgba(201,168,76,.12) !important; color: #C9A84C !important; border: 1px solid rgba(201,168,76,.28) !important; border-radius: 20px !important; padding: 4px 14px !important; font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; }
.chip-white { background: rgba(255,255,255,.12) !important; color: #fff !important; border-color: rgba(255,255,255,.25) !important; }
.chip-teal { background: rgba(11,204,176,.1) !important; color: #0BCCB0 !important; border-color: rgba(11,204,176,.25) !important; }

/* ── MOBILE NAV ── */
.mob-nav { display: none !important; position: fixed !important; inset: 80px 0 0 !important; background: rgba(8,14,28,.98) !important; backdrop-filter: blur(20px) !important; z-index: 9000 !important; overflow-y: auto !important; padding: 20px 0 !important; flex-direction: column !important; }
.mob-nav.open { display: flex !important; }
.mob-nav a { display: block !important; padding: 13px 28px !important; color: rgba(255,255,255,.8) !important; text-decoration: none !important; border-bottom: 1px solid rgba(255,255,255,.05) !important; font-size: 15px !important; }
.mob-nav a:hover { color: #fff !important; }
.mob-label { padding: 12px 28px 4px !important; font-size: 11px !important; color: rgba(255,255,255,.35) !important; text-transform: uppercase !important; letter-spacing: .12em !important; font-weight: 700 !important; }
.m-cta { background: rgba(201,168,76,.15) !important; color: #C9A84C !important; margin: 16px 20px 0 !important; border-radius: 10px !important; text-align: center !important; font-weight: 700 !important; border-bottom: none !important; }

/* ── PROCESS GRID (homepage) ── */
.proc-grid { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 16px !important; }
.proc-blk { background: #fff !important; border: 1px solid rgba(15,30,54,.08) !important; border-radius: 14px !important; padding: 28px !important; }
.proc-num { color: #C9A84C !important; font-size: 28px !important; font-weight: 800 !important; margin-bottom: 10px !important; }
.proc-title { font-weight: 700 !important; color: #0F1E36 !important; font-size: 15px !important; margin-bottom: 8px !important; }
.proc-desc { color: #5A6B84 !important; font-size: 13.5px !important; line-height: 1.6 !important; }

/* ── SERVICE CARDS (homepage) ── */
.svc-card { background: #fff !important; border-radius: 16px !important; border: 1px solid rgba(15,30,54,.08) !important; box-shadow: 0 4px 20px rgba(0,0,0,.05) !important; padding: 28px !important; text-decoration: none !important; color: inherit !important; display: flex !important; flex-direction: column !important; transition: box-shadow .2s ease !important; }
.svc-card:hover { box-shadow: 0 12px 40px rgba(0,0,0,.1) !important; }
.svc-body { flex: 1 !important; }
.svc-num { color: #C9A84C !important; font-weight: 800 !important; font-size: 13px !important; margin-bottom: 12px !important; }
.svc-ico { width: 100% !important; height: 180px !important; border-radius: 10px !important; overflow: hidden !important; margin-bottom: 12px !important; }
.svc-title { font-weight: 700 !important; font-size: 16px !important; color: #0F1E36 !important; margin-bottom: 8px !important; }
.svc-sub { font-size: 14px !important; color: #5A6B84 !important; line-height: 1.6 !important; }
.svc-foot { border-top: 1px solid rgba(15,30,54,.08) !important; padding-top: 14px !important; margin-top: 12px !important; }
.svc-link { color: #C9A84C !important; font-weight: 700 !important; font-size: 13.5px !important; }

/* ── COUNTRY CARDS (homepage) ── */
.cty-card { display: flex !important; align-items: center !important; gap: 16px !important; background: #fff !important; border-radius: 14px !important; border: 1px solid rgba(15,30,54,.08) !important; padding: 20px 24px !important; text-decoration: none !important; color: inherit !important; transition: box-shadow .2s !important; }
.cty-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.08) !important; }
.cty-flag { font-size: 28px !important; line-height: 1 !important; }
.cty-name { font-weight: 700 !important; font-size: 15px !important; color: #0F1E36 !important; margin-bottom: 4px !important; }
.cty-desc { font-size: 13px !important; color: #5A6B84 !important; line-height: 1.5 !important; }

/* ── BLOG CARDS (homepage) ── */
.blog-card { display: flex !important; flex-direction: column !important; border-radius: 16px !important; overflow: hidden !important; border: 1px solid rgba(15,30,54,.08) !important; text-decoration: none !important; background: #fff !important; transition: box-shadow .2s !important; }
.blog-card:hover { box-shadow: 0 12px 36px rgba(0,0,0,.1) !important; }
.blog-img { width: 100% !important; height: 200px !important; object-fit: cover !important; display: block !important; }
.blog-body { padding: 20px !important; flex: 1 !important; display: flex !important; flex-direction: column !important; }
.blog-cat { color: #C9A84C !important; font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .1em !important; margin-bottom: 8px !important; }
.blog-title { font-weight: 700 !important; font-size: 16px !important; color: #0F1E36 !important; line-height: 1.4 !important; margin-bottom: 12px !important; flex: 1 !important; }
.blog-link { color: #C9A84C !important; font-size: 13.5px !important; font-weight: 700 !important; }

/* ── FAQ (homepage) ── */
.faq-wrap { display: flex !important; flex-direction: column !important; border-radius: 16px !important; border: 1px solid rgba(15,30,54,.1) !important; overflow: hidden !important; background: #fff !important; }
.faq-item { border-bottom: 1px solid rgba(15,30,54,.07) !important; }
.faq-item:last-child { border-bottom: none !important; }
.faq-q { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 20px 24px !important; font-weight: 600 !important; color: #0F1E36 !important; font-size: 15px !important; cursor: pointer !important; gap: 12px !important; }
.faq-ico { color: #C9A84C !important; font-size: 22px !important; font-weight: 400 !important; transition: transform .2s !important; flex-shrink: 0 !important; }
.faq-item.open .faq-ico { transform: rotate(45deg) !important; }
.faq-a { max-height: 0 !important; overflow: hidden !important; transition: max-height .3s ease !important; }
.faq-item.open .faq-a { max-height: 500px !important; }
.faq-a-in { padding: 0 24px 20px !important; color: #5A6B84 !important; font-size: 14.5px !important; line-height: 1.7 !important; }

/* ── CTA BAND (homepage) ── */
.cta-band { background: #07111E !important; padding: 96px 0 !important; text-align: center !important; position: relative !important; overflow: hidden !important; }
.cta-glow { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%,-50%) !important; width: 60vw !important; height: 60vw !important; max-width: 600px !important; background: radial-gradient(ellipse,rgba(201,168,76,.08) 0%,transparent 65%) !important; pointer-events: none !important; }
.cta-inner { position: relative !important; z-index: 1 !important; max-width: 780px !important; margin: 0 auto !important; padding: 0 40px !important; }
.cta-inner h2 { color: #fff !important; font-size: clamp(28px,4vw,52px) !important; margin-bottom: 16px !important; }
.cta-inner em { color: #C9A84C !important; font-style: normal !important; }
.cta-inner p { color: rgba(255,255,255,.65) !important; font-size: 17px !important; line-height: 1.7 !important; margin-bottom: 32px !important; }
.cta-btns { display: flex !important; gap: 12px !important; justify-content: center !important; flex-wrap: wrap !important; }

/* ── ANS BLOCK (homepage) ── */
.ans-block { max-width: 800px !important; }
.ans-q { color: #C9A84C !important; font-size: 11.5px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .14em !important; margin-bottom: 12px !important; }
.ans-block h3 { font-size: clamp(22px,3vw,34px) !important; color: #0F1E36 !important; margin-bottom: 16px !important; }
.ans-block p { font-size: 16px !important; color: #3D4F6A !important; line-height: 1.78 !important; }

/* ── HOMEPAGE HERO SLIDER ── */
.hero-slider { position: absolute !important; inset: 0 !important; z-index: 0 !important; }
.hero-slide { position: absolute !important; inset: 0 !important; opacity: 0 !important; transition: opacity .8s ease !important; }
.hero-slide.active { opacity: 1 !important; }
.hero-slide-img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.hero-ov1,.hero-ov2 { position: absolute !important; inset: 0 !important; pointer-events: none !important; z-index: 1 !important; }
.hero-ov1 { background: linear-gradient(135deg,rgba(7,17,30,.82) 0%,rgba(15,30,54,.5) 60%,transparent 100%) !important; }
.hero-ov2 { background: radial-gradient(ellipse at 80% 100%,rgba(201,168,76,.06) 0%,transparent 65%) !important; }
.hero-glow1 { position: absolute !important; bottom: -10% !important; left: -5% !important; width: 40vw !important; height: 40vw !important; max-width: 400px !important; background: radial-gradient(ellipse,rgba(201,168,76,.05) 0%,transparent 65%) !important; pointer-events: none !important; z-index: 1 !important; }
.hero-glow2 { position: absolute !important; top: -10% !important; right: 15% !important; width: 30vw !important; height: 30vw !important; max-width: 300px !important; background: radial-gradient(ellipse,rgba(11,204,176,.04) 0%,transparent 65%) !important; pointer-events: none !important; z-index: 1 !important; }
.holo-ring { position: absolute !important; border: 1px solid !important; border-radius: 50% !important; animation: holoSpin 24s linear infinite !important; pointer-events: none !important; z-index: 1 !important; }
@keyframes holoSpin { to { transform: rotate(360deg); } }
.hero-ey { display: flex !important; align-items: center !important; gap: 12px !important; margin-bottom: 20px !important; }
.hero-ey-line { width: 32px !important; height: 2px !important; background: #C9A84C !important; flex-shrink: 0 !important; }
.hero-content { position: relative !important; z-index: 3 !important; max-width: 1380px !important; margin: 0 auto !important; padding: 120px 40px 80px !important; width: 100% !important; }
.hero-h1 { font-size: clamp(34px,5.5vw,80px) !important; line-height: 1.04 !important; font-weight: 800 !important; color: #fff !important; margin-bottom: 24px !important; letter-spacing: -.02em !important; }
.hero-h1 em { color: #C9A84C !important; font-style: italic !important; }
.hero-sub { font-size: 17px !important; color: rgba(255,255,255,.72) !important; line-height: 1.7 !important; max-width: 680px !important; margin-bottom: 32px !important; }
.hero-btns { display: flex !important; gap: 12px !important; flex-wrap: wrap !important; }
.hero-stats { display: flex !important; flex-wrap: wrap !important; gap: 18px 36px !important; margin-top: 48px !important; padding-top: 32px !important; border-top: 1px solid rgba(255,255,255,.12) !important; }
.hero-stat { display: flex !important; flex-direction: column !important; }
.stat-n { color: #fff !important; font-size: 32px !important; font-weight: 800 !important; line-height: 1 !important; }
.stat-l { color: rgba(255,255,255,.5) !important; font-size: 12px !important; text-transform: uppercase !important; letter-spacing: .06em !important; margin-top: 4px !important; }
.slider-dots { position: absolute !important; bottom: 28px !important; left: 50% !important; transform: translateX(-50%) !important; z-index: 5 !important; display: flex !important; gap: 8px !important; }
.slider-dot { width: 8px !important; height: 8px !important; border-radius: 50% !important; background: rgba(255,255,255,.35) !important; border: none !important; cursor: pointer !important; transition: all .2s !important; padding: 0 !important; }
.slider-dot.active { background: #C9A84C !important; transform: scale(1.3) !important; }
.slider-progress { position: absolute !important; bottom: 0 !important; left: 0 !important; right: 0 !important; height: 3px !important; background: rgba(255,255,255,.1) !important; z-index: 5 !important; }
.slider-progress-fill { height: 100% !important; background: #C9A84C !important; }

/* ── MARQUEE STRIP ── */
.mq-strip { background: #07111E !important; overflow: hidden !important; padding: 18px 0 !important; border-top: 1px solid rgba(201,168,76,.1) !important; border-bottom: 1px solid rgba(201,168,76,.1) !important; }
.mq-track { display: flex !important; width: max-content !important; animation: mqScroll 30s linear infinite !important; }
.mq-track:hover { animation-play-state: paused !important; }
.mq-item { display: inline-flex !important; align-items: center !important; padding: 0 24px !important; color: rgba(255,255,255,.55) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .04em !important; white-space: nowrap !important; }
.mq-dot { display: inline-block !important; width: 4px !important; height: 4px !important; background: #C9A84C !important; border-radius: 50% !important; margin-left: 24px !important; }
@keyframes mqScroll { to { transform: translateX(-50%); } }

/* ── MEDIA FRAME ── */
.media-frame { border-radius: 20px !important; overflow: hidden !important; }
.media-frame img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }

/* ── REVEAL ANIMATION ── */
.rev { opacity: 0; transform: translateY(22px); transition: opacity .55s ease, transform .55s ease; }
.rev.show { opacity: 1 !important; transform: translateY(0) !important; }
.d1 { transition-delay: .08s !important; }
.d2 { transition-delay: .16s !important; }
.d3 { transition-delay: .24s !important; }

/* ── RESPONSIVE — TABLET 1100px ── */
@media (max-width: 1100px) {
  .hero-grid:not([aria-hidden]) { grid-template-columns: 1fr !important; }
  .hero-panel { display: none !important; }
  .proc-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .g3 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

/* ── RESPONSIVE — TABLET 900px ── */
@media (max-width: 900px) {
  .container.split,.split { grid-template-columns: 1fr !important; gap: 40px !important; }
  .container.split { padding-top: 56px !important; padding-bottom: 56px !important; }
  .split figure,.split .visual-panel { order: -1 !important; }
  .visual-panel img { height: 300px !important; }
  .grid-3 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .container,.wrap,.wrap-sm { padding-left: 28px !important; padding-right: 28px !important; }
  .cta-inner { padding: 0 28px !important; }
}

/* ── RESPONSIVE — MOBILE 640px ── */
@media (max-width: 640px) {
  .hero { min-height: 500px !important; }
  .hero-content { padding: 80px 20px 60px !important; }
  .hero-grid:not([aria-hidden]) { padding: 60px 20px !important; }
  section { padding: 48px 0; }
  .section-gray,.section-dark,.sec,.cta-band { padding-top: 48px !important; padding-bottom: 48px !important; }
  .container,.wrap,.wrap-sm { padding-left: 20px !important; padding-right: 20px !important; }
  .grid-2,.grid-3,.grid-4 { grid-template-columns: 1fr !important; }
  .g2,.g3,.g4 { grid-template-columns: 1fr !important; }
  .proc-grid { grid-template-columns: 1fr !important; }
  .lifa-visual-grid { grid-template-columns: 1fr !important; }
  .hero-stats { gap: 12px 20px !important; }
  .stat-n { font-size: 26px !important; }
  .trust-strip { gap: 10px 16px !important; }
  .hero-h1 { font-size: clamp(30px,8vw,52px) !important; }
  .cta-inner { padding: 0 20px !important; }
  .section-head { padding: 0 4px !important; }
}

/* ══════════════════════════════════════════════════════
   ABOUT PAGE — SPECIFIC STYLES
   ══════════════════════════════════════════════════════ */
.about-hero-inner { position: relative !important; z-index: 2 !important; max-width: 880px !important; margin: 0 auto !important; padding: 100px 40px 80px !important; text-align: center !important; width: 100% !important; }
.about-hero-inner h1 { color: #fff !important; font-size: clamp(28px,4.5vw,58px) !important; line-height: 1.08 !important; margin: 0 0 20px !important; font-family: Georgia,'Times New Roman',serif !important; font-weight: 700 !important; }
.about-hero-inner .eyebrow { margin-bottom: 16px !important; }
.about-hero-inner .lead { color: rgba(255,255,255,.78) !important; max-width: 740px !important; margin: 0 auto !important; font-size: 17.5px !important; line-height: 1.72 !important; }
.about-story p { font-size: 16px !important; line-height: 1.82 !important; color: #3D4F6A !important; margin: 0 0 18px !important; }
.about-story p:last-child { margin-bottom: 0 !important; }
.about-story h2 { font-size: clamp(22px,3vw,38px) !important; color: #0F1E36 !important; margin-bottom: 18px !important; }
.about-info-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 20px !important; }
.about-info-card { background: #0F1E36 !important; border-radius: 16px !important; padding: 28px !important; }
.about-info-label { display: block !important; text-transform: uppercase !important; font-size: 10.5px !important; font-weight: 800 !important; letter-spacing: .12em !important; color: rgba(255,255,255,.42) !important; margin-bottom: 8px !important; }
.about-info-value { font-size: 15px !important; font-weight: 600 !important; color: #fff !important; line-height: 1.6 !important; margin: 0 !important; }
.about-info-value a { color: #C9A84C !important; text-decoration: none !important; }
.about-info-value a:hover { text-decoration: underline !important; }
.section-dark .about-story h2 { color: #fff !important; }
.section-dark .about-story p { color: rgba(255,255,255,.72) !important; }
.section-dark .answer h2 { color: #fff !important; }
.section-dark .answer p { color: rgba(255,255,255,.72) !important; }
@media (max-width: 900px) { .about-info-grid { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 640px) {
  .about-hero-inner { padding: 80px 20px 60px !important; }
  .about-info-grid { grid-template-columns: 1fr !important; }
}

/* ══ FLOATING BUTTON COLORS ══ */
.lifa-float-wa { background: #25D366 !important; }
.lifa-float-wc { background: #07C160 !important; }
.lifa-float-btn { color: #fff !important; }

/* ══ GLOBAL HEADER LINK COLORS — fix raw default-blue nav/brand links ══ */
.brand { gap: 12px !important; text-decoration: none !important; color: #fff !important; }
.brand-mark { height: 44px !important; width: auto !important; flex: 0 0 auto !important; }
.brand-text { display: flex !important; flex-direction: column !important; line-height: 1.05 !important; }
.brand-text strong { color: #fff !important; font-size: 20px !important; font-weight: 800 !important; letter-spacing: .02em !important; }
.brand-text span { color: var(--gold-lt) !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .16em !important; }
.main-nav > a,
.nav-drop > a {
  color: rgba(255,255,255,.84) !important;
  text-decoration: none !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  transition: color .2s ease, background .2s ease !important;
}
.main-nav > a:hover,
.nav-drop > a:hover { color: var(--gold-lt) !important; background: rgba(255,255,255,.06) !important; }
.nav-arrow { font-size: 9px !important; opacity: .7 !important; }
@media (min-width: 981px) { .menu-toggle { display: none !important; } }

/* ══ GLOBAL FOOTER — fix invisible white-on-white text + blue links ══ */
.site-footer {
  background: var(--dark) !important;
  color: rgba(255,255,255,.6) !important;
  padding: 68px 0 34px !important;
}
.site-footer .foot-grid {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1.5fr !important;
  gap: 40px !important;
  align-items: start !important;
}
.site-footer .foot-col h4 {
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
  margin: 0 0 16px !important;
}
.site-footer .foot-col a {
  display: block !important;
  color: rgba(255,255,255,.62) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  padding: 5px 0 !important;
  transition: color .2s ease !important;
}
.site-footer .foot-col a:hover { color: var(--gold-lt) !important; }
@media (max-width: 900px) {
  .site-footer .foot-grid { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
}
@media (max-width: 540px) {
  .site-footer .foot-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
}
