/* ===========================================================
   LUBYLAB — B/W Luxury Override
   Applied on top of site.css
   =========================================================== */

:root {
  /* Override brand tokens to pure B/W */
  --bg-canvas: #000000;
  --bg-warm:   #000000;
  --bg-ink:    #000000;
  --bg-muted:  #0a0a0a;
  --fg-1: #ffffff;
  --fg-2: rgba(255,255,255,.72);
  --fg-3: rgba(255,255,255,.5);
  --fg-inverse: #000000;
  --fg-accent: #ffffff;
  --border-hairline: rgba(255,255,255,.14);
  --border-soft:     rgba(255,255,255,.07);
  --border-strong:   rgba(255,255,255,.28);
  --border-on-dark:  rgba(255,255,255,.16);

  /* Kill serif — swap display to Pretendard */
  --ff-display: var(--ff-sans);
}

html, body { background: #000 !important; color: #fff !important; }
.lbl-site { background: #000; color: #fff; }

/* Headings — Pretendard, tighter, display-weight */
h1, h2, h3, h4, h5, h6,
.lbl-h1, .lbl-h2, .lbl-h3, .lbl-h4,
.lbl-hero-copy h1,
.lbl-principles-head h2,
.lbl-tech-head h2,
.lbl-mfg-copy h2,
.lbl-vn-top h2,
.lbl-partners-head h2,
.lbl-cta h2,
.lbl-timeline-head h2,
.lbl-timeline-card h3,
.lbl-tech-card h3,
.lbl-principle h3,
.lbl-vn-adv h4,
.lbl-retail-card h4,
.lbl-footer-brand p {
  font-family: var(--ff-sans) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}

.lbl-hero-copy h1 em,
.lbl-vn-top h2 em,
h2 em, h3 em {
  font-style: normal !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,.55);
}

.lbl-hero-copy h1 {
  font-weight: 600 !important;
  font-size: clamp(56px, 5.4vw, 88px) !important;
  letter-spacing: -0.035em !important;
  line-height: 1.02 !important;
}

.lbl-footer-brand p {
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
}

/* Remove italic blockquote */
.lbl-hero-product-copy blockquote { font-style: normal !important; font-weight: 400 !important; }

/* Body */
p, .lbl-body, .lbl-body-lg { color: rgba(255,255,255,.72); }

/* NAV */
.lbl-nav {
  background: rgba(0,0,0,.28) !important;
  backdrop-filter: blur(24px) saturate(1.4); -webkit-backdrop-filter: blur(24px) saturate(1.4);
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
.lbl-nav-logo { color: #fff !important; }
.lbl-nav-links a, .lbl-nav-right a {
  color: rgba(255,255,255,.65) !important;
}
.lbl-nav-links a:hover, .lbl-nav-right a:hover { color: #fff !important; }
.lbl-lang-toggle { color: rgba(255,255,255,.65) !important; }
.lbl-lang-toggle:hover { color: #fff !important; }
.lbl-lang-toggle .active { color: #fff !important; }
.lbl-nav-cta {
  background: transparent !important; color: #fff !important;
  border: 1px solid rgba(255,255,255,.7) !important;
  transition: background .28s var(--ease-clinical), color .28s var(--ease-clinical), border-color .28s var(--ease-clinical) !important;
}
.lbl-nav-cta:hover,
.lbl-nav-right a.lbl-nav-cta:hover {
  background: #fff !important; color: #000 !important;
  border-color: #fff !important;
  opacity: 1 !important;
}

/* BUTTONS (inverted) */
.lbl-btn-solid {
  background: #fff !important; color: #000 !important;
  border-color: #fff !important;
}
.lbl-btn-solid:hover { background: rgba(255,255,255,.85) !important; }
.lbl-btn-outline {
  color: #fff !important; border-color: #fff !important;
}
.lbl-btn-outline:hover { background: #fff !important; color: #000 !important; }
.lbl-btn-quiet { color: #fff !important; border-bottom-color: #fff !important; }

/* HERO */
.lbl-hero { background: #000 !important; min-height: calc(100vh - 62px); position: relative; overflow: hidden; }
.lbl-hero-image {
  background-color: #0a0a0a !important;
  filter: grayscale(100%) contrast(1.05) brightness(.85);
  position: relative;
}
.lbl-hero-image::after {
  background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.55)) !important;
}
.lbl-hero-copy { background: #000 !important; }
.lbl-hero-copy .dot { background: #fff !important; }
.lbl-hero-specs { border-top-color: rgba(255,255,255,.16) !important; }
.lbl-hero-specs .spec b { color: #fff !important; }

/* MARQUEE */
.lbl-marquee {
  background: #000 !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
}
.lbl-marquee-track { color: rgba(255,255,255,.6) !important; }

/* PRINCIPLES — with world map bg */
.lbl-principles {
  background: #000 !important; position: relative; overflow: hidden;
}
.lbl-principles::before {
  content: "";
  position: absolute; inset: -5% -5% -5% -5%;
  background-image: url('../assets/world-halftone.svg');
  background-size: 120% auto;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: .12;
  color: #fff;
  pointer-events: none;
  filter: invert(1);
  mask-image: radial-gradient(ellipse 85% 75% at 50% 50%, #000 50%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 85% 75% at 50% 50%, #000 50%, transparent 100%);
}
.lbl-principles-inner { position: relative; z-index: 1; }
.lbl-principles-head, .lbl-principles-grid .lbl-principle,
.lbl-stats, .lbl-stats .lbl-stat {
  border-color: rgba(255,255,255,.12) !important;
}
.lbl-principle p, .lbl-stats .lbl-stat-label {
  color: rgba(255,255,255,.55) !important;
}

/* TECH */
.lbl-tech {
  background: #000 !important; position: relative; overflow: hidden;
}
.lbl-tech::before {
  content: "";
  position: absolute; inset: 0;
  background-image: url('../assets/world-halftone.svg');
  background-size: 140% auto;
  background-position: right center;
  background-repeat: no-repeat;
  opacity: .08;
  filter: invert(1);
  pointer-events: none;
}
.lbl-tech-inner { position: relative; z-index: 1; }
.lbl-tech-grid {
  background: rgba(255,255,255,.1) !important;
  border-color: rgba(255,255,255,.1) !important;
}
.lbl-tech-card {
  background: #000 !important;
  transition: background .32s var(--ease-clinical), color .32s var(--ease-clinical),
              box-shadow .32s var(--ease-clinical), transform .32s var(--ease-clinical) !important;
}
.lbl-tech-card:hover {
  background: #fff !important;
  color: #000 !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 24px 56px rgba(255,255,255,.12), 0 4px 16px rgba(255,255,255,.08) !important;
}
.lbl-tech-card:hover .mono { color: rgba(0,0,0,.5) !important; }
.lbl-tech-card:hover h3 { color: #000 !important; }
.lbl-tech-card:hover p { color: rgba(0,0,0,.72) !important; }
.lbl-tech-card:hover .chip {
  border-color: rgba(0,0,0,.22) !important;
  color: #000 !important;
}
.lbl-tech-card:hover svg { stroke: #000 !important; }
.lbl-tech-card .chip { border-color: rgba(255,255,255,.25) !important; }
/* MANUFACTURING */
.lbl-manufacturing {
  background: #000 !important; border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.lbl-mfg-img {
  filter: grayscale(100%) contrast(1.1) brightness(.9);
  border-color: rgba(255,255,255,.15) !important;
}
.lbl-mfg-list li { border-color: rgba(255,255,255,.12) !important; }
.lbl-mfg-list .title { color: #fff !important; }
.lbl-mfg-list .sub, .lbl-mfg-list .idx { color: rgba(255,255,255,.6) !important; }
.lbl-badge-excellent {
  background: transparent !important; border-color: rgba(255,255,255,.3) !important;
  color: #fff !important;
}
.lbl-badge-excellent::before { background: #fff !important; }

/* TIMELINE — black w/ world map, readyoung featured card glows subtly */
.lbl-timeline {
  background: #000 !important; position: relative; overflow: hidden;
}
.lbl-timeline::before {
  content: "";
  position: absolute; inset: 0;
  background-image: url('../assets/world-halftone.svg');
  background-size: 130% auto;
  background-position: center 35%;
  background-repeat: no-repeat;
  opacity: .1;
  filter: invert(1);
  pointer-events: none;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, #000 30%, transparent 90%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, #000 30%, transparent 90%);
}
.lbl-timeline-inner { position: relative; z-index: 1; }
.lbl-timeline-line { background: rgba(255,255,255,.18) !important; }
.lbl-timeline-node {
  background: #fff !important;
  box-shadow: 0 0 0 6px #000, 0 0 0 7px rgba(255,255,255,.2) !important;
}
.lbl-timeline-node .node-dot { background: #000 !important; }
.lbl-timeline-card {
  background: rgba(255,255,255,.03) !important;
  border-color: rgba(255,255,255,.12) !important;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.lbl-timeline-card:hover {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.3) !important;
}
.lbl-timeline-year .y { color: #fff !important; }
.lbl-timeline-year .s { color: rgba(255,255,255,.55) !important; }
.lbl-timeline-card h3 { color: #fff !important; }
.lbl-timeline-card p { color: rgba(255,255,255,.68) !important; }
.lbl-timeline-tags li { border-color: rgba(255,255,255,.2) !important; color: rgba(255,255,255,.8) !important; }

.lbl-timeline-item.featured .lbl-timeline-node {
  background: #fff !important;
  box-shadow: 0 0 0 8px #000, 0 0 0 9px #fff,
              0 0 0 18px rgba(255,255,255,.1) !important;
}
.lbl-timeline-item.featured .lbl-timeline-node .node-dot { background: #000 !important; }
.lbl-timeline-item.featured .lbl-timeline-card {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #fff !important;
}
.lbl-timeline-item.featured .lbl-timeline-card::before {
  background: radial-gradient(60% 80% at 50% 0%, rgba(0,0,0,.06), transparent 70%) !important;
}
.lbl-timeline-item.featured .lbl-timeline-year .y { color: #000 !important; }
.lbl-timeline-item.featured .lbl-timeline-year .s { color: rgba(0,0,0,.55) !important; letter-spacing: 0.3em; }
.lbl-timeline-item.featured .lbl-timeline-card h3 { color: #000 !important; }
.lbl-timeline-item.featured .lbl-timeline-card p { color: rgba(0,0,0,.7) !important; }
.lbl-timeline-item.featured .lbl-timeline-tags li {
  border-color: rgba(0,0,0,.25) !important; color: #000 !important;
}
.lbl-timeline-featured-footer {
  border-top-color: rgba(0,0,0,.15) !important;
  color: rgba(0,0,0,.6) !important;
}
.lbl-timeline-featured-footer .lbl-eyebrow { color: #000 !important; }

/* VIETNAM */
.lbl-vietnam {
  background: #000 !important;
  border-color: rgba(255,255,255,.1) !important;
}
.lbl-vn-metrics { border-color: #fff !important; }
.lbl-vn-metric { border-color: rgba(255,255,255,.12) !important; }
.lbl-vn-metric .big { color: #fff !important; }
.lbl-vn-metric .big small { color: rgba(255,255,255,.5) !important; }
.lbl-vn-source { color: rgba(255,255,255,.4) !important; }
.lbl-vn-top h2 em { color: rgba(255,255,255,.5) !important; }
.lbl-vn-adv { border-top-color: #fff !important; }
.lbl-vn-adv p { color: rgba(255,255,255,.68) !important; }

/* PARTNERS — with halftone world map underneath */
.lbl-partners {
  background: #000 !important; position: relative; overflow: hidden;
}
.lbl-partners::before {
  content: "";
  position: absolute; inset: 0;
  background-image: url('../assets/world-halftone.svg');
  background-size: 110% auto;
  background-position: center 60%;
  background-repeat: no-repeat;
  opacity: .14;
  filter: invert(1);
  pointer-events: none;
}
.lbl-partners-inner { position: relative; z-index: 1; }
.lbl-channels {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.12) !important;
}
.lbl-channel { background: #000 !important; }
.lbl-channel .name { color: #fff !important; }
.lbl-channel .note { color: rgba(255,255,255,.5) !important; }

/* CTA with halftone */
.lbl-cta {
  background: #000 !important; background-image: none !important;
  position: relative; overflow: hidden;
}
.lbl-cta::before {
  background: none !important;
  background-image: url('../assets/world-halftone.svg') !important;
  background-size: 120% auto !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  opacity: .16;
  filter: invert(1);
}
.lbl-cta-inner { position: relative; z-index: 1; }
.lbl-cta h2 { color: #fff !important; }
.lbl-cta .kr { color: rgba(255,255,255,.5) !important; }
.lbl-cta p { color: rgba(255,255,255,.7) !important; }

/* FOOTER */
.lbl-footer { background: #000 !important; border-top: 1px solid rgba(255,255,255,.1); }
.lbl-footer-top { border-bottom-color: rgba(255,255,255,.1) !important; }
.lbl-footer-cols h5 { color: rgba(255,255,255,.45) !important; }
.lbl-footer-cols p { color: rgba(255,255,255,.55) !important; }
.lbl-footer-bottom { color: rgba(255,255,255,.4) !important; }

/* Eyebrow stays white-subtle */
.lbl-eyebrow {
  color: rgba(255,255,255,.6) !important;
  font-weight: 400 !important;
}

/* Timeline accent (Cica green) removed, use white */
.lbl-timeline-item.featured .lbl-timeline-card h3,
.lbl-timeline-item.featured .lbl-timeline-year .s { color: #000 !important; }

/* Tweaks panel */
.tweaks-panel { background: #0a0a0a !important; border-color: rgba(255,255,255,.14) !important; color: #fff; }
.tweaks-panel h5 { color: rgba(255,255,255,.55) !important; }
.tweaks-row { border-top-color: rgba(255,255,255,.12) !important; }
.tweaks-row label { color: #fff !important; }
.tweaks-row select, .tweaks-row input {
  background: #000 !important; color: #fff !important;
  border-color: rgba(255,255,255,.2) !important;
}
