:root {
  --gb-black: #000;
  --gb-ink: #17150f;
  --gb-charcoal: #11100d;
  --gb-gold: #f3d77a;
  --gb-gold-hover: #e5c55f;
  --gb-gold-dark: #76540d;
  --gb-gold-deep: #5f4208;
  --gb-ivory: #fffdf6;
  --gb-ivory-deep: #faf4e2;
  --gb-muted: #5f5a4d;
  --gb-line: #e7d8a9;
  --gb-line-dark: rgba(243,215,122,.34);
  --green: var(--gb-gold-dark);
  --green-dark: var(--gb-gold-deep);
  --green-soft: #fff7db;
  --ink: var(--gb-ink);
  --muted: var(--gb-muted);
  --line: var(--gb-line);
  --soft: var(--gb-ivory);
  --white: #fff;
  --primary: var(--gb-gold-dark);
  --text-muted: var(--gb-muted);
}

html { color-scheme: light; }
body { background: #fff; color: var(--gb-ink); }
::selection { background: var(--gb-gold); color: var(--gb-black); }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--gb-gold); outline-offset: 3px;
}

/* Header */
.utility-bar { background: var(--gb-gold) !important; color: var(--gb-black) !important; border-bottom: 1px solid var(--gb-black); }
.utility-links a { color: var(--gb-black) !important; font-weight: 800; }
.utility-links a:hover { text-decoration: underline; }
.utility-links span { color: var(--gb-black); opacity: .42; }
.site-header { background: var(--gb-black) !important; border-bottom: 1px solid var(--gb-line-dark) !important; }
.nav-wrap { min-height: 76px; }
.brand-mark { width: auto !important; height: 44px !important; max-width: 160px !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; transition: opacity .2s; }
.desktop-nav a { color: #fff9e8 !important; transition: color .18s; }
.desktop-nav a:hover { color: var(--gb-gold) !important; }
.menu-btn { background: var(--gb-charcoal) !important; border-color: var(--gb-line-dark) !important; }
.menu-btn span { background: var(--gb-gold) !important; }
.mobile-nav { background: var(--gb-black) !important; border-top-color: var(--gb-line-dark) !important; }
.mobile-nav-inner > a:not(.nav-cta) { color: #fff9e8 !important; border-bottom-color: rgba(243,215,122,.18) !important; }
.mobile-nav-inner > a:not(.nav-cta):hover { color: var(--gb-gold) !important; }

/* Hero */
.hero-shell, .hero-human { background: var(--gb-ivory) !important; }
.hero-status-row { color: var(--gb-muted) !important; }
.app-hero-card, .human-hero-card { background: var(--gb-black) !important; border: 1px solid var(--gb-gold) !important; box-shadow: 0 18px 46px rgba(0,0,0,.16) !important; }
.app-icon, .hero-human .app-icon { background: var(--gb-black) !important; border-color: var(--gb-gold) !important; box-shadow: none !important; }
.app-icon img { width: 100%; height: 100%; object-fit: contain !important; }
.human-app-heading h1, .app-heading h1 { color: var(--gb-gold) !important; }
.human-hero-card .hero-lead, .human-hero-card .app-heading p { color: #fffaf0 !important; }
.human-hero-card .hero-provider, .human-hero-card .fact span { color: #d8cfb5 !important; }
.human-hero-card .fact { border-color: rgba(243,215,122,.24) !important; }
.human-hero-card .fact strong { color: var(--gb-gold) !important; }
.human-hero-card .safe-note { background: var(--gb-charcoal) !important; border-color: var(--gb-line-dark) !important; }
.human-hero-card .safe-note strong { color: var(--gb-gold) !important; }
.human-hero-card .safe-note small { color: #e6ddc5 !important; }
.human-hero-card .shield { background: var(--gb-gold) !important; color: var(--gb-black) !important; }
.jump-nav a { background: var(--gb-black) !important; border-color: var(--gb-black) !important; color: var(--gb-gold) !important; }
.jump-nav a:hover { background: var(--gb-gold) !important; border-color: var(--gb-gold) !important; color: var(--gb-black) !important; }

/* Type & sections */
h1, h2, h3,
.center-heading h2, .content-copy h2, .demand-heading h2, .demand-split h2,
.download-head h2, .faq-intro h2, .home-intro-title h2, .install-head h2,
.safety-copy h2, .section-copy h2, .section-title-row h2, .support-intro h2,
.update-main h2, .wallet-copy h2 { color: var(--gb-black) !important; }
.human-app-heading h1 { color: var(--gb-gold) !important; }
.section-kicker, .panel-kicker, .app-label, .demand-tag, .about-kicker, .core-quick-label { color: var(--gb-gold-dark) !important; }
.soft-section, .faq-section { background: var(--gb-ivory) !important; border-color: var(--gb-line) !important; }
.content-section a:not(.home-button):not(.home-button-outline):not(.primary-cta):not(.about-btn):not(.mini-action),
.breadcrumbs a, .text-action, .secondary-cta { color: var(--gb-gold-dark) !important; }
.content-section a:hover { color: var(--gb-black); }
.about-title .text-green { color: var(--gb-gold-dark) !important; }
.install-note, .demand-warning, .intent-note { background: #fff8df !important; border-color: var(--gb-gold) !important; color: var(--gb-ink) !important; }
.install-note { border-left-color: var(--gb-gold-dark) !important; }

/* Cards */
.account-panel, .about-card, .demand-card, .download-card, .feature-card-home,
.feature-list-grid article, .install-step, .popular-card, .quick-point,
.reward-card, .safety-card, .support-grid article, .trust-grid article,
.update-points > div, .wallet-card { background: #fff !important; border-color: var(--gb-line) !important; }
.account-panel:hover, .about-card:hover, .demand-card:hover, .download-card:hover,
.feature-card-home:hover, .install-step:hover, .popular-card:hover,
.reward-card:hover, .safety-card:hover, .wallet-card:hover { border-color: #c9aa4c !important; }
.account-row span, .about-card-icon, .demand-card > span, .download-card-icon,
.feature-card-home .feature-no, .feature-list-grid article > span, .install-step .number,
.popular-icon, .reward-icon, .safety-card .safety-icon, .support-grid article > span,
.wallet-badge, .withdraw-checks b { background: #fff4ca !important; color: var(--gb-black) !important; }

/* Buttons */
.home-button, .nav-cta, .primary-cta, .about-btn, #download .mini-action, #submit-btn {
  background: var(--gb-gold) !important; border-color: var(--gb-gold) !important;
  color: var(--gb-black) !important; box-shadow: none !important; text-shadow: none !important;
}
.home-button:hover, .nav-cta:hover, .primary-cta:hover, .about-btn:hover,
#download .mini-action:hover, #submit-btn:hover { background: var(--gb-gold-hover) !important; }
.primary-cta b { background: var(--gb-black) !important; color: var(--gb-gold) !important; }
.home-button-outline { background: #fff !important; border-color: var(--gb-black) !important; color: var(--gb-black) !important; }
.home-button-outline:hover { background: var(--gb-black) !important; color: var(--gb-gold) !important; }

/* Features */
.withdraw-panel { background: var(--gb-black) !important; border: 1px solid var(--gb-gold) !important; box-shadow: none !important; }
.withdraw-panel .panel-label, .withdraw-panel h3 { color: var(--gb-gold) !important; }
.withdraw-panel p, .withdraw-panel li { color: #fff9e8 !important; }
.final-cta { background: var(--gb-black) !important; border-color: var(--gb-gold) !important; }
.final-cta h2 { color: var(--gb-gold) !important; }
.final-cta p { color: #fff9e8 !important; }
.update-box { background: var(--gb-ivory) !important; border-color: var(--gb-line) !important; }
.faq-list, .faq-item { border-color: var(--gb-line) !important; }
.faq-item summary { color: var(--gb-black) !important; }
.faq-item summary span { background: var(--gb-black) !important; border-color: var(--gb-black) !important; color: var(--gb-gold) !important; }
.faq-item[open] summary span { background: var(--gb-gold) !important; color: var(--gb-black) !important; }

/* Showcase */
#about, #download {
  --showcase-green: var(--gb-gold-dark); --showcase-green-dark: var(--gb-gold-deep);
  --showcase-ink: var(--gb-black); --showcase-copy: var(--gb-muted);
  --showcase-muted: var(--gb-muted); --showcase-line: var(--gb-line);
  --showcase-soft-green: #fff7db;
}
#about .about-card, #download .download-card { border-color: var(--gb-line) !important; }
#about .about-modern-image::before { background: #fff1b9 !important; }
#about .about-modern-image img { border-color: var(--gb-gold) !important; }
#download .download-card::before { background: #fff3c7 !important; }
#download .download-card-icon,
#download .download-card:first-child .download-card-icon,
#download .download-card:nth-child(2) .download-card-icon,
#download .download-card:nth-child(3) .download-card-icon { background: #fff4ca !important; color: var(--gb-black) !important; }
#download .download-options > .intent-note,
#download .download-card:first-child > div::after { background-color: #fff8df !important; border-color: var(--gb-line) !important; }

/* Core pages */
.core-page { background: #fff !important; }
.core-hero { background: var(--gb-ivory) !important; }
.core-quick { background: var(--gb-black) !important; border-color: var(--gb-gold) !important; }
.core-quick-label, .core-quick strong { color: var(--gb-gold) !important; }
.core-quick span { color: #e6ddc5 !important; }
.core-quick > div { border-color: var(--gb-line-dark) !important; }
.core-jump-wrap { background: var(--gb-black) !important; border-color: var(--gb-black) !important; }
.core-jumps a { background: var(--gb-charcoal) !important; border-color: var(--gb-line-dark) !important; color: var(--gb-gold) !important; }
.core-jumps a:hover { background: var(--gb-gold) !important; color: var(--gb-black) !important; }
.core-check-grid > div, .core-related-grid a { background: #fff !important; border-color: var(--gb-line) !important; }
.core-check-grid span { background: var(--gb-gold) !important; color: var(--gb-black) !important; }
.core-check-grid strong, .core-related-grid strong { color: var(--gb-black) !important; }
.core-related-grid b { color: var(--gb-gold-dark) !important; }
.core-safety-box { background: var(--gb-ivory) !important; border-color: var(--gb-line) !important; }
.contact-form-box { border: 1px solid var(--gb-line); box-shadow: none !important; }
.contact-form input, .contact-form textarea { border-color: var(--gb-line) !important; background: var(--gb-ivory) !important; color: var(--gb-black) !important; }

/* Footer */
.footer-centered { background: var(--gb-black) !important; border-top: 1px solid var(--gb-gold) !important; }
.footer-logo-img { width: min(200px,60vw) !important; height: auto !important; border-radius: 0 !important; box-shadow: none !important; object-fit: contain !important; }
.footer-centered-desc, .footer-centered-copy { color: #ddd4bc !important; }
.footer-centered-desc strong, .footer-centered-copy strong, .footer-share span { color: var(--gb-gold) !important; }
.footer-centered-links a { color: var(--gb-gold) !important; }
.footer-centered-links a:hover { color: #fff !important; }
.footer-centered-links .sep { color: rgba(243,215,122,.5) !important; }

/* Responsive */
@media (max-width: 1180px) { .brand-mark { height: 40px !important; max-width: 145px !important; } }
@media (max-width: 900px) { .site-header { position: relative; } .nav-wrap { min-height: 68px; } .brand-mark { height: 36px !important; max-width: 130px !important; } }
@media (max-width: 620px) {
  .nav-wrap { min-height: 62px; }
  .brand-mark { height: 32px !important; max-width: 115px !important; }
  .app-hero-card, .human-hero-card { box-shadow: 0 12px 30px rgba(0,0,0,.14) !important; }
  .footer-logo-img { width: min(150px,50vw) !important; }
}

/* Lightbox */
main img:not(.no-lightbox) { cursor: zoom-in; transition: transform .2s; }
main img:not(.no-lightbox):hover { transform: scale(1.02); }
.lightbox-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.9);
  display: flex; align-items: center; justify-content: center;
  z-index: 99999; opacity: 0; visibility: hidden;
  transition: opacity .3s, visibility .3s; padding: 20px;
}
.lightbox-overlay.active { opacity: 1; visibility: visible; }
.lightbox-img { max-width: 90vw; max-height: 90vh; object-fit: contain; border-radius: 8px; box-shadow: 0 10px 40px rgba(0,0,0,.5); transform: scale(.9); transition: transform .3s cubic-bezier(.175,.885,.32,1.275); }
.lightbox-overlay.active .lightbox-img { transform: scale(1); }
.lightbox-close { position: absolute; top: 20px; right: 20px; background: none; border: none; color: #fff; font-size: 40px; cursor: pointer; line-height: 1; padding: 0; opacity: .7; transition: opacity .2s; }
.lightbox-close:hover { opacity: 1; }
