/*
 Theme Name:   Freelanzaa Child
 Theme URI:    https://www.freelanzaa.com/
 Description:  GeneratePress child theme for Freelanzaa — the world's largest open innovation platform.
 Author:       Freelanzaa
 Author URI:   https://www.freelanzaa.com/
 Template:     generatepress
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  freelanzaa-child
*/

/* =====================================================
   DESIGN TOKENS
   ===================================================== */
:root {
  --fl-black:        #000000;
  --fl-void:         #080808;
  --fl-surface:      #0f0f0f;
  --fl-card:         #141414;
  --fl-border:       #1e1e1e;
  --fl-border-hi:    #2a2a2a;
  --fl-white:        #ffffff;
  --fl-dim:          #888888;
  --fl-dimmer:       #444444;
  --fl-plasma:       #00d4ff;        /* signature electric cyan */
  --fl-plasma-glow:  #00d4ff30;
  --fl-amber:        #f59e0b;
  --fl-green:        #22c55e;
  --fl-red:          #ef4444;
  --fl-violet:       #8b5cf6;
  --fl-font-display: 'Inter', 'SF Pro Display', system-ui, sans-serif;
}

/* =====================================================
   RESET / BASE OVERRIDES
   ===================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--fl-black);
  color:       var(--fl-white);
  font-family: var(--fl-font-display);
  font-size:   16px;
  line-height: 1.6;
  overflow-x:  hidden;
}

body.admin-bar { padding-top: 0 !important; }

a {
  color:           var(--fl-plasma);
  text-decoration: none;
  transition:      opacity .2s;
}
a:hover { opacity: .75; }

img { display: block; max-width: 100%; }

/* =====================================================
   GENERATEPRESS ELEMENT RESETS
   ===================================================== */

/* Strip GP default whites / body padding */
.site-header,
.main-navigation,
.site-footer {
  background: transparent !important;
  border: none !important;
}

.site-content {
  padding: 0 !important;
}

.entry-content p,
.entry-content li {
  color: var(--fl-dim);
}

/* =====================================================
   UTILITY
   ===================================================== */
.fl-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Tags */
.fl-tag {
  display:       inline-block;
  font-size:     11px;
  font-weight:   700;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:       4px 10px;
  border-radius: 4px;
  background:    var(--fl-border);
  color:         var(--fl-dim);
}
.fl-tag.plasma { background: var(--fl-plasma-glow); color: var(--fl-plasma); }
.fl-tag.amber  { background: #f59e0b20;              color: var(--fl-amber);  }
.fl-tag.green  { background: #22c55e20;              color: var(--fl-green);  }
.fl-tag.violet { background: #8b5cf620;              color: var(--fl-violet); }

/* Buttons */
.fl-btn {
  display:        inline-flex;
  align-items:    center;
  gap:            8px;
  padding:        12px 28px;
  font-size:      14px;
  font-weight:    600;
  letter-spacing: .04em;
  border:         1px solid var(--fl-border-hi);
  border-radius:  2px;
  cursor:         pointer;
  transition:     all .2s;
  background:     transparent;
  color:          var(--fl-white);
  text-decoration:none;
}
.fl-btn:hover {
  background:   var(--fl-surface);
  border-color: var(--fl-dimmer);
  opacity:      1;
  color:        var(--fl-white);
}
.fl-btn.primary {
  background:   var(--fl-plasma);
  color:        var(--fl-black);
  border-color: var(--fl-plasma);
}
.fl-btn.primary:hover {
  background:   #00bfe8;
  border-color: #00bfe8;
  box-shadow:   0 0 24px var(--fl-plasma-glow);
}
.fl-btn.large {
  font-size: 16px;
  padding:   16px 36px;
}

/* =====================================================
   NAVIGATION
   ===================================================== */
.fl-nav {
  position:      fixed;
  top: 0; left: 0; right: 0;
  z-index:       999;
  background:    rgba(0, 0, 0, .85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--fl-border);
}
.fl-nav-inner {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  height:          60px;
  max-width:       1200px;
  margin:          0 auto;
  padding:         0 24px;
}
.fl-nav-logo {
  font-size:      18px;
  font-weight:    900;
  letter-spacing: .05em;
  color:          var(--fl-white);
  text-decoration:none;
}
.fl-nav-logo span { color: var(--fl-plasma); }

.fl-nav-links {
  display:    flex;
  gap:        32px;
  list-style: none;
  margin:     0;
  padding:    0;
}
.fl-nav-links a {
  font-size:      13px;
  font-weight:    500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color:          var(--fl-dim);
  transition:     color .2s;
}
.fl-nav-links a:hover { color: var(--fl-white); opacity: 1; }

.fl-nav-cta {
  display:    flex;
  gap:        12px;
  align-items:center;
}
.fl-nav-cta .fl-btn {
  padding:   8px 18px;
  font-size: 13px;
}

/* =====================================================
   PLASMA LINE
   ===================================================== */
.fl-plasma-line {
  position:  absolute;
  top: 0; left: 0; right: 0;
  height:    2px;
  background:linear-gradient(90deg, transparent 0%, var(--fl-plasma) 50%, transparent 100%);
  box-shadow:0 0 20px var(--fl-plasma);
  pointer-events: none;
}

/* =====================================================
   HERO
   ===================================================== */
.fl-hero {
  position:       relative;
  min-height:     100vh;
  display:        flex;
  flex-direction: column;
  justify-content:flex-end;
  padding-bottom: 80px;
  overflow:       hidden;
}

.fl-hero-bg {
  position:   absolute;
  inset:      0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%, #001a2640 0%, transparent 70%),
    radial-gradient(ellipse 40% 30% at 80% 20%, #00d4ff08 0%, transparent 60%),
    var(--fl-black);
}

/* Star particles — injected by JS */
.fl-stars { position: absolute; inset: 0; pointer-events: none; }
.fl-star {
  position:      absolute;
  border-radius: 50%;
  background:    white;
  animation:     fl-twinkle var(--d, 3s) ease-in-out infinite alternate;
}
@keyframes fl-twinkle { from { opacity: .2; } to { opacity: .8; } }

.fl-hero-content {
  position:  relative;
  z-index:   2;
  max-width: 1200px;
  margin:    0 auto;
  padding:   0 24px;
}

.fl-hero-eyebrow {
  font-size:      13px;
  font-weight:    600;
  letter-spacing: .15em;
  text-transform: uppercase;
  color:          var(--fl-plasma);
  margin-bottom:  20px;
  animation:      fl-fadeUp .6s ease both;
}

.fl-hero-title {
  font-size:      clamp(42px, 6vw, 88px);
  font-weight:    900;
  line-height:    1.0;
  letter-spacing: -.02em;
  text-transform: uppercase;
  max-width:      900px;
  margin-bottom:  28px;
  animation:      fl-fadeUp .6s .1s ease both;
}
.fl-hero-title .accent { color: var(--fl-plasma); }

.fl-hero-sub {
  font-size:     16px;
  color:         var(--fl-dim);
  max-width:     500px;
  margin-bottom: 36px;
  line-height:   1.7;
  animation:     fl-fadeUp .6s .2s ease both;
}

.fl-hero-actions {
  display:    flex;
  gap:        16px;
  flex-wrap:  wrap;
  animation:  fl-fadeUp .6s .3s ease both;
}

@keyframes fl-fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0);    }
}

/* =====================================================
   STATS BAR
   ===================================================== */
.fl-stats-bar {
  background:    var(--fl-surface);
  border-top:    1px solid var(--fl-border);
  border-bottom: 1px solid var(--fl-border);
  padding:       32px 0;
}
.fl-stats-grid {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  gap:                   0;
}
.fl-stat-item {
  padding:      0 40px;
  border-right: 1px solid var(--fl-border);
  text-align:   center;
}
.fl-stat-item:last-child { border-right: none; }
.fl-stat-icon   { font-size: 22px; margin-bottom: 8px; }
.fl-stat-number {
  font-size:      32px;
  font-weight:    900;
  letter-spacing: -.03em;
  color:          var(--fl-white);
}
.fl-stat-number.plasma { color: var(--fl-plasma); }
.fl-stat-label {
  font-size:      12px;
  font-weight:    600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color:          var(--fl-dim);
  margin-top:     4px;
}

/* =====================================================
   LIVE FEED
   ===================================================== */
.fl-live-feed { padding: 80px 0; }

.fl-section-head {
  display:         flex;
  align-items:     baseline;
  justify-content: space-between;
  margin-bottom:   40px;
}
.fl-section-title {
  font-size:      13px;
  font-weight:    700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color:          var(--fl-dim);
}
.fl-see-all {
  font-size:      13px;
  color:          var(--fl-plasma);
  letter-spacing: .05em;
  transition:     opacity .2s;
}
.fl-see-all:hover { opacity: .7; }

.fl-feed-grid {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   1px;
  background:            var(--fl-border);
  border:                1px solid var(--fl-border);
}
.fl-feed-card {
  background:  var(--fl-card);
  padding:     28px;
  transition:  background .2s;
  cursor:      pointer;
}
.fl-feed-card:hover { background: var(--fl-surface); }
.fl-feed-card-icon  { font-size: 28px; margin-bottom: 16px; }
.fl-feed-card-label {
  font-size:      11px;
  font-weight:    700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color:          var(--fl-dim);
  margin-bottom:  8px;
}
.fl-feed-card-title {
  font-size:     18px;
  font-weight:   700;
  line-height:   1.3;
  margin-bottom: 10px;
  color:         var(--fl-white);
}
.fl-feed-card-meta {
  font-size: 12px;
  color:     var(--fl-dimmer);
}

/* =====================================================
   DASHBOARD PREVIEW
   ===================================================== */
.fl-dashboard-section {
  padding:    80px 0;
  background: var(--fl-void);
}
.fl-dash-grid {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   40px;
  align-items:           center;
}
.fl-dash-text h2 {
  font-size:      clamp(28px, 4vw, 48px);
  font-weight:    900;
  letter-spacing: -.02em;
  text-transform: uppercase;
  line-height:    1.1;
  margin-bottom:  20px;
  color:          var(--fl-white);
}
.fl-dash-text p {
  color:         var(--fl-dim);
  line-height:   1.8;
  margin-bottom: 32px;
}
.fl-dash-card {
  background:    var(--fl-card);
  border:        1px solid var(--fl-border);
  border-radius: 4px;
  overflow:      hidden;
}
.fl-dash-card-header {
  background:    var(--fl-surface);
  border-bottom: 1px solid var(--fl-border);
  padding:       16px 24px;
  display:       flex;
  align-items:   center;
  justify-content:space-between;
}
.fl-dash-card-header .name {
  font-size:   14px;
  font-weight: 700;
  color:       var(--fl-white);
}
.fl-dash-card-body { padding: 24px; }

.fl-xp-bar-wrap {
  background:    var(--fl-border);
  border-radius: 2px;
  height:        6px;
  margin:        12px 0 20px;
  overflow:      hidden;
}
.fl-xp-bar {
  height:     100%;
  width:      73%;
  background: linear-gradient(90deg, var(--fl-plasma), #00ff99);
  border-radius: 2px;
}
.fl-dash-stats {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   16px;
}
.fl-dash-stat {
  background:    var(--fl-surface);
  border:        1px solid var(--fl-border);
  padding:       14px 16px;
  border-radius: 4px;
}
.fl-dash-stat-val {
  font-size:   22px;
  font-weight: 900;
  color:       var(--fl-plasma);
}
.fl-dash-stat-lbl {
  font-size:      11px;
  color:          var(--fl-dim);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.fl-today-challenge {
  margin-top:    20px;
  background:    var(--fl-surface);
  border:        1px solid var(--fl-border);
  border-left:   3px solid var(--fl-plasma);
  padding:       16px;
  border-radius: 0 4px 4px 0;
}
.fl-today-challenge .ch-label {
  font-size:      11px;
  color:          var(--fl-plasma);
  font-weight:    700;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom:  6px;
}
.fl-today-challenge .ch-title {
  font-size:   15px;
  font-weight: 700;
  color:       var(--fl-white);
}

/* =====================================================
   AI SECTION
   ===================================================== */
.fl-ai-section { padding: 80px 0; }
.fl-ai-section h2 {
  font-size:      clamp(28px, 4vw, 48px);
  font-weight:    900;
  text-transform: uppercase;
  letter-spacing: -.02em;
  text-align:     center;
  margin-bottom:  12px;
  color:          var(--fl-white);
}
.fl-ai-section .fl-sub {
  text-align:    center;
  color:         var(--fl-dim);
  max-width:     540px;
  margin:        0 auto 56px;
}
.fl-ai-demo {
  max-width:     760px;
  margin:        0 auto;
  background:    var(--fl-card);
  border:        1px solid var(--fl-border);
  border-radius: 4px;
  overflow:      hidden;
}
.fl-ai-input-bar {
  display:       flex;
  align-items:   center;
  padding:       18px 20px;
  border-bottom: 1px solid var(--fl-border);
  gap:           12px;
}
.fl-ai-input-bar .prompt-icon   { color: var(--fl-plasma); font-size: 18px; }
.fl-ai-input-bar .prompt-text   { flex: 1; font-size: 16px; font-weight: 500; color: var(--fl-white); }

.fl-ai-results { padding: 24px; }
.fl-ai-result-row {
  display:       flex;
  align-items:   flex-start;
  gap:           16px;
  padding:       14px 0;
  border-bottom: 1px solid var(--fl-border);
}
.fl-ai-result-row:last-child { border-bottom: none; }
.fl-ai-result-icon  { font-size: 20px; flex-shrink: 0; margin-top: 2px; }
.fl-ai-result-title { font-size: 14px; font-weight: 600; margin-bottom: 4px; color: var(--fl-white); }
.fl-ai-result-val   { font-size: 13px; color: var(--fl-dim); }

/* =====================================================
   EARTH DASHBOARD
   ===================================================== */
.fl-earth-section {
  padding:    80px 0;
  background: var(--fl-void);
}
.fl-earth-section h2 {
  font-size:      clamp(28px, 4vw, 48px);
  font-weight:    900;
  text-transform: uppercase;
  letter-spacing: -.02em;
  text-align:     center;
  margin-bottom:  12px;
  color:          var(--fl-white);
}
.fl-earth-section .fl-sub {
  text-align:    center;
  color:         var(--fl-dim);
  max-width:     540px;
  margin:        0 auto 56px;
}
.fl-globe-container {
  max-width:             900px;
  margin:                0 auto;
  display:               grid;
  grid-template-columns: 1fr 320px;
  gap:                   24px;
  align-items:           start;
}
.fl-globe-visual {
  background:    var(--fl-card);
  border:        1px solid var(--fl-border);
  border-radius: 4px;
  aspect-ratio:  1;
  display:       flex;
  align-items:   center;
  justify-content:center;
  font-size:     140px;
  position:      relative;
  overflow:      hidden;
}
.fl-globe-visual::before {
  content:    '';
  position:   absolute;
  inset:      0;
  background: radial-gradient(ellipse at 35% 35%, #00d4ff10 0%, transparent 60%);
}
.fl-globe-ring {
  position:      absolute;
  border:        1px solid var(--fl-plasma-glow);
  border-radius: 50%;
  animation:     fl-spin 20s linear infinite;
}
.fl-globe-ring.r1 { width: 82%; height: 82%; }
.fl-globe-ring.r2 { width: 95%; height: 40%; top: 30%; transform: rotateX(70deg); border-color: #00d4ff15; }
@keyframes fl-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

.fl-globe-dot {
  position:      absolute;
  width: 8px; height: 8px;
  border-radius: 50%;
  background:    var(--fl-plasma);
  box-shadow:    0 0 8px var(--fl-plasma);
  animation:     fl-pulse 2s ease-in-out infinite;
}
@keyframes fl-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.5); } }

.fl-globe-panel   { display: flex; flex-direction: column; gap: 12px; }
.fl-globe-stat-card {
  background:    var(--fl-card);
  border:        1px solid var(--fl-border);
  padding:       16px 18px;
  border-radius: 4px;
  transition:    border-color .2s;
  cursor:        pointer;
}
.fl-globe-stat-card:hover { border-color: var(--fl-plasma); }
.fl-globe-stat-card .gsc-label {
  font-size:      11px;
  color:          var(--fl-dim);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom:  4px;
}
.fl-globe-stat-card .gsc-val {
  font-size:   20px;
  font-weight: 800;
}
.fl-globe-stat-card .gsc-bar {
  height:        3px;
  border-radius: 2px;
  margin-top:    8px;
  background:    var(--fl-border);
  overflow:      hidden;
}
.fl-globe-stat-card .gsc-fill {
  height:        100%;
  border-radius: 2px;
}

/* =====================================================
   REPUTATION
   ===================================================== */
.fl-rep-section { padding: 80px 0; }
.fl-rep-section h2 {
  font-size:      clamp(28px, 4vw, 48px);
  font-weight:    900;
  text-transform: uppercase;
  letter-spacing: -.02em;
  text-align:     center;
  margin-bottom:  12px;
  color:          var(--fl-white);
}
.fl-rep-section .fl-sub {
  text-align:    center;
  color:         var(--fl-dim);
  max-width:     540px;
  margin:        0 auto 56px;
}
.fl-badges-grid {
  display:               grid;
  grid-template-columns: repeat(5, 1fr);
  gap:                   16px;
  max-width:             900px;
  margin:                0 auto;
}
.fl-badge-card {
  background:    var(--fl-card);
  border:        1px solid var(--fl-border);
  padding:       28px 16px;
  text-align:    center;
  border-radius: 4px;
  transition:    all .2s;
  cursor:        pointer;
}
.fl-badge-card:hover { border-color: var(--fl-plasma); transform: translateY(-4px); }
.fl-badge-icon  { font-size: 36px; margin-bottom: 12px; }
.fl-badge-name  {
  font-size:      12px;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color:          var(--fl-white);
  margin-bottom:  4px;
}
.fl-badge-desc  { font-size: 11px; color: var(--fl-dim); line-height: 1.5; }

/* =====================================================
   BOUNTY CHALLENGES
   ===================================================== */
.fl-bounty-section {
  padding:    80px 0;
  background: var(--fl-void);
}
.fl-bounty-section h2 {
  font-size:      clamp(28px, 4vw, 48px);
  font-weight:    900;
  text-transform: uppercase;
  letter-spacing: -.02em;
  text-align:     center;
  margin-bottom:  56px;
  color:          var(--fl-white);
}
.fl-bounty-grid {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   16px;
}
.fl-bounty-card {
  background:    var(--fl-card);
  border:        1px solid var(--fl-border);
  padding:       28px;
  border-radius: 4px;
  display:       flex;
  flex-direction:column;
  gap:           16px;
  transition:    border-color .2s;
  cursor:        pointer;
}
.fl-bounty-card:hover { border-color: var(--fl-amber); }
.fl-bounty-top       { display: flex; justify-content: space-between; align-items: flex-start; }
.fl-bounty-title     {
  font-size:   16px;
  font-weight: 700;
  line-height: 1.3;
  flex:        1;
  padding-right:12px;
  color:       var(--fl-white);
}
.fl-bounty-prize {
  font-size:   20px;
  font-weight: 900;
  color:       var(--fl-amber);
  white-space: nowrap;
}
.fl-bounty-desc { font-size: 13px; color: var(--fl-dim); line-height: 1.7; }
.fl-bounty-footer {
  display:         flex;
  justify-content: space-between;
  align-items:     center;
  padding-top:     16px;
  border-top:      1px solid var(--fl-border);
  font-size:       12px;
  color:           var(--fl-dim);
}
.fl-bounty-deadline { color: var(--fl-red); font-weight: 600; }

/* =====================================================
   CTA SECTION
   ===================================================== */
.fl-cta-section {
  padding:   120px 0;
  text-align:center;
  position:  relative;
  overflow:  hidden;
}
.fl-cta-section::before {
  content:       '';
  position:      absolute;
  top: 50%; left: 50%;
  transform:     translate(-50%, -50%);
  width:         600px; height: 300px;
  background:    radial-gradient(ellipse, #00d4ff08 0%, transparent 70%);
  pointer-events:none;
}
.fl-cta-section h2 {
  font-size:      clamp(32px, 5vw, 64px);
  font-weight:    900;
  text-transform: uppercase;
  letter-spacing: -.02em;
  line-height:    1.05;
  max-width:      700px;
  margin:         0 auto 24px;
  color:          var(--fl-white);
}
.fl-cta-section .fl-sub {
  color:         var(--fl-dim);
  max-width:     460px;
  margin:        0 auto 40px;
}
.fl-cta-actions {
  display:         flex;
  justify-content: center;
  gap:             16px;
  flex-wrap:       wrap;
}

/* =====================================================
   FOOTER
   ===================================================== */
.fl-footer {
  border-top: 1px solid var(--fl-border);
  padding:    48px 0 32px;
  background: var(--fl-void);
}
.fl-footer-grid {
  display:               grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap:                   48px;
  margin-bottom:         48px;
}
.fl-footer-brand .fl-logo {
  font-size:      20px;
  font-weight:    900;
  letter-spacing: .05em;
  margin-bottom:  12px;
  color:          var(--fl-white);
}
.fl-footer-brand .fl-logo span { color: var(--fl-plasma); }
.fl-footer-brand p {
  font-size:  13px;
  color:      var(--fl-dim);
  line-height:1.7;
}
.fl-footer-col h4 {
  font-size:      11px;
  font-weight:    700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color:          var(--fl-dim);
  margin-bottom:  16px;
}
.fl-footer-col ul {
  list-style:    none;
  display:       flex;
  flex-direction:column;
  gap:           10px;
  margin: 0; padding: 0;
}
.fl-footer-col a {
  font-size:  13px;
  color:      var(--fl-dimmer);
  transition: color .2s;
}
.fl-footer-col a:hover { color: var(--fl-white); opacity: 1; }

.fl-footer-bottom {
  border-top:      1px solid var(--fl-border);
  padding-top:     24px;
  display:         flex;
  justify-content: space-between;
  align-items:     center;
  font-size:       12px;
  color:           var(--fl-dimmer);
}

/* =====================================================
   RESPONSIVE
   ===================================================== */
@media (max-width: 900px) {
  .fl-stats-grid       { grid-template-columns: repeat(2, 1fr); }
  .fl-stat-item        { border-right: none; border-bottom: 1px solid var(--fl-border); padding: 20px; }
  .fl-stat-item:nth-child(odd) { border-right: 1px solid var(--fl-border); }
  .fl-feed-grid        { grid-template-columns: 1fr; }
  .fl-dash-grid        { grid-template-columns: 1fr; }
  .fl-globe-container  { grid-template-columns: 1fr; }
  .fl-badges-grid      { grid-template-columns: repeat(3, 1fr); }
  .fl-bounty-grid      { grid-template-columns: 1fr; }
  .fl-footer-grid      { grid-template-columns: 1fr 1fr; }
  .fl-nav-links        { display: none; }
}
@media (max-width: 560px) {
  .fl-badges-grid      { grid-template-columns: repeat(2, 1fr); }
  .fl-footer-grid      { grid-template-columns: 1fr; }
  .fl-footer-bottom    { flex-direction: column; gap: 8px; text-align: center; }
}

/* =====================================================
   REDUCED MOTION
   ===================================================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration:  0s !important;
    transition-duration: 0s !important;
  }
}
