/* Bapy Mining — local presentation layer over Bulma. */
:root {
  --ink:#202d3d; --muted:#617083; --paper:#f6f8fb; --accent:#485691;
  --line:#e2e7ee; --dark:#172c3b; --site-header-height:118px;
  --bulma-primary-h:228; --bulma-primary-s:34%; --bulma-primary-l:43%;
  --bulma-family-primary:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --bulma-body-color:var(--ink); --bulma-body-background-color:#fff;
  --bulma-link-text:var(--accent); --bulma-radius:6px; --bulma-radius-large:10px;
}
html {scroll-behavior:smooth;scroll-padding-top:calc(var(--site-header-height) + 20px)}
body {font-family:var(--bulma-family-primary);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}
a {color:inherit} a:hover {color:var(--accent)} p {margin-bottom:1rem}
button {font-family:inherit} button,a {-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible,input:focus-visible {outline:3px solid #7b89bf;outline-offset:4px}
h1,h2,h3 {color:var(--ink);font-weight:650;line-height:1.25;letter-spacing:-.025em}
h1 {font-size:clamp(1.9rem,3vw,2.6rem)} h2 {font-size:clamp(1.5rem,2.3vw,1.9rem);margin-bottom:24px} h3 {font-size:1.15rem}
.container {width:calc(100% - 80px);max-width:1200px!important}
.column {min-width:0} .section {padding:56px 0} .section-muted {background:var(--paper)}
.eyebrow {font-size:.69rem;line-height:1.5;letter-spacing:.1em;font-weight:600;color:var(--muted);margin-bottom:14px}
.intro,.lead {font-size:1.05rem;color:var(--muted);max-width:780px;line-height:1.75}
.content {font-size:1rem;line-height:1.8} .content p,.content p:last-child {margin-bottom:16px}
.reading {max-width:830px} .note {font-size:.81rem;color:var(--muted);max-width:900px;line-height:1.7}
/* The complete header stays fixed in its scrolling position. */
.site-masthead {position:sticky;top:0;z-index:30;background:#fff;view-transition-name:site-masthead}
.topline {background:var(--dark);color:#e8eeee;font-size:.61rem;letter-spacing:.065em;padding:8px 0}
.topline .container {display:flex;align-items:center;justify-content:space-between;gap:12px}
.site-header {border-bottom:1px solid var(--line)} .navbar {min-height:84px;background:transparent}
.navbar-brand {align-items:center} .navbar-item {color:var(--ink);font-size:.79rem;font-weight:550;padding:.5rem .75rem}
.navbar-menu .navbar-item:hover {background:#f6f7fb;color:var(--accent)}
.navbar-menu .navbar-item[aria-current] {box-shadow:inset 0 -2px var(--accent);color:var(--accent)}
.navbar-item.brand,.navbar-item.brand:hover,.navbar-item.brand:focus,.navbar-item.brand:active {background:transparent;box-shadow:none;border:0;text-decoration:none}
.brand {gap:14px;padding-left:0!important;font-family:Arial,Helvetica,sans-serif;transform:translateZ(0)}
.brand img {display:block;max-height:48px!important;width:48px;height:45px;object-fit:contain;flex:none;border:0;box-shadow:none;filter:none}
.brand span {font-size:1.18rem;font-weight:700;line-height:1.15;letter-spacing:.06em}
.brand strong {font-weight:400;color:inherit} .brand small {display:block;font-size:.44rem;letter-spacing:.12em;margin-top:7px}
.brand::before,.brand::after {content:none!important} .contact-link {color:var(--accent)}
.skip-link {position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px}.skip-link:focus {top:12px}
/* Existing photography and brand typography, with a quieter surrounding layout. */
.home-hero {display:flex;flex-direction:column;position:relative;min-height:390px;overflow:hidden;background:var(--dark);color:white}
.hero-photo,.hero-shade {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-photo {object-position:center 58%}
.hero-shade {background:linear-gradient(90deg,rgba(10,28,39,.62),rgba(10,28,39,.28) 55%,rgba(10,28,39,.06)),linear-gradient(0deg,rgba(10,28,39,.55),transparent 40%)}
.hero-content {position:relative;display:flex;flex-direction:column;flex:1;min-height:inherit;padding-top:60px;padding-bottom:16px}
.home-hero .eyebrow {color:#e1e7f4}
.home-hero h1.company-name {font-family:Arial,Helvetica,sans-serif;font-size:clamp(2rem,4.2vw,3.5rem);font-weight:700;letter-spacing:.06em;line-height:1.2;color:white;margin-bottom:24px}
.company-name span {font-weight:400} .home-hero p:not(.eyebrow) {color:#fff;font-size:1.05rem;line-height:1.7}
.facts {background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.facts-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;padding:30px 0}
.facts-grid>div {padding-right:26px;border-right:1px solid var(--line)}.facts-grid>div:last-child {border:0}
.facts strong {display:block;font-size:1.8rem;line-height:1.4;letter-spacing:-.03em;font-weight:650;color:var(--ink)}
.facts span {display:block;margin-top:6px;font-size:.78rem;color:var(--muted)}
/* Controls use one accent, with no default raised button shadows. */
.button {min-height:44px;height:auto;padding:.65rem 1.1rem;border:1px solid #dbe1ea;border-radius:6px;background:#fff;color:var(--ink);font-size:.85rem;font-weight:550;white-space:normal;box-shadow:none;gap:16px}
.button:hover {border-color:#aab5ce;background:#f5f7fc;color:var(--accent)} .button:disabled {opacity:.45}
.button.is-primary {background:var(--accent);border-color:var(--accent);color:#fff}
.button.is-primary:hover {background:#394778;color:#fff}
.text-link {display:inline-block;font-size:.88rem;font-weight:550;color:var(--accent);text-decoration:underline;text-decoration-color:#c5ccdf;text-underline-offset:5px;margin-top:14px;padding-bottom:3px}
.info-links {display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.info-links a {font-size:.9rem;color:var(--accent);text-decoration:underline;text-decoration-color:#c5ccdf;text-underline-offset:5px}
.page-lead {background:var(--paper);padding:40px 0;border-bottom:1px solid var(--line)}
.page-lead h1 {margin-bottom:16px}.page-lead .lead {margin-bottom:0}.page-lead .eyebrow {color:var(--accent)}
.page-jump {display:flex;gap:10px;flex-wrap:wrap;padding-top:24px}.page-jump .button {background:var(--paper);border-color:transparent}
.deposit-meta {display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;padding-bottom:20px;margin-bottom:20px!important;border-bottom:1px solid var(--line)}
.deposit-meta p {font-size:.92rem;color:var(--muted);margin:0!important}.deposit-meta b {font-weight:550;color:var(--ink)}
/* Data tables: open rows, soft rules and consistent numeric alignment. */
.table-container {max-width:100%;overflow-x:auto;margin:24px 0 30px;background:#fff;border:1px solid var(--line);border-radius:10px;scrollbar-width:thin;scrollbar-color:#bbc4d6 transparent}
.data-table {width:100%;margin:0!important;background:#fff;color:var(--ink);font-size:.89rem;border-collapse:separate;border-spacing:0}
.data-table caption {caption-side:top;text-align:left;padding:20px 24px;background:#fff;color:var(--ink);font-size:.94rem;font-weight:600;line-height:1.55;border-bottom:1px solid var(--line)}
.data-table th,.data-table td {padding:15px 24px;border:0;border-bottom:1px solid #edf0f5;vertical-align:top;line-height:1.6}
.data-table thead th {background:#f7f9fc;color:#59687c;font-size:.76rem;line-height:1.5;font-weight:550;border-bottom:1px solid var(--line);vertical-align:middle}
.data-table tbody tr:last-child>td {border-bottom:0}
.data-table th.numeric,.data-table td.numeric {text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.data-table td.numeric {font-weight:550;color:#283b59}
.data-table tbody tr:not(.origin-row):not(.category-row):not(.table-note):hover>td {background:#fafbfe}
.data-table .table-note td {font-size:.76rem;color:var(--muted);background:#fafbfc;line-height:1.7;padding-top:12px;padding-bottom:12px}
.data-table .table-note p {margin:0}.data-table .table-note b {font-weight:500}
.property-table td:first-child,.spec-table td:first-child {width:66%;color:#4e5b6e}
.property-table td:last-child,.spec-table td:last-child {font-weight:550}
.property-table td:last-child {min-width:150px}
.distance-table .origin-row td {padding-top:20px;padding-bottom:10px;background:#fff;color:var(--accent);font-size:.81rem;font-weight:650;border-bottom:1px solid #e6eaf3}
.distance-table .category-row td {padding-top:12px;padding-bottom:6px;color:#7b8595;background:#fff;font-size:.74rem;border-bottom:0}
.distance-table .category-row b {font-weight:500;color:inherit}
.distance-table td:first-child {width:73%}.distance-table td {padding-top:10px;padding-bottom:10px}
.wide-table {min-width:850px}.wide-table th,.wide-table td {padding:13px 16px;font-size:.81rem}
.wide-table thead tr:first-child th[colspan] {background:#eef2f8;text-align:center;font-weight:600;color:#485a77}
.scroll-hint {display:none;font-size:.76rem;color:var(--muted);margin-bottom:8px}
.product-intro {max-width:900px}.product-notes {font-size:.84rem;color:var(--muted);max-width:880px}.product-notes p {margin-bottom:8px}
/* Reports retain compact, keyboard-accessible quarter tabs. */
.report-navigation {padding-top:28px}.report-meta {display:flex;flex-wrap:wrap;gap:12px 24px;color:var(--muted);font-size:.83rem}.report-meta span {margin-left:auto}
.report-tabs {margin:20px 0 0}.report-tabs ul {border-bottom:1px solid var(--line)}
.report-tabs a {min-height:48px;padding:12px 24px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:.9rem;border-radius:0}
.report-tabs a:hover {color:var(--accent);border-bottom-color:#c6cee2;background:#fafbfe}
.report-tabs li.is-active a {color:var(--accent);font-weight:600;border-bottom-color:var(--accent);background:transparent}
.section.report-panel {padding:26px 0 48px}.report-panel>.container>.eyebrow {display:none}.report-panel h2 {font-size:1.12rem;letter-spacing:0;margin-bottom:18px}
.report-panel .table-container {margin-top:0}.report-panel .data-table caption {display:none}
.report-table th:first-child,.report-table td:first-child {width:46%}.report-table .unit-cell {color:var(--muted);font-size:.82rem;white-space:nowrap}
.report-table td:last-child {color:var(--accent);font-weight:650}.report-table th:not(:first-child) {white-space:nowrap}
.report-panel .text-link {margin-top:0;font-size:.81rem}.report-panel:not([hidden]) {animation:report-appear .18s ease-out}
@keyframes report-appear {from{opacity:.65}to{opacity:1}}
/* Diagrams and original photography remain local assets. */
.diagram {display:block;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;padding:18px}
.diagram img {display:block;width:100%;height:auto;max-height:680px;object-fit:contain}
.diagram span {display:block;margin-top:12px;text-align:right;font-size:.79rem;color:var(--accent)}
#logistics .columns>.column>.table-container {margin-top:0}
.video-details {border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-top:24px}
.video-details summary {cursor:pointer;font-weight:550;font-size:.94rem}.video-details video {display:block;width:100%;height:auto;background:var(--dark);margin-top:18px;border-radius:6px}
.gallery-jump .button {font-size:.78rem}.gallery-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery-item {display:block;overflow:hidden;background:#fff;border-radius:8px;border:1px solid var(--line)}
.gallery-item img {display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:filter .2s}.gallery-item:hover img {filter:brightness(.9)}
.gallery-item>span {display:flex;justify-content:space-between;padding:10px 14px;font-size:.75rem;color:var(--muted)}
/* Route selection is highlighted with the same brand accent as the controls. */
.route-map-frame {margin-top:22px;padding:12px;overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:10px}
#route-map {display:block;width:100%;height:auto;min-width:560px;aspect-ratio:665/380}
#route-map .area.route-selected {visibility:visible;stroke:var(--accent);stroke-width:4px;fill:none;stroke-linecap:round;stroke-linejoin:round}
.route-control {width:68px;text-align:center}.route-control input {width:20px;height:20px;vertical-align:middle;cursor:pointer;accent-color:var(--accent)}
.data-table td.route-control {padding:16px 24px}.route-help {font-size:.86rem;color:var(--muted);margin-top:28px}
#route-explorer .wide-table {min-width:760px}#route-explorer tbody tr:has(input:not(:disabled)) {cursor:pointer}
#route-explorer .route-selected-row td,#route-explorer .route-selected-row:hover td {background:#eff2fb}
#route-explorer .route-selected-row td:first-child {box-shadow:inset 3px 0 var(--accent)}
.route-actions {display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px}.route-actions p {flex:1;min-width:200px;font-size:.8rem;color:var(--muted);margin:0}
/* Contact information, with email rendered as local vector outlines. */
.contact-section {background:var(--dark);color:#fff}.contact-section h2,.contact-section .intro {color:#fff}.contact-section .eyebrow {color:#c6d0e5}
.contact-section address {font-style:normal;color:#d4dfe2;margin-bottom:20px}.contact-section a,.contact-section .text-link {color:#e1e7f4}.contact-section a:hover {color:#fff}
.contact-section strong,.home-hero strong {color:inherit}.email-link {display:block;padding-bottom:22px;margin-bottom:20px;border-bottom:1px solid #ffffff30}
.phones {display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;font-size:.9rem}
.email-image-small {display:flex;align-items:center;flex-shrink:0}.email-image-small img {display:block;width:84px;height:auto}
.email-image-footer {display:block;margin-bottom:10px}.email-image-footer img {display:block;width:120px;height:auto}
.email-label,.email-hint {display:block;letter-spacing:0;color:#d4dfe2}.email-label {font-size:.83rem;margin-bottom:7px}.email-hint {font-size:.76rem;margin-top:12px}
.email-image-contact {display:block;width:220px;max-width:100%;height:auto}
.footer {background:var(--paper);padding:40px 0 20px;font-size:.8rem}.footer-grid {display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px}
.footer-grid a {display:block;margin-bottom:10px}.footer-brand {font-family:Arial,Helvetica,sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:.06em}.footer p {color:var(--muted)}
.footer-bottom {display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:30px;padding-top:20px;font-size:.73rem;color:var(--muted)}
[hidden] {display:none!important}
.navbar-menu a,.button,.text-link,.info-links a,.report-tabs a {transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
@view-transition {navigation:auto}
::view-transition-old(root),::view-transition-new(root) {animation-duration:.16s}
::view-transition-old(site-masthead),::view-transition-new(site-masthead) {animation:none;mix-blend-mode:normal}
@media(min-width:1024px) and (max-width:1250px) {
 .container {width:calc(100% - 48px)}.navbar-item {font-size:.73rem;padding:.5rem .45rem}.brand span {font-size:1rem}.brand {gap:10px}
}
@media(max-width:1023px) {
 :root {--site-header-height:110px}.container {width:calc(100% - 48px)}
 .navbar {display:block;min-height:76px}.navbar-brand {min-height:76px}
 .navbar-burger {display:none}.js .navbar-burger {display:block;margin-left:auto;width:60px;height:76px;color:var(--ink)}
 .navbar-menu {display:block;box-shadow:none;border-top:1px solid var(--line);padding:12px 0}
 .js .navbar-menu {display:none}.js .navbar-menu.is-active {display:block}
 .navbar-menu.is-active {max-height:calc(100dvh - var(--site-header-height));overflow-y:auto}
 .navbar-item {font-size:.9rem;padding:12px 0}.navbar-menu .navbar-item[aria-current] {box-shadow:none;color:var(--accent)}
 .home-hero {min-height:370px}.hero-content {padding-top:50px}.phones {grid-template-columns:1fr}.section {padding:44px 0}
 .scroll-hint {display:block}.wide-table {min-width:850px}
}
@media(max-width:600px) {
 .container {width:calc(100% - 36px)}.section {padding:34px 0}.page-lead {padding:28px 0}.page-lead h1 {font-size:1.8rem}
 .eyebrow {font-size:.64rem}.content {font-size:.94rem;line-height:1.75}.intro,.lead {font-size:.97rem}
 .topline {font-size:.49rem;letter-spacing:.025em}.topline .container {gap:8px}.email-image-small img {width:72px}
 .brand {gap:10px}.brand span {font-size:1rem}.brand small {font-size:.41rem}.brand img {width:38px;height:36px}
 .home-hero {min-height:350px}.hero-content {padding-top:40px;padding-bottom:14px}.home-hero h1.company-name {font-size:2rem}
 .home-hero p:not(.eyebrow) {font-size:.95rem}.hero-photo {object-position:62% center}
 .hero-shade {background:linear-gradient(90deg,rgba(10,28,39,.62),rgba(10,28,39,.25))}
 .facts-grid {grid-template-columns:1fr;gap:16px;padding:22px 0}.facts-grid>div {display:flex;align-items:center;gap:18px;padding:0 0 14px;border:0;border-bottom:1px solid var(--line)}.facts-grid>div:last-child {padding:0}
 .facts strong {font-size:1.45rem;min-width:130px}.facts span {font-size:.74rem;margin:0}.deposit-meta {grid-template-columns:1fr;gap:14px}
 .table-container {margin:20px 0 24px;border-radius:8px}.data-table {font-size:.82rem;min-width:0}.data-table caption {padding:16px;font-size:.87rem}
 .data-table th,.data-table td {padding:12px 14px}.data-table thead th {font-size:.7rem}
 .property-table td:last-child {min-width:0;width:36%}.property-table td.numeric {white-space:normal}
 .spec-table td:first-child,.property-table td:first-child {width:65%}.distance-table td:first-child {width:73%}
 .data-table .table-note td {font-size:.72rem}.wide-table {min-width:850px}.wide-table th,.wide-table td {padding:12px 14px}
 .report-meta {gap:6px;flex-direction:column}.report-meta span {margin-left:0}.report-tabs li {flex:1}.report-tabs a {justify-content:center;padding:12px 16px}
 .report-panel h2 {font-size:1rem}.section.report-panel {padding:22px 0 34px}
 /* Each mobile report row keeps all three comparison fields together. */
 .report-table {display:block;width:100%}.report-table tbody {display:block}.report-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .report-table tbody tr {display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px 12px;padding:17px 16px;border-bottom:1px solid var(--line)}
 .report-table tbody tr:last-child {border-bottom:0}.report-table tbody td {display:block;width:auto!important;padding:0;border:0!important;font-size:.86rem}
 .report-table tbody td:first-child {grid-column:1/-1;font-weight:600;color:var(--ink);padding-bottom:2px}
 .report-table tbody td:not(:first-child)::before {display:block;content:attr(data-label);font-size:.65rem;font-weight:400;color:var(--muted);margin-bottom:3px}
 .report-table tbody td.numeric {text-align:right}.report-table tbody td.unit-cell {font-size:.79rem}
 .report-table tbody tr:hover>td {background:transparent!important}
 .gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-item>span {padding:8px 10px}
 .gallery-jump {gap:8px}.gallery-jump .button {font-size:.74rem;padding:.6rem .8rem}.diagram {padding:10px}
 .footer-grid {grid-template-columns:1fr;gap:20px}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto}*,*::before,*::after {animation:none!important;transition:none!important}
 @view-transition {navigation:none}
}
@media print {
 .site-masthead,.footer,.skip-link,.page-jump,.video-details,.hero-photo,.hero-shade,.glightbox-container,.route-actions button,.route-help {display:none!important}
 .container {width:100%;max-width:none!important}.section,.page-lead {padding:20px 0;background:white!important;color:black!important}
 .table-container {overflow:visible;border:0}.data-table {min-width:0;font-size:9pt}.data-table th,.data-table td {padding:6px}.data-table tr {break-inside:avoid}
 h1,h2,h3 {break-after:avoid}.contact-section h2,.contact-section .intro,.contact-section address {color:black}
 .home-hero {min-height:0;background:white}.hero-content {padding:20px 0}.home-hero h1,.home-hero p {color:black!important}
 .route-control,.scroll-hint,a[href$=".csv"] {display:none!important}#route-map {min-width:0}.route-map-frame {overflow:visible}
}
.footer-brand{display:inline-block!important;width:80px;margin-bottom:16px!important}
.footer-brand img{display:block;width:80px;height:auto}
.footer-grid>div:first-child{text-align:center}
.footer-grid>div:first-child .footer-brand{display:block!important;margin-left:auto;margin-right:auto}
/* Subtle classification columns in the mineral resource comparison. */
#exploration .data-table thead tr:last-child th:nth-child(1),
#exploration .data-table thead tr:last-child th:nth-child(5){background:#e9eef6}
#exploration .data-table tbody td:nth-child(1),
#exploration .data-table tbody td:nth-child(5){background:#f2f5fa}
#exploration .data-table tbody tr:hover>td:nth-child(1),
#exploration .data-table tbody tr:hover>td:nth-child(5){background:#e9eef6}

.glightbox-clean .gslide-title {font-family:inherit;font-size:1rem;line-height:1.5;color:var(--ink)}

.home-hero .hero-method {font-size:.72rem;line-height:1.55}
@media (max-width:768px) {.home-hero .hero-method {font-size:.7rem}}
