/* ============================================================
   Mining Global, Inc. — shared stylesheet (dark institutional)
   ============================================================ */
:root{
  --bg:#111316;            /* page background, near-black */
  --bg-deep:#0d0f11;       /* footer / deepest */
  --surface:#181b1f;       /* elevated panels */
  --ink:#ecebe5;           /* primary text, warm off-white */
  --body:#c6ccd2;          /* body copy */
  --slate:#9aa1a9;         /* secondary text */
  --slate-dim:#7e858d;     /* labels / tertiary */
  --bronze:#c08b54;        /* accent (brightened for dark) */
  --bronze-soft:#cf9d6c;
  --hairline:rgba(236,235,229,.12);
  --hairline-soft:rgba(236,235,229,.07);
  --serif:"Spectral",Georgia,serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}

/* ---------- Light theme ---------- */
[data-theme="light"]{
  --bg:#f7f6f2;
  --bg-deep:#eceae3;
  --surface:#ffffff;
  --ink:#191b1e;
  --body:#3a3f45;
  --slate:#5e656c;
  --slate-dim:#797f87;
  --bronze:#9a6a30;
  --bronze-soft:#845827;
  --hairline:rgba(22,24,27,.14);
  --hairline-soft:rgba(22,24,27,.07);
}
[data-theme="light"] .masthead{background:rgba(247,246,242,.9);}
[data-theme="light"] .assay{background:linear-gradient(180deg,rgba(22,24,27,.03),transparent);}
[data-theme="light"] .hero::before{
  background:
    repeating-radial-gradient(circle at 84% 16%, transparent 0 45px, rgba(154,106,48,.07) 45px 46px),
    repeating-radial-gradient(circle at 92% 32%, transparent 0 57px, rgba(22,24,27,.045) 57px 58px);
}
[data-theme="light"] .disclaimer{color:#6b7178;}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;}
body,.masthead,section,.assay,.market-card,.tv-frame,footer{transition:background-color .25s ease,border-color .25s ease,color .25s ease;}
.wrap{max-width:1080px;margin:0 auto;padding:0 32px;}

/* ---------- Masthead / nav ---------- */
.masthead{border-bottom:1px solid var(--hairline);background:rgba(17,19,22,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:sticky;top:0;z-index:20;}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;gap:24px;}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;}
.brand .mark{width:30px;height:30px;display:block;flex:0 0 auto;}
.brand .wordmark{font-weight:600;letter-spacing:.14em;font-size:13px;text-transform:uppercase;white-space:nowrap;color:var(--ink);}
.nav{display:flex;align-items:center;gap:30px;}
.nav a{
  text-decoration:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--slate);padding:4px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;
}
.nav a:hover{color:var(--ink);}
.nav a.active{color:var(--ink);border-bottom-color:var(--bronze);}
.nav .ticker{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--slate);}
.nav .ticker b{color:var(--bronze);font-weight:500;}
.nav-toggle{display:none;}

/* ---------- Theme toggle (sun / moon) ---------- */
.theme-toggle{margin-left:6px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--hairline);background:transparent;color:var(--slate);border-radius:50%;cursor:pointer;transition:color .2s,border-color .2s;flex:0 0 auto;}
.theme-toggle:hover{color:var(--ink);border-color:var(--bronze);}
.theme-toggle .ic{display:block;}
.theme-toggle .ic-moon{display:none;}
[data-theme="light"] .theme-toggle .ic-sun{display:none;}
[data-theme="light"] .theme-toggle .ic-moon{display:block;}

/* ---------- Hero ---------- */
.hero{padding:104px 0 72px;position:relative;overflow:hidden;}
.hero.compact{padding:84px 0 56px;}
.hero .wrap{position:relative;z-index:1;}
/* geological contour motif — abstract, decorative, top-right */
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    repeating-radial-gradient(circle at 84% 16%, transparent 0 45px, rgba(192,139,84,.055) 45px 46px),
    repeating-radial-gradient(circle at 92% 32%, transparent 0 57px, rgba(236,235,229,.03) 57px 58px);
  -webkit-mask-image:linear-gradient(100deg,transparent 34%,#000 92%);
          mask-image:linear-gradient(100deg,transparent 34%,#000 92%);
}
.eyebrow{
  font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--bronze);margin:0 0 28px;display:flex;align-items:center;gap:14px;
}
.eyebrow::after{content:"";height:1px;width:56px;background:var(--bronze);opacity:.55;}
.hero h1{
  font-family:var(--serif);font-weight:400;font-size:clamp(2.5rem,6vw,4.6rem);
  line-height:1.04;letter-spacing:-.015em;margin:0 0 28px;max-width:16ch;color:var(--ink);
}
.hero.compact h1{font-size:clamp(2.2rem,5vw,3.4rem);margin-bottom:20px;}
.lede{
  font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:1.5;color:var(--slate);max-width:46ch;margin:0;
}

/* ---------- Assay tag (signature) ---------- */
.assay{
  margin-top:52px;border:1px solid var(--hairline);
  background:linear-gradient(180deg,rgba(236,235,229,.035),transparent);
  display:grid;grid-template-columns:repeat(4,1fr);
}
.assay .cell{padding:20px 22px;border-right:1px solid var(--hairline);}
.assay .cell:last-child{border-right:none;}
.assay .k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate-dim);margin:0 0 8px;}
.assay .v{font-family:var(--mono);font-size:15px;letter-spacing:.02em;color:var(--ink);margin:0;}

/* ---------- Sections ---------- */
section{padding:72px 0;border-top:1px solid var(--hairline);}
section.plain{border-top:none;}
.section-label{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin:0 0 34px;}
.prose p{max-width:62ch;margin:0 0 22px;color:var(--body);}
.prose p:last-child{margin-bottom:0;}
.prose .strong-lede{font-family:var(--serif);font-size:1.32rem;line-height:1.5;color:var(--ink);max-width:54ch;}
.prose a{color:var(--bronze-soft);}

/* ---------- Gateway cards (home) ---------- */
.gateways{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--hairline);}
.gateways a{text-decoration:none;padding:34px 32px 38px;border-right:1px solid var(--hairline);display:block;transition:background .2s ease;}
.gateways a:last-child{border-right:none;}
.gateways a:hover{background:rgba(192,139,84,.07);}
.gateways .g-k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);margin:0 0 12px;}
.gateways .g-t{font-family:var(--serif);font-size:1.5rem;color:var(--ink);margin:0 0 10px;}
.gateways .g-d{font-size:14px;color:var(--slate);margin:0 0 18px;max-width:34ch;}
.gateways .g-arrow{font-family:var(--mono);font-size:13px;color:var(--bronze);}

/* ---------- Timeline (history) ---------- */
.timeline{border-top:1px solid var(--hairline);margin-top:8px;}
.tl-item{display:grid;grid-template-columns:150px 1fr;gap:40px;padding:34px 0;border-bottom:1px solid var(--hairline);}
.tl-year{font-family:var(--mono);font-size:15px;letter-spacing:.04em;color:var(--bronze);padding-top:4px;}
.tl-body h3{font-family:var(--serif);font-weight:500;font-size:1.32rem;margin:0 0 10px;color:var(--ink);}
.tl-body p{margin:0;max-width:56ch;color:var(--body);}

/* ---------- Corporate data table ---------- */
.record dl{margin:0;border-top:1px solid var(--hairline);}
.record .row{display:grid;grid-template-columns:minmax(190px,1fr) 2fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--hairline);align-items:baseline;}
.record dt{font-size:13px;letter-spacing:.02em;color:var(--slate);margin:0;}
.record dd{margin:0;font-family:var(--mono);font-size:15px;color:var(--ink);}
.record dd.plain{font-family:var(--sans);}

/* ---------- References ---------- */
.refs{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--hairline);}
.refs a{text-decoration:none;padding:30px 30px 34px;border-right:1px solid var(--hairline);display:block;transition:background .2s ease;}
.refs a:last-child{border-right:none;}
.refs a:hover{background:rgba(192,139,84,.07);}
.refs .ref-k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);margin:0 0 10px;}
.refs .ref-t{font-family:var(--serif);font-size:1.25rem;color:var(--ink);margin:0 0 6px;}
.refs .ref-d{font-size:13px;color:var(--slate);margin:0;}
.refs .ref-arrow{margin-top:16px;font-family:var(--mono);font-size:13px;color:var(--bronze);}

/* ---------- Contact ---------- */
.contact-block{background:var(--surface);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.contact-block .section-label{color:var(--bronze);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.contact-grid h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1;margin:0 0 10px;color:var(--ink);}
.contact-grid .lead-note{color:var(--slate);font-size:15px;max-width:34ch;margin:16px 0 0;}
.c-k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate-dim);margin:0 0 8px;}
.c-v{margin:0 0 26px;font-size:16px;color:var(--ink);line-height:1.55;}
a.mail,a.tel{font-family:var(--mono);color:var(--bronze-soft);text-decoration:none;border-bottom:1px solid rgba(207,157,108,.4);padding-bottom:2px;}
a.mail:hover,a.tel:hover{color:#e0b487;}

/* ---------- Footer ---------- */
footer{background:var(--bg-deep);color:var(--slate-dim);padding:44px 0 56px;border-top:1px solid var(--hairline);}
footer.attached{border-top:none;}
.disclaimer{font-size:12.5px;line-height:1.7;max-width:80ch;color:#868d95;margin:0 0 28px;}
.footer-line{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--slate-dim);border-top:1px solid var(--hairline);padding-top:22px;}
.footer-line a{text-decoration:none;color:var(--slate-dim);}
.footer-line a:hover{color:var(--bronze-soft);}

/* ---------- Home hero grid + market card ---------- */
.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:start;}
.hero-lead{min-width:0;}
.market-card{border:1px solid var(--hairline);background:var(--surface);padding:18px 18px 12px;}
.market-card__label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate-dim);margin:0 0 10px;}

/* ---------- TradingView frames (stock page) ---------- */
.tv-frame{border:1px solid var(--hairline);background:var(--surface);padding:12px;}
.tv-frame--tall{height:560px;}
.tv-frame--narrow{max-width:660px;}
.tradingview-widget-copyright{font-family:var(--mono);font-size:10px;letter-spacing:.04em;margin-top:8px;}
.tradingview-widget-copyright a{color:var(--slate-dim);text-decoration:none;}
.tradingview-widget-copyright a:hover{color:var(--bronze-soft);}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px;}

/* ---------- Responsive ---------- */
@media (max-width:820px){
  .nav{gap:18px;}
  .nav a{font-size:11px;letter-spacing:.08em;}
}
@media (max-width:680px){
  .wrap{padding:0 22px;}
  .masthead .wrap{height:auto;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;gap:14px;}
  .nav{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:16px;}
  .assay{grid-template-columns:1fr 1fr;}
  .assay .cell:nth-child(2){border-right:none;}
  .assay .cell:nth-child(1),.assay .cell:nth-child(2){border-bottom:1px solid var(--hairline);}
  .record .row{grid-template-columns:1fr;gap:4px;}
  .gateways,.refs,.contact-grid{grid-template-columns:1fr;}
  .gateways a,.refs a{border-right:none;border-bottom:1px solid var(--hairline);}
  .gateways a:last-child,.refs a:last-child{border-bottom:none;}
  .tl-item{grid-template-columns:1fr;gap:8px;}
  .hero{padding:64px 0 48px;}
  .hero-grid{grid-template-columns:1fr;gap:30px;}
  .tv-frame--tall{height:440px;}
}
@media (max-width:980px) and (min-width:681px){
  .hero-grid{grid-template-columns:1.3fr 1fr;gap:32px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
}
