/* MoneyMines Group public site — scoped to body.mm-group */
.mm-group { --gp-purple: #0e5a27; --gp-purple-2: #1C8938; --gp-green: #1C8938; --gp-head: #0b3d1c; --gp-ink: #1a221c; --gp-muted: #5f6d64; --gp-line: #e1ebe3; --gp-soft: #f3f8f4; background: #fff; }
.gp-main { padding: 76px 0 0; color: var(--gp-ink); font-family: 'Open Sans', sans-serif; }
.gp-wrap { width: min(1160px, 92%); margin: 0 auto; }
.mm-group .gp-main h1, .mm-group .gp-main h2, .mm-group .gp-main h3 { font-family: Poppins, sans-serif; color: var(--gp-head) !important; }

/* Sub navigation */
.gp-subnav { position: sticky; top: 70px; z-index: 20; background: rgba(255,255,255,.96); backdrop-filter: blur(6px); border-bottom: 1px solid var(--gp-line); }
.gp-subnav .gp-wrap { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; padding: 8px 0; }
.gp-subnav .gp-wrap::-webkit-scrollbar { display: none; }
.gp-subnav a { flex: 0 0 auto; padding: 7px 13px; border-radius: 999px; font-size: .86rem; font-weight: 600; color: var(--gp-muted); text-decoration: none; transition: background .2s, color .2s; }
.gp-subnav a:hover { background: var(--gp-soft); color: var(--gp-purple); }
.gp-subnav a.active { background: var(--gp-purple); color: #fff; }

/* Hero */
.gp-hero { position: relative; overflow: hidden; color: #fff; padding: clamp(56px, 9vw, 110px) 0 clamp(48px, 7vw, 90px);
  background: radial-gradient(1100px 500px at 85% -10%, rgba(120,214,120,.35), transparent 60%), radial-gradient(800px 460px at -10% 110%, rgba(91,26,140,.30), transparent 60%), linear-gradient(135deg, #04240f 0%, #0b4a22 55%, #06301a 100%); }
.gp-hero::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px); background-size: 22px 22px; pointer-events: none; }
.gp-hero .gp-wrap { position: relative; z-index: 1; }
.mm-group .gp-hero h1, .mm-group .gp-hero h2 { color: #fff !important; }
.gp-hero h1 { font-size: clamp(2rem, 5vw, 3.4rem); font-weight: 700; line-height: 1.12; margin: 0 0 14px; max-width: 18ch; }
.gp-hero p.lead { font-size: clamp(1rem, 1.6vw, 1.2rem); color: rgba(255,255,255,.86); max-width: 60ch; margin: 0 0 26px; }
.gp-eyebrow { display: inline-block; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: #9fe3a1; margin-bottom: 12px; }
.gp-hero-split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.gp-orbit { position: relative; width: min(440px, 100%); aspect-ratio: 1; margin-left: auto; }
.gp-orbit-ring { position: absolute; inset: 14%; border: 2px dashed rgba(255,255,255,.22); border-radius: 50%; animation: gp-spin 60s linear infinite; }
.gp-orbit-core { position: absolute; inset: 34%; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  background: radial-gradient(circle at 30% 30%, #2aa84c, #0b4a22); border: 1px solid rgba(255,255,255,.25); box-shadow: 0 0 0 10px rgba(255,255,255,.05), 0 20px 50px rgba(0,0,0,.4); }
.gp-orbit-core strong { font-family: Poppins, sans-serif; font-size: 1.15rem; color: #fff; }
.gp-orbit-core span { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: #9fe3a1; }
.gp-orbit-node { position: absolute; width: 132px; padding: 12px 10px; border-radius: 16px; text-align: center; text-decoration: none; color: #fff !important;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(8px); transform: translate(-50%, -50%); transition: transform .2s, background .2s; }
.gp-orbit-node:hover { background: rgba(255,255,255,.16); transform: translate(-50%, -54%); }
.gp-orbit-node i { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 12px; background: var(--c); font-size: 1.1rem; margin-bottom: 6px; }
.gp-orbit-node strong { display: block; font-size: .92rem; }
.gp-orbit-node span { display: block; font-size: .72rem; color: rgba(255,255,255,.7); }
.gp-orbit-node--0 { left: 50%; top: 9%; }
.gp-orbit-node--1 { left: 91%; top: 50%; }
.gp-orbit-node--2 { left: 50%; top: 91%; }
.gp-orbit-node--3 { left: 9%; top: 50%; }
@media (max-width: 600px) {
  .gp-orbit-node { width: 96px; padding: 8px 6px; border-radius: 12px; }
  .gp-orbit-node span { display: none; }
  .gp-orbit-node i { width: 30px; height: 30px; font-size: .95rem; }
  .gp-orbit-node--0 { top: 12%; } .gp-orbit-node--1 { left: 84%; } .gp-orbit-node--2 { top: 88%; } .gp-orbit-node--3 { left: 16%; }
  .gp-orbit-core strong { font-size: .95rem; }
}
@keyframes gp-spin { to { transform: rotate(360deg); } }
@media (max-width: 900px) { .gp-hero-split { grid-template-columns: minmax(0, 1fr); } .gp-orbit { margin: 10px auto 0; width: min(360px, 100%); } .gp-orbit-node { width: 112px; } }
@media (prefers-reduced-motion: reduce) { .gp-orbit-ring { animation: none; } }
.gp-hero--sm { padding: 48px 0 40px; }
.gp-hero--sm h1 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); max-width: none; }

/* Buttons */
.gp-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 999px; font-weight: 700; font-size: .95rem; text-decoration: none; border: 2px solid transparent; cursor: pointer; transition: transform .15s, background .2s, color .2s, border-color .2s; }
.gp-btn:hover { transform: translateY(-1px); }
.gp-btn--primary { background: var(--gp-green); color: #fff !important; }
.gp-btn--primary:hover { background: #10662A; color: #fff !important; }
.gp-btn--ghost { border-color: rgba(255,255,255,.55); color: #fff !important; background: transparent; }
.gp-btn--ghost:hover { background: #fff; color: var(--gp-purple) !important; }
.gp-btn--outline { border-color: var(--gp-purple); color: var(--gp-purple) !important; background: #fff; }
.gp-btn--outline:hover { background: var(--gp-purple); color: #fff !important; }
.gp-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Sections */
.gp-section { padding: clamp(48px, 7vw, 84px) 0; }
.gp-section--soft { background: var(--gp-soft); }
.gp-section-head { max-width: 720px; margin: 0 0 32px; }
.gp-section-head h2 { font-size: clamp(1.5rem, 3vw, 2.15rem); margin: 0 0 10px; font-weight: 700; }
.gp-section-head p { color: var(--gp-muted); margin: 0; font-size: 1.02rem; }
.gp-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.gp-grid--2 { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }

/* Cards */
.gp-card { background: #fff; border: 1px solid var(--gp-line); border-radius: 18px; padding: 24px; box-shadow: 0 6px 24px rgba(14,90,39,.05); transition: transform .2s, box-shadow .2s; }
.gp-card:hover { transform: translateY(-3px); box-shadow: 0 14px 36px rgba(14,90,39,.10); }
.gp-card h3 { font-size: 1.12rem; margin: 10px 0 6px; font-weight: 700; }
.gp-card p { color: var(--gp-muted); margin: 0; font-size: .95rem; }
.gp-icon { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-size: 1.35rem; color: #fff; background: var(--gp-purple); }

.gp-biz { position: relative; display: flex; flex-direction: column; text-decoration: none; color: inherit; border-top: 4px solid var(--c, var(--gp-purple)); }
.gp-biz .gp-icon { background: var(--c, var(--gp-purple)); }
.gp-biz .gp-domain { font-size: .8rem; color: var(--gp-muted); font-weight: 600; margin-top: 2px; }
.gp-biz .gp-more { margin-top: auto; padding-top: 14px; font-weight: 700; color: var(--c, var(--gp-purple)); font-size: .9rem; }

.gp-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.gp-list li { position: relative; padding-left: 26px; color: var(--gp-ink); }
.gp-list li::before { content: "\f26a"; font-family: bootstrap-icons; position: absolute; left: 0; top: 0; color: var(--gp-green); }

.gp-note { border-left: 4px solid var(--gp-purple); background: #eef7f0; padding: 14px 16px; border-radius: 10px; color: #1f3d28; font-size: .92rem; }
.gp-tag { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: .75rem; font-weight: 700; background: #eef7f0; color: var(--gp-green); }
.gp-tag--muted { background: #f0f0f3; color: #666; }

/* Stats-free "pillars" band */
.gp-band { background: linear-gradient(90deg, #1C8938, #10662A); color: #fff; }
.gp-band .gp-card { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); box-shadow: none; }
.mm-group .gp-band .gp-card h3, .mm-group .gp-band h2 { color: #fff !important; }
.gp-band .gp-card p { color: rgba(255,255,255,.85); }
.gp-band .gp-icon { background: rgba(255,255,255,.18); }

/* Ecosystem diagram */
.gp-eco { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 28px; align-items: center; }
.gp-eco svg { width: 100%; height: auto; display: block; }
.gp-eco .node { cursor: pointer; outline: none; }
.gp-eco .node circle { transition: transform .2s, filter .2s; transform-box: fill-box; transform-origin: center; }
.gp-eco .node:hover circle, .gp-eco .node:focus circle, .gp-eco .node.active circle { transform: scale(1.08); filter: drop-shadow(0 8px 16px rgba(0,0,0,.25)); }
.gp-eco .link { stroke: #cfd8d2; stroke-width: 2; stroke-dasharray: 6 6; transition: stroke .2s; }
.gp-eco .link.hot { stroke: var(--gp-green); stroke-width: 3; stroke-dasharray: none; }
.gp-eco-panel { min-height: 260px; }
.gp-eco-panel h3 { margin-top: 0; }

/* Timeline */
.gp-timeline { position: relative; display: grid; gap: 18px; padding-left: 26px; }
.gp-timeline::before { content: ""; position: absolute; left: 8px; top: 4px; bottom: 4px; width: 2px; background: linear-gradient(var(--gp-green), var(--gp-purple)); }
.gp-tl-year { position: relative; }
.gp-tl-year::before { content: ""; position: absolute; left: -24px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid var(--gp-purple); }
.gp-tl-year h3 { margin: 0 0 10px; font-size: 1.3rem; }

/* Forms */
.gp-form { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.gp-form .full { grid-column: 1 / -1; }
.gp-form label { display: block; font-weight: 600; font-size: .88rem; margin-bottom: 5px; color: var(--gp-ink); }
.gp-form input, .gp-form select, .gp-form textarea { width: 100%; border: 1.5px solid var(--gp-line); border-radius: 12px; padding: 11px 13px; font-size: .95rem; background: #fff; transition: border-color .2s, box-shadow .2s; }
.gp-form input:focus, .gp-form select:focus, .gp-form textarea:focus { outline: none; border-color: var(--gp-purple); box-shadow: 0 0 0 3px rgba(14,90,39,.12); }
.gp-form .gp-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: .88rem; color: var(--gp-muted); }
.gp-form .gp-check input { width: auto; margin-top: 3px; }
.gp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.gp-alert { border-radius: 12px; padding: 14px 18px; margin-bottom: 16px; }
.gp-alert ul { margin: 0; padding-left: 18px; }
.gp-alert--error { background: #fff0f0; color: #a61e1e; border: 1px solid #f5c2c2; }
.gp-alert--ok { background: #ecfbef; color: #10662A; border: 1px solid #b9e8c3; }

/* Leaders & updates */
.gp-person { text-align: center; }
.gp-person img, .gp-avatar { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; margin: 0 auto 10px; display: grid; place-items: center; background: #e6f3e9; color: var(--gp-purple); font-size: 2rem; font-weight: 700; font-family: Poppins, sans-serif; }
.gp-person .gp-role { color: var(--gp-green); font-weight: 700; font-size: .88rem; }
.gp-article { max-width: 760px; }
.gp-article p { font-size: 1.04rem; line-height: 1.75; color: #2b332e; }
.gp-meta { color: var(--gp-muted); font-size: .85rem; }

.gp-disclaimer { background: #f7faf8; border-top: 1px solid var(--gp-line); padding: 18px 0; }
.gp-disclaimer p { margin: 0; font-size: .8rem; color: #777; }

@media (max-width: 860px) {
  .gp-eco { grid-template-columns: 1fr; }
  .gp-subnav { top: 60px; }
}
@media (prefers-reduced-motion: reduce) {
  .gp-card, .gp-btn, .gp-eco .node circle { transition: none; }
}
