
:root{
  --ink:#151412;--charcoal:#211f1b;--charcoal-2:#2b2823;--paper:#f4f1e9;
  --gold:#b58a39;--gold-light:#d9b968;--earth:#69573d;--muted:#777066;--line:#d8d0c2;
  --white:#fff;--max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(var(--max),90%);margin:0 auto}
.eyebrow{font-size:.72rem;line-height:1;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:var(--gold);margin-bottom:16px}
.display,h1,h2,h3,h4{font-family:"Arial Narrow",Arial,Helvetica,sans-serif;letter-spacing:-.02em}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(3.2rem,7vw,6.5rem);line-height:.88;text-transform:uppercase;margin-bottom:26px}
h2{font-size:clamp(2.4rem,5vw,4.4rem);line-height:.95;text-transform:uppercase;margin-bottom:25px}
h3{font-size:1.7rem;line-height:1.05;text-transform:uppercase}
.lead{font-size:1.15rem;color:#5f594f;max-width:760px}
.section{padding:92px 0}
.section-tight{padding:65px 0}
.dark{background:var(--charcoal);color:#fff}
.dark .lead,.dark p{color:#c7c1b7}
.gold-section{background:var(--gold);color:#171410}
.site-header{position:sticky;top:0;z-index:100;background:rgba(21,20,18,.97);border-bottom:1px solid rgba(181,138,57,.28)}
.header-row{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;min-width:265px}
.brand img{width:61px;height:61px;object-fit:contain;background:#fff;border-radius:2px}
.brand-copy strong{display:block;font-size:.9rem;letter-spacing:.04em;line-height:1.1}
.brand-copy span{font-size:.64rem;letter-spacing:.08em;color:#c9c1b4}
.nav{display:flex;align-items:center;gap:22px}
.nav a{color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.69rem;font-weight:800}
.nav a:hover,.nav a.current{color:var(--gold-light)}
.nav .nav-cta{background:var(--gold);color:#15130f;padding:13px 17px}
.menu-toggle{display:none;border:1px solid #6a5a3b;background:transparent;color:#fff;padding:9px 12px;font-weight:700}
.hero{min-height:720px;color:#fff;display:flex;align-items:center;background-position:center;background-size:cover;position:relative}
.hero:after{content:"";position:absolute;inset:auto 0 0 0;height:100px;background:linear-gradient(transparent,rgba(0,0,0,.23))}
.hero-inner{position:relative;z-index:2;padding:110px 0;max-width:875px}
.hero .lead{color:#e4e0d9;font-size:1.17rem;max-width:720px}
.hero-home{background-image:linear-gradient(90deg,rgba(10,9,8,.93) 0%,rgba(10,9,8,.73) 50%,rgba(10,9,8,.25) 100%),url('../images/mine-aerial-1.jpg')}
.hero-about{min-height:520px;background-image:linear-gradient(90deg,rgba(10,9,8,.9),rgba(10,9,8,.42)),url('../images/site-team.jpg')}
.hero-services{min-height:520px;background-image:linear-gradient(90deg,rgba(10,9,8,.9),rgba(10,9,8,.42)),url('../images/plant-maintenance.jpg')}
.hero-solutions{min-height:520px;background-image:linear-gradient(90deg,rgba(10,9,8,.9),rgba(10,9,8,.36)),url('../images/processing-plant.jpg')}
.hero-contact{min-height:520px;background-image:linear-gradient(90deg,rgba(10,9,8,.9),rgba(10,9,8,.4)),url('../images/fabrication-yard.jpg')}
.btn{display:inline-block;text-decoration:none;text-transform:uppercase;font-size:.72rem;font-weight:900;letter-spacing:.1em;background:var(--gold);color:#17130d;padding:15px 22px;margin:10px 9px 0 0;border:1px solid var(--gold)}
.btn.outline{background:transparent;color:#fff;border-color:rgba(217,185,104,.75)}
.btn.dark-btn{background:var(--ink);color:#fff;border-color:var(--ink)}
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#4a4033;margin-top:55px}
.stat{background:#292620;color:#fff;padding:28px}
.stat strong{font-size:1.5rem;color:var(--gold-light);display:block;text-transform:uppercase}
.stat span{font-size:.78rem;color:#bdb6aa}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#69573d;margin-top:45px}
.cap-card{background:#2b2823;padding:34px 30px;min-height:260px;position:relative}
.cap-card .num{color:var(--gold);font-size:.7rem;font-weight:900;letter-spacing:.2em}
.cap-card h3{color:#fff;margin:18px 0 12px}
.cap-card p{font-size:.94rem}
.cap-card a{color:var(--gold-light);text-transform:uppercase;font-size:.69rem;font-weight:900;letter-spacing:.12em;text-decoration:none}
.image-feature{min-height:480px;background-size:cover;background-position:center}
.image-processing{background-image:url('../images/processing-plant.jpg')}
.image-engineer{background-image:url('../images/site-engineer.jpg')}
.image-crusher{background-image:url('../images/crusher-conveyors.jpg')}
.image-aerial{background-image:url('../images/mine-aerial-2.jpg')}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.badge{border:1px solid rgba(181,138,57,.55);padding:10px 13px;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:40px}
.gallery figure{margin:0;height:230px;overflow:hidden;background:#ddd}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery figure:hover img{transform:scale(1.035)}
.service-detail{display:grid;grid-template-columns:130px 1fr 1fr;gap:34px;padding:34px 0;border-top:1px solid var(--line)}
.service-detail .service-no{font-size:.75rem;letter-spacing:.2em;color:var(--gold);font-weight:900;padding-top:9px}
.service-detail h3{font-size:2rem}
.service-detail ul{margin:0;padding-left:18px;color:#5f594f}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.process-card{background:#fff;border-top:4px solid var(--gold);padding:28px;min-height:230px}
.process-card strong{display:block;color:var(--gold);font-size:.7rem;letter-spacing:.2em}
.process-card h3{font-size:1.45rem;margin-top:15px}
.quote-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}
.quote-form{background:#fff;padding:34px;box-shadow:0 18px 50px rgba(0,0,0,.13)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field.full{grid-column:1/-1}
label{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900;margin:0 0 6px}
input,select,textarea{width:100%;padding:13px 12px;border:1px solid #d3ccbf;background:#fff;font:inherit}
textarea{min-height:125px;resize:vertical}
.form-help{font-size:.77rem;color:#756e64}
.notice{padding:13px 15px;background:#e9f3e7;border-left:4px solid #67895f;margin-bottom:20px}
.notice.error{background:#f6e6e3;border-color:#a55448}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}
.contact-card{background:#fff;padding:30px}
.contact-card a{text-decoration:none}
.map-frame{width:100%;min-height:460px;border:0;display:block;background:#c9c2b5}
.cta-band{background:var(--gold);padding:55px 0}
.cta-row{display:flex;align-items:center;justify-content:space-between;gap:35px}
.cta-row h2{font-size:clamp(2rem,4vw,3.6rem);margin:0}
.footer{background:#11100f;color:#a8a197;padding:48px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:55px}
.footer strong{color:#fff}
.footer a{color:#c4bcae;text-decoration:none}
.footer small{display:block;border-top:1px solid #2b2926;padding-top:20px;margin-top:35px;color:#6f6a63}
@media(max-width:980px){
  .nav{gap:12px}.nav a{font-size:.62rem}.brand-copy{display:none}
  .cap-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}
  .split,.quote-wrap,.contact-grid{grid-template-columns:1fr;gap:40px}
  .service-detail{grid-template-columns:70px 1fr}.service-detail>div:last-child{grid-column:2}
  .process-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .header-row{min-height:74px;align-items:center}.brand img{width:52px;height:52px}.brand{min-width:auto}
  .menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:#171614;padding:18px 5%;flex-direction:column;align-items:flex-start}
  .nav.open{display:flex}.nav a{font-size:.75rem}
  .hero{min-height:620px}.hero:not(.hero-home){min-height:470px}.hero-inner{padding:80px 0}
  h1{font-size:clamp(3.1rem,15vw,5.5rem)}
  .section{padding:72px 0}.cap-grid,.gallery,.process-grid,.form-grid,.footer-grid,.stat-row{grid-template-columns:1fr}
  .service-detail{grid-template-columns:1fr;gap:10px}.service-detail>div:last-child{grid-column:auto}
  .cta-row{align-items:flex-start;flex-direction:column}
}


/* --- Mobile layout hardening v2.1 --- */
html, body {
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body { min-width:0; }
.site-header, main, section, footer {
  width:100%;
  max-width:100%;
}
.container {
  width:min(var(--max), 92%);
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}
img, iframe, form, input, select, textarea { max-width:100%; }

@media (max-width:720px){
  html, body { overflow-x:hidden; }

  .site-header {
    width:100%;
    max-width:100%;
  }

  .header-row{
    width:100%;
    min-height:74px;
    align-items:center;
    padding:10px 0;
  }

  .brand{
    min-width:0;
    flex:1 1 auto;
  }

  .brand img{
    width:52px;
    height:52px;
    flex:0 0 52px;
  }

  .brand-copy{ display:none; }

  .menu-toggle{
    display:block;
    flex:0 0 auto;
    margin-left:12px;
  }

  .nav{
    display:none;
    position:absolute;
    top:74px;
    left:0;
    right:0;
    width:100%;
    max-width:100%;
    background:#171614;
    padding:18px 5%;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    border-top:1px solid rgba(181,138,57,.25);
  }

  .nav.open{ display:flex; }
  .nav a{ font-size:.78rem; }

  .hero{
    width:100%;
    max-width:100%;
    min-height:620px;
    background-position:center center;
  }

  .hero:not(.hero-home){ min-height:470px; }

  .hero-inner{
    width:100%;
    max-width:100%;
    padding:76px 0 64px;
  }

  .hero h1{
    font-size:clamp(2.75rem, 12vw, 4.25rem);
    line-height:.96;
    letter-spacing:-.03em;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
    max-width:100%;
  }

  .hero .lead{
    font-size:1.02rem;
    line-height:1.55;
    max-width:100%;
  }

  .section{ padding:68px 0; }
  .container{ width:90%; }

  .split,
  .quote-wrap,
  .contact-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .cap-grid,
  .gallery,
  .process-grid,
  .form-grid,
  .footer-grid,
  .stat-row{
    grid-template-columns:1fr;
  }

  .service-detail{
    grid-template-columns:1fr;
    gap:10px;
    padding:28px 0;
  }

  .service-detail>div:last-child{ grid-column:auto; }
  .service-detail .service-no{ padding-top:0; }

  .cta-row{
    align-items:flex-start;
    flex-direction:column;
  }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:100%;
  }

  .gallery figure{ height:220px; }
  .image-feature{ min-height:320px; }
  .map-frame{ min-height:340px; }
  .footer{ padding-bottom:85px; }
}



/* === GUMBI MOBILE WIDTH HOTFIX v2.2 === */
html{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
}
body{
  width:100% !important;
  max-width:none !important;
  min-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
}
body > *{
  max-width:none !important;
}
.site-header,
main,
main > section,
.hero,
.section,
.cta-band,
.footer{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.site-header{
  left:0 !important;
  right:0 !important;
}
.container{
  width:min(1180px, 90%) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
@media (max-width:720px){
  html,body{
    width:100vw !important;
    min-width:100vw !important;
    max-width:100vw !important;
  }
  .site-header,
  main,
  main > section,
  .hero,
  .section,
  .cta-band,
  .footer{
    width:100vw !important;
    min-width:100vw !important;
    max-width:100vw !important;
  }
  .container{
    width:calc(100vw - 36px) !important;
    max-width:calc(100vw - 36px) !important;
    margin-left:18px !important;
    margin-right:18px !important;
  }
  .header-row{
    width:calc(100vw - 36px) !important;
    max-width:calc(100vw - 36px) !important;
  }
  .hero-inner{
    width:100% !important;
    max-width:100% !important;
  }
  .hero h1{
    font-size:clamp(2.7rem, 11.2vw, 4rem) !important;
    line-height:.95 !important;
    max-width:100% !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }
  .hero .lead{
    font-size:1rem !important;
    line-height:1.5 !important;
  }
  .nav{
    width:100vw !important;
    max-width:100vw !important;
    left:0 !important;
    right:0 !important;
  }
}
