/* ═══════════════════════════════════════════════
   Trader's Solutions– Shared Page Styles
   Compatible with light/dark toggle header/footer
   ═══════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,600;1,9..40,300&family=Playfair+Display:ital@1&display=swap');

/* ── CSS VARIABLES ── */
:root {
  --ink:        #0a0a0f;
  --ink-mid:    #0d1a16;
  --gold:       #c9a84c;
  --gold-light: #f0d080;
  --teal:       #1ec9a8;
  --teal-dark:  #0e7a68;
  --cream:      #f4f0e8;
  --card-bg:    rgba(255,255,255,0.04);
  --border:     rgba(201,168,76,0.2);
  --border-t:   rgba(30,201,168,0.2);
}

/* Light theme token switch (works when header sets data-theme="light") */
[data-theme='light'] {
  --ink:        #f7f4ec;
  --ink-mid:    #ecf6f3;
  --gold:       #9b7722;
  --gold-light: #bd9539;
  --teal:       #0b8f79;
  --teal-dark:  #0a6f5d;
  --cream:      #1e2431;
  --card-bg:    rgba(255,255,255,0.82);
  --border:     rgba(155,119,34,0.24);
  --border-t:   rgba(11,143,121,0.24);
}

/* ── PAGE WRAPPER ── */
.ofx-page {
  background: var(--ink);
  color: var(--cream);
  font-family: 'DM Sans', sans-serif;
  overflow-x: hidden;
}

/* noise overlay */
.ofx-page::before {
  content: '';
  position: fixed; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none; z-index: 9999;
}

/* ── HERO ── */
.ofx-hero {
  position: relative;
  min-height: 100vh;
  display: flex; align-items: center;
  overflow: hidden;
  background: linear-gradient(135deg,#050508 0%,#0d1a16 50%,#050a14 100%);
}
.ofx-hero-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(201,168,76,.06) 1px, transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.06) 1px,transparent 1px);
  background-size: 80px 80px;
  animation: gridDrift 20s linear infinite;
}
@keyframes gridDrift { to { transform: translateY(80px); } }
.ofx-orb {
  position: absolute; border-radius: 50%;
  filter: blur(80px); pointer-events: none;
}
.ofx-orb-1 {
  width:600px;height:600px;
  background: radial-gradient(circle,rgba(30,201,168,.18) 0%,transparent 70%);
  top:-100px;right:-100px;
  animation: orbFloat 8s ease-in-out infinite;
}
.ofx-orb-2 {
  width:400px;height:400px;
  background: radial-gradient(circle,rgba(201,168,76,.15) 0%,transparent 70%);
  bottom:-50px;left:10%;
  animation: orbFloat 12s ease-in-out infinite reverse;
}
@keyframes orbFloat {
  0%,100%{transform:translateY(0) scale(1);}
  50%{transform:translateY(-30px) scale(1.05);}
}
.ofx-hero-inner {
  position: relative; z-index: 2;
  max-width: 1200px; margin: 0 auto;
  padding: 120px 40px 80px;
}
.ofx-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  background: rgba(201,168,76,.1);
  border: 1px solid var(--border);
  border-radius: 40px; padding: 8px 20px;
  font-size: 12px; letter-spacing: 3px;
  text-transform: uppercase; color: var(--gold);
  margin-bottom: 32px;
  animation: fadeUp .8s ease both;
}
.ofx-eyebrow::before {
  content:''; width:6px;height:6px;
  background:var(--teal); border-radius:50%;
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:.4;transform:scale(1.5);}
}
.ofx-hero-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(72px,10vw,160px);
  line-height: .9; letter-spacing: -2px;
  color: var(--cream);
  animation: fadeUp .8s .2s ease both;
}
.ofx-hero-title .ghost {
  -webkit-text-stroke: 2px var(--gold);
  color: transparent; display: block;
}
.ofx-hero-title .ghost-t {
  -webkit-text-stroke: 2px var(--teal);
  color: transparent;
}
.ofx-hero-sub {
  max-width: 520px; font-size: 16px; line-height: 1.7;
  color: rgba(244,240,232,.6);
  margin: 28px 0 44px;
  animation: fadeUp .8s .4s ease both;
}
.ofx-hero-btns {
  display: flex; gap: 16px; flex-wrap: wrap;
  animation: fadeUp .8s .6s ease both;
}

/* ── BUTTONS ── */
.ofx-btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-weight: 600; font-size: 14px; padding: 16px 32px;
  border-radius: 4px; text-decoration: none;
  letter-spacing: .5px; transition: all .3s ease;
  position: relative; overflow: hidden;
}
.ofx-btn-gold {
  background: linear-gradient(135deg,var(--gold),var(--gold-light));
  color: var(--ink);
}
.ofx-btn-gold::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(135deg,var(--gold-light),var(--gold));
  opacity:0; transition: opacity .3s;
}
.ofx-btn-gold:hover::before { opacity:1; }
.ofx-btn-gold:hover { transform:translateY(-2px); box-shadow:0 20px 50px rgba(201,168,76,.4); }
.ofx-btn-ghost {
  background: transparent; color: var(--cream);
  border: 1px solid rgba(244,240,232,.2);
}
.ofx-btn-ghost:hover { border-color:var(--teal); color:var(--teal); transform:translateY(-2px); }

/* ── MARQUEE ── */
.ofx-marquee {
  background: linear-gradient(90deg,var(--gold),var(--teal-dark),var(--gold));
  padding: 14px 0; overflow: hidden;
}
.ofx-marquee-track {
  display: flex; gap: 60px;
  animation: marquee 18s linear infinite;
  white-space: nowrap;
}
.ofx-marquee-track span {
  font-family:'Bebas Neue',sans-serif;
  font-size:18px; letter-spacing:3px;
  color:var(--ink); flex-shrink:0;
}
@keyframes marquee { to { transform:translateX(-50%); } }

/* ── LAYOUT ── */
.ofx-section { padding: 120px 0; }
.ofx-container { max-width:1200px; margin:0 auto; padding:0 40px; }
.ofx-label {
  font-size:11px; letter-spacing:4px;
  text-transform:uppercase; color:var(--teal);
  margin-bottom:16px;
  display:flex; align-items:center; gap:12px;
}
.ofx-label::before { content:''; width:32px;height:1px; background:var(--teal); }
.ofx-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(42px,5vw,72px);
  line-height:1; color:var(--cream); letter-spacing:-1px;
}
.ofx-title .g { color:var(--gold); }
.ofx-title .t { color:var(--teal); }

/* ── FEATURE CARDS ── */
.ofx-features-grid {
  display: grid; grid-template-columns:repeat(3,1fr); gap:2px;
}
.ofx-feat-card {
  background:var(--card-bg); border:1px solid var(--border);
  padding:48px 36px; position:relative;
  overflow:hidden; transition:all .4s ease; cursor:default;
}
.ofx-feat-card::before {
  content:''; position:absolute; top:0;left:0;right:0; height:2px;
  background: linear-gradient(90deg,var(--teal),var(--gold));
  transform: scaleX(0); transition: transform .4s;
}
.ofx-feat-card:hover { background:rgba(30,201,168,.06); transform:translateY(-4px); }
.ofx-feat-card:hover::before { transform:scaleX(1); }
.ofx-feat-num {
  font-family:'Bebas Neue',sans-serif; font-size:96px;
  line-height:1; color:rgb(201, 168, 76);
  position:absolute; top:10px;right:20px; pointer-events:none;
}
.ofx-feat-icon {
  width:64px;height:64px;
  background:linear-gradient(135deg,rgba(30,201,168,.15),rgba(201,168,76,.15));
  border:1px solid var(--border); border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:24px;
}
.ofx-feat-icon i { font-size:24px; color:var(--teal); }
.ofx-feat-card h4 { font-size:20px;font-weight:600;color:var(--cream);margin-bottom:12px; }
.ofx-feat-card p { font-size:14px;line-height:1.7;color:rgba(244,240,232,.55); }

/* ── EVENT CARDS ── */
.ofx-events-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
  margin-top:60px;
}
.ofx-event-card {
  background:var(--card-bg); border:1px solid var(--border);
  border-radius:12px; overflow:hidden;
  transition:all .4s ease;
}
.ofx-event-card:hover { border-color:var(--border-t); transform:translateY(-6px); box-shadow:0 30px 60px rgba(0,0,0,.3); }
.ofx-event-card img { width:100%;height:220px;object-fit:cover;transition:transform .5s; }
.ofx-event-card:hover img { transform:scale(1.05); }
.ofx-event-body { padding:28px; }
.ofx-event-body h3 { font-size:18px;font-weight:600;color:var(--cream);margin-bottom:16px; }
.ofx-event-meta { display:flex;flex-direction:column;gap:8px; }
.ofx-event-meta span {
  font-size:12px; color:rgba(244,240,232,.5);
  display:flex; align-items:center; gap:8px;
}
.ofx-event-meta span i { color:var(--teal);width:14px; }
.ofx-event-meta strong { color:var(--gold); }
.ofx-event-desc {
  margin-top:16px; padding-top:16px;
  border-top:1px solid var(--border);
  font-size:13px;line-height:1.7;color:rgba(244,240,232,.5);
}

/* ── SERVICE BLOCKS ── */
.ofx-service-block {
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  align-items:center; padding:80px 0;
  border-bottom:1px solid rgba(201,168,76,.08);
}
.ofx-service-block.rev { direction:rtl; }
.ofx-service-block.rev > * { direction:ltr; }
.ofx-svc-tag {
  display:inline-block;
  background:rgba(30,201,168,.1); border:1px solid rgba(30,201,168,.3);
  color:var(--teal); font-size:11px; letter-spacing:3px;
  text-transform:uppercase; padding:6px 14px; border-radius:2px; margin-bottom:24px;
}
.ofx-svc-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(36px,4vw,56px); line-height:1.05;
  color:var(--cream); margin-bottom:20px; letter-spacing:-.5px;
}
.ofx-svc-desc { font-size:15px;line-height:1.8;color:rgba(244,240,232,.6);margin-bottom:32px; }
.ofx-pills { display:flex;flex-wrap:wrap;gap:10px; }
.ofx-pill {
  background:rgba(201,168,76,.08); border:1px solid rgba(201,168,76,.2);
  color:var(--gold); font-size:12px; padding:6px 16px; border-radius:40px;
}
.ofx-img-frame {
  position:relative; border-radius:8px; overflow:hidden;
  aspect-ratio:4/3;
  background:linear-gradient(135deg,#0d2018,#0a1520);
}
.ofx-img-frame img {
  width:100%;height:100%;object-fit:cover;
  opacity:.85; transition:transform .5s;
}
.ofx-service-block:hover .ofx-img-frame img { transform:scale(1.04); }
.ofx-img-side { position:relative; }
.ofx-img-deco {
  position:absolute; width:120px;height:120px;
  border:1px solid var(--border); border-radius:4px;
  bottom:-20px;right:-20px; z-index:-1;
}
.ofx-img-badge {
  position:absolute; bottom:20px;left:-20px;
  background:var(--ink); border:1px solid var(--border);
  padding:14px 20px; border-radius:8px;
  backdrop-filter:blur(10px);
}
.ofx-badge-val {
  font-family:'Bebas Neue',sans-serif; font-size:32px;
  color:var(--gold); line-height:1;
}
.ofx-badge-lbl { font-size:11px;color:rgba(244,240,232,.5);letter-spacing:1px; }

/* ── STATS ── */
.ofx-stats-bg {
  background:linear-gradient(135deg,#0e1a10,#0a0a18);
  position:relative; overflow:hidden;
}
.ofx-stats-bg::before {
  content:''; position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23c9a84c' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.ofx-stats-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--border);
  border:1px solid var(--border); border-radius:12px; overflow:hidden;
}
.ofx-stat-item {
  background:rgba(10,10,15,.9); padding:60px 40px; text-align:center;
  position:relative;
}
.ofx-stat-item::before {
  content:''; position:absolute; bottom:0;left:50%;transform:translateX(-50%);
  width:40%;height:2px;
  background:linear-gradient(90deg,transparent,var(--teal),transparent);
}
.ofx-stat-val {
  font-family:'Bebas Neue',sans-serif; font-size:72px;
  line-height:1; color:var(--gold); letter-spacing:-2px;
}
.ofx-stat-val .u { font-size:40px;color:var(--teal); }
.ofx-stat-lbl {
  font-size:12px; letter-spacing:3px; text-transform:uppercase;
  color:rgba(244,240,232,.4); margin-top:8px;
}

/* ── SERVICES GRID ── */
.ofx-sg {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:rgba(201,168,76,.08);
  border:1px solid rgba(201,168,76,.08);
  border-radius:12px; overflow:hidden; margin-top:60px;
}
.ofx-sg-item {
  background:#0a0a0f; padding:44px 36px;
  position:relative; overflow:hidden; transition:all .4s;
}
.ofx-sg-item::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(30,201,168,.06),rgba(201,168,76,.06));
  opacity:0; transition:opacity .4s;
}
.ofx-sg-item:hover::after { opacity:1; }
.ofx-sg-icon {
  width:56px;height:56px; border-radius:12px;
  background:rgba(201,168,76,.08); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:24px; transition:all .3s;
}
.ofx-sg-item:hover .ofx-sg-icon {
  background:linear-gradient(135deg,var(--teal-dark),rgba(30,201,168,.2));
  border-color:var(--teal);
}
.ofx-sg-icon i { font-size:22px;color:var(--gold); }
.ofx-sg-item:hover .ofx-sg-icon i { color:var(--teal); }
.ofx-sg-item h3 { font-size:18px;font-weight:600;color:var(--cream);margin-bottom:12px; }
.ofx-sg-item p { font-size:13px;line-height:1.7;color:rgba(244,240,232,.5); }
.ofx-sg-arr {
  position:absolute; top:36px;right:36px;
  width:32px;height:32px; border:1px solid var(--border);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:12px; color:rgba(244,240,232,.3);
  text-decoration:none; transition:all .3s;
}
.ofx-sg-item:hover .ofx-sg-arr { border-color:var(--teal);color:var(--teal);transform:rotate(45deg); }

/* ── CTA BANNER ── */
.ofx-cta-wrap { padding:80px 0; background:var(--ink); }
.ofx-cta-inner {
  background:linear-gradient(135deg,#0d1f16,#0a1020 50%,#1a0d0a);
  border:1px solid var(--border); border-radius:20px;
  padding:80px; position:relative; overflow:hidden;
  display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center;
}
.ofx-cta-inner::before {
  content:''; position:absolute;
  width:400px;height:400px;
  background:radial-gradient(circle,rgba(201,168,76,.12) 0%,transparent 60%);
  top:-100px;right:-100px;
}
.ofx-cta-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(40px,5vw,64px); line-height:1.05;
  color:var(--cream); letter-spacing:-1px;
}
.ofx-cta-title .g { color:var(--gold); }
.ofx-cta-sub {
  font-size:15px; color:rgba(244,240,232,.5);
  margin-top:16px;
  font-style:italic; font-family:'Playfair Display',serif;
}

/* ── FAQ ── */
.ofx-faq-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:60px;
}
.ofx-faq-item {
  border:1px solid var(--border); border-radius:8px;
  overflow:hidden; transition:border-color .3s;
}
.ofx-faq-item.open { border-color:rgba(30,201,168,.4); }
.ofx-faq-q {
  padding:24px 28px; display:flex; justify-content:space-between;
  align-items:center; gap:16px; cursor:pointer;
  background:var(--card-bg); font-size:15px; font-weight:500;
  color:var(--cream); transition:background .3s;
}
.ofx-faq-q:hover { background:rgba(30,201,168,.04); }
.ofx-faq-tog {
  width:28px;height:28px; border:1px solid var(--border);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  flex-shrink:0; font-size:12px; color:var(--teal); transition:all .3s;
}
.ofx-faq-item.open .ofx-faq-tog { background:var(--teal);color:var(--ink);transform:rotate(45deg); }
.ofx-faq-a {
  max-height:0; overflow:hidden;
  transition:max-height .4s ease,padding .3s;
  font-size:14px; line-height:1.7;
  color:rgba(244,240,232,.55);
  padding:0 28px; background:rgba(10,10,15,.5);
}
.ofx-faq-a.open { max-height:200px;padding:20px 28px; }

/* ── PRICING TABLE ── */
.ofx-pricing-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:60px;
}
.ofx-price-card {
  background:var(--card-bg); border:1px solid var(--border);
  border-radius:16px; overflow:hidden; transition:all .4s;
  position:relative;
}
.ofx-price-card.featured {
  border-color:rgba(30,201,168,.5);
  background:linear-gradient(135deg,rgba(30,201,168,.08),rgba(201,168,76,.06));
}
.ofx-price-card:hover { transform:translateY(-8px); border-color:rgba(201,168,76,.4); box-shadow:0 40px 80px rgba(0,0,0,.3); }
.ofx-price-featured-badge {
  position:absolute; top:16px;right:16px;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  color:var(--ink); font-size:10px; letter-spacing:2px;
  text-transform:uppercase; padding:4px 12px; border-radius:20px;
  font-weight:700;
}
.ofx-price-head { padding:36px 32px 28px; border-bottom:1px solid var(--border); }
.ofx-price-name { font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--teal);margin-bottom:12px; }
.ofx-price-amount {
  font-family:'Bebas Neue',sans-serif; font-size:clamp(28px,3vw,40px);
  color:var(--gold); line-height:1;
}
.ofx-price-period { font-size:12px;color:rgba(244,240,232,.4);margin-top:4px; }
.ofx-price-body { padding:28px 32px; }
.ofx-price-list { list-style:none; display:flex;flex-direction:column;gap:10px; }
.ofx-price-list li {
  display:flex; align-items:flex-start; gap:10px;
  font-size:13px; color:rgba(244,240,232,.6);
}
.ofx-price-list li .check { color:var(--teal);font-size:11px;margin-top:2px; }
.ofx-price-list li .cross { color:rgba(244,240,232,.25);font-size:11px;margin-top:2px; }
.ofx-price-list li.off { opacity:.5; text-decoration:line-through; }
.ofx-price-cta { padding:0 32px 32px; }

/* ── PLATFORMS GRID ── */
.ofx-platforms-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:60px;
}
.ofx-platform-card {
  background:var(--card-bg); border:1px solid var(--border);
  border-radius:12px; padding:32px 24px; text-align:center;
  transition:all .4s;
}
.ofx-platform-card:hover { border-color:var(--border-t); transform:translateY(-4px); background:rgba(30,201,168,.04); }
.ofx-platform-card img { width:56px;height:56px;object-fit:contain;margin:0 auto 16px; }
.ofx-platform-card h4 { font-size:16px;font-weight:600;color:var(--cream);margin-bottom:6px; }
.ofx-platform-card p { font-size:12px;color:rgba(244,240,232,.4); }

/* ── SEO STATS BAND ── */
.ofx-seo-stats {
  display:grid; grid-template-columns:repeat(4,1fr); gap:2px;
  background:var(--border); border-radius:12px; overflow:hidden; margin-top:60px;
}
.ofx-seo-stat {
  background:#0a0a0f; padding:48px 32px; text-align:center;
}
.ofx-seo-stat-val {
  font-family:'Bebas Neue',sans-serif; font-size:56px;
  color:var(--teal); line-height:1;
}
.ofx-seo-stat-lbl { font-size:12px;color:rgba(244,240,232,.5);letter-spacing:2px;text-transform:uppercase;margin-top:8px; }

/* ── WHY CHOOSE US GRID ── */
.ofx-why-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:60px;
}
.ofx-why-card {
  background:var(--card-bg); border:1px solid var(--border);
  border-radius:12px; padding:36px; display:flex; gap:20px;
  transition:all .4s;
}
.ofx-why-card:hover { border-color:var(--border-t); background:rgba(30,201,168,.04); }
.ofx-why-icon {
  width:56px;height:56px; flex-shrink:0; border-radius:12px;
  background:linear-gradient(135deg,var(--teal-dark),rgba(30,201,168,.2));
  display:flex; align-items:center; justify-content:center;
}
.ofx-why-icon i { font-size:22px;color:var(--teal); }
.ofx-why-card h4 { font-size:17px;font-weight:600;color:var(--gold);margin-bottom:8px; }
.ofx-why-card p { font-size:13px;line-height:1.7;color:rgba(244,240,232,.55); }

/* ── ANIMATIONS ── */
@keyframes fadeUp {
  from{opacity:0;transform:translateY(30px);}
  to{opacity:1;transform:translateY(0);}
}
.ofx-reveal {
  opacity:0; transform:translateY(40px);
  transition:opacity .7s ease,transform .7s ease;
}
.ofx-reveal.vis { opacity:1;transform:translateY(0); }

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .ofx-features-grid,
  .ofx-stats-grid,
  .ofx-sg,
  .ofx-pricing-grid,
  .ofx-platforms-grid { grid-template-columns:repeat(2,1fr); }
  .ofx-service-block { grid-template-columns:1fr;gap:40px; }
  .ofx-service-block.rev { direction:ltr; }
  .ofx-faq-grid { grid-template-columns:1fr; }
  .ofx-events-grid { grid-template-columns:repeat(2,1fr); }
  .ofx-seo-stats { grid-template-columns:repeat(2,1fr); }
  .ofx-why-grid { grid-template-columns:1fr; }
  .ofx-cta-inner { grid-template-columns:1fr;padding:48px 40px;text-align:center; }
}
@media(max-width:640px){
  .ofx-hero-inner,.ofx-container { padding-left:20px;padding-right:20px; }
  .ofx-features-grid,.ofx-stats-grid,.ofx-sg,.ofx-pricing-grid,
  .ofx-platforms-grid,.ofx-seo-stats,.ofx-events-grid { grid-template-columns:1fr; }
  .ofx-cta-inner { padding:32px 24px; }
  .ofx-hero-btns { justify-content:center; }
}

/* ── LIGHT MODE HARD OVERRIDES ── */
[data-theme='light'] .ofx-hero {
  background: linear-gradient(135deg,#fdf9ef 0%,#edf7f4 52%,#f3f7ff 100%);
}

[data-theme='light'] .ofx-hero-grid {
  background-image:
    linear-gradient(rgba(155,119,34,.1) 1px, transparent 1px),
    linear-gradient(90deg,rgba(155,119,34,.1) 1px,transparent 1px);
}

[data-theme='light'] .ofx-hero-sub,
[data-theme='light'] .ofx-feat-card p,
[data-theme='light'] .ofx-event-meta span,
[data-theme='light'] .ofx-event-desc,
[data-theme='light'] .ofx-svc-desc,
[data-theme='light'] .ofx-badge-lbl,
[data-theme='light'] .ofx-stat-lbl,
[data-theme='light'] .ofx-sg-item p,
[data-theme='light'] .ofx-cta-sub,
[data-theme='light'] .ofx-faq-a,
[data-theme='light'] .ofx-price-period,
[data-theme='light'] .ofx-price-list li,
[data-theme='light'] .ofx-platform-card p,
[data-theme='light'] .ofx-seo-stat-lbl,
[data-theme='light'] .ofx-why-card p {
  color: rgba(30,36,49,.72);
}

[data-theme='light'] .ofx-btn-ghost {
  color: var(--cream);
  border-color: rgba(30,36,49,.2);
  background: rgba(255,255,255,.72);
}

[data-theme='light'] .ofx-feat-card:hover,
[data-theme='light'] .ofx-platform-card:hover,
[data-theme='light'] .ofx-why-card:hover,
[data-theme='light'] .ofx-faq-q:hover {
  background: rgba(11,143,121,.08);
}

[data-theme='light'] .ofx-events-grid .ofx-event-card,
[data-theme='light'] .ofx-feat-card,
[data-theme='light'] .ofx-event-card,
[data-theme='light'] .ofx-service-block,
[data-theme='light'] .ofx-platform-card,
[data-theme='light'] .ofx-price-card,
[data-theme='light'] .ofx-why-card,
[data-theme='light'] .ofx-faq-item {
  border-color: var(--border);
}

[data-theme='light'] .ofx-img-badge,
[data-theme='light'] .ofx-sg-item,
[data-theme='light'] .ofx-seo-stat,
[data-theme='light'] .ofx-stat-item,
[data-theme='light'] .ofx-faq-a {
  background: rgba(255,255,255,.9);
}

[data-theme='light'] .ofx-img-frame {
  background: linear-gradient(135deg,#f4f9f6,#f7f4ec);
}

[data-theme='light'] .ofx-img-frame img,
[data-theme='light'] .ofx-event-card img {
  opacity: .96;
}

[data-theme='light'] .ofx-sg,
[data-theme='light'] .ofx-stats-grid,
[data-theme='light'] .ofx-seo-stats {
  background: rgba(155,119,34,.12);
}

[data-theme='light'] .ofx-orb-1 {
  background: radial-gradient(circle,rgba(11,143,121,.16) 0%,transparent 72%);
}

[data-theme='light'] .ofx-orb-2 {
  background: radial-gradient(circle,rgba(155,119,34,.14) 0%,transparent 72%);
}

[data-theme='light'] .ofx-stats-bg {
  background: linear-gradient(135deg,#eef8f4,#f6f2ea);
}

[data-theme='light'] .ofx-cta-wrap {
  background: var(--ink);
}

[data-theme='light'] .ofx-cta-inner {
  background: linear-gradient(135deg,#eef8f4,#f3f7ff 52%,#f8f2e8);
}

[data-theme='light'] .ofx-sg-item {
  background: rgba(255,255,255,.9);
}

[data-theme='light'] .ofx-event-card,
[data-theme='light'] .ofx-price-card,
[data-theme='light'] .ofx-platform-card,
[data-theme='light'] .ofx-why-card,
[data-theme='light'] .ofx-feat-card,
[data-theme='light'] .ofx-faq-item {
  background: rgba(255,255,255,.86);
}

[data-theme='light'] .ofx-hero-title .ghost,
[data-theme='light'] .ofx-hero-title .ghost-t {
  color: transparent;
}

[data-theme='light'] .ofx-faq-q {
  background: rgba(255,255,255,.86);
  color: var(--cream);
}

[data-theme='light'] .ofx-faq-item.open .ofx-faq-tog {
  color: #fff;
}

[data-theme='light'] .ofx-price-card.featured {
  background: linear-gradient(135deg,rgba(11,143,121,.1),rgba(155,119,34,.08));
}