/* ==========================================================
   KASAMAN MINING COMPANY LTD
   Warm, editorial layout. Centred masthead, sticky section
   headings, hairline rows, soft rounded imagery.
   ========================================================== */

:root{
  --ink:#241c17;
  --ink-2:#3a2d24;
  --clay:#a8552f;
  --clay-dk:#8c4525;
  --amber:#d99b3f;
  --cream:#faf5ed;
  --cream-2:#f2e9dc;
  --paper:#fffdfa;
  --text:#4a3f37;
  --text-soft:#6f6157;
  --text-faint:#9a8d82;
  --line:#e6dbcb;
  --line-2:#d5c6b1;
  --shadow:0 2px 8px rgba(36,28,23,.05), 0 20px 44px rgba(36,28,23,.07);
  --shadow-sm:0 1px 3px rgba(36,28,23,.06);
  --r:14px;
  --r-sm:8px;
  --wrap:1200px;
}

*{box-sizing:border-box}
body{
  margin:0;background:var(--paper);color:var(--text);
  font-family:"Karla","Segoe UI",Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--clay-dk);text-decoration:none}
a:hover{color:var(--ink)}
h1,h2,h3,h4,.masthead-name,.btn,.kicker,.nav a,.stat b{font-family:"Outfit","Segoe UI",Helvetica,Arial,sans-serif}
h1,h2,h3,h4{color:var(--ink);margin:0 0 .55em;font-weight:600;line-height:1.16;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,4.4vw,3.3rem);font-weight:500}
h2{font-size:clamp(1.6rem,2.7vw,2.25rem);font-weight:500}
h3{font-size:1.16rem;font-weight:600;line-height:1.35}
h4{font-size:1rem;font-weight:600}
p{margin:0 0 1.15rem}
ul,ol{margin:0 0 1.15rem;padding-left:1.1rem}
li{margin-bottom:.5rem}
strong{color:var(--ink);font-weight:600}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.kicker{
  font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--clay);margin-bottom:1rem;
}
.lead{font-size:1.15rem;color:var(--text-soft);max-width:60ch}
.muted{color:var(--text-soft)}
.tiny{font-size:.86rem;color:var(--text-faint)}

/* ---------- top strip + masthead ---------- */
.strip{background:var(--ink);color:#cdbfae;font-size:.8rem}
.strip .wrap{display:flex;flex-wrap:wrap;gap:6px 28px;align-items:center;justify-content:center;padding:9px 32px;text-align:center}
.strip a{color:#eadfd1}
.strip a:hover{color:#fff}

.masthead{background:var(--paper);border-bottom:1px solid var(--line)}
.masthead .wrap{padding:26px 32px 0}
.masthead-top{display:flex;align-items:center;justify-content:center;gap:16px;padding-bottom:20px}
.masthead-mark{width:44px;height:44px;flex:0 0 44px}
.masthead-name{text-align:left;line-height:1.05}
.masthead-name .n1{display:block;font-size:1.34rem;font-weight:600;letter-spacing:.13em;color:var(--ink);text-transform:uppercase}
.masthead-name .n2{display:block;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text-faint);margin-top:5px}

.nav{display:flex;justify-content:center}
.nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:0;list-style:none;margin:0;padding:0}
.nav li{display:flex;align-items:center}
.nav li:not(:last-child):after{content:"";width:5px;height:5px;border-radius:50%;background:var(--line-2)}
.nav a{
  display:block;padding:12px 20px;font-size:.82rem;font-weight:500;letter-spacing:.06em;
  color:var(--text-soft);position:relative;
}
.nav a:hover{color:var(--ink)}
.nav a.on{color:var(--clay-dk);font-weight:600}
.nav a.on:after{
  content:"";position:absolute;left:20px;right:20px;bottom:-1px;height:2px;background:var(--clay);
}
.nav-btn{display:none}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;padding:13px 26px;border:1px solid transparent;
  border-radius:999px;font-size:.86rem;font-weight:600;letter-spacing:.03em;cursor:pointer;
}
.btn svg{width:15px;height:15px}
.btn-solid{background:var(--clay);color:#fff}
.btn-solid:hover{background:var(--clay-dk);color:#fff}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--ink-2);color:#fff}
.btn-line{border-color:var(--line-2);color:var(--ink);background:transparent}
.btn-line:hover{border-color:var(--clay);color:var(--clay-dk)}
.btn-light{border-color:rgba(255,255,255,.4);color:#fff}
.btn-light:hover{background:rgba(255,255,255,.12);color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.8rem}

/* ---------- hero ---------- */
.hero{background:var(--cream);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.hero-copy{padding:88px 64px 88px 0}
.hero-copy h1{margin-bottom:1.1rem}
.hero-art{position:relative;min-height:440px;border-radius:var(--r) 0 0 var(--r);overflow:hidden;margin:32px -32px 32px 0}
.hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.stat{padding:24px 26px 26px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat b{display:block;font-size:1.5rem;font-weight:600;color:var(--ink);line-height:1.3}
.stat span{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}

/* ---------- page banner ---------- */
.banner{background:var(--cream);border-bottom:1px solid var(--line)}
.banner .wrap{padding:66px 32px 60px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end}
.banner .crumb{font-size:.82rem;color:var(--text-faint);margin-bottom:1.3rem}
.banner h1{font-size:clamp(1.9rem,3.5vw,2.7rem);margin:0}
.banner .lead{margin:0}

/* ---------- sections ---------- */
.sec{padding:92px 0}
.sec-sm{padding:64px 0}
.sec-cream{background:var(--cream)}
.sec-dark{background:var(--ink);color:#d3c6b8}
.sec-dark h1,.sec-dark h2,.sec-dark h3,.sec-dark h4,.sec-dark strong{color:#fff}
.sec-dark .kicker{color:var(--amber)}
.sec-dark p,.sec-dark .lead{color:#cbbdad}
.sec-dark .tiny{color:#9d8f80}

/* two column with sticky left heading */
.cols{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:64px;align-items:start}
.cols-head{position:sticky;top:120px}
.cols-head h2{margin-bottom:.7rem}
@media(max-width:900px){.cols{grid-template-columns:1fr;gap:34px}.cols-head{position:static}}

/* hairline rows */
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:52px 1fr;gap:26px;padding:28px 0;border-bottom:1px solid var(--line)}
.row .num{font-family:"Outfit",sans-serif;font-size:.86rem;font-weight:600;color:var(--clay);letter-spacing:.08em;padding-top:.35rem}
.row h3{margin-bottom:.35rem}
.row p{margin:0;color:var(--text-soft)}
.sec-dark .rows,.sec-dark .row{border-color:rgba(255,255,255,.14)}

/* plain grids */
.grid{display:grid;gap:30px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}

.note{border-left:2px solid var(--clay);padding-left:20px}
.note h4{margin-bottom:.3rem}
.note p{margin:0;color:var(--text-soft);font-size:.96rem}

.checks{list-style:none;padding:0}
.checks li{position:relative;padding-left:26px;margin-bottom:.65rem}
.checks li:before{
  content:"";position:absolute;left:0;top:.62em;width:11px;height:6px;
  border-left:1.6px solid var(--clay);border-bottom:1.6px solid var(--clay);transform:rotate(-45deg);
}

/* figures */
.fig{border-radius:var(--r);overflow:hidden;background:var(--cream-2);box-shadow:var(--shadow)}
.fig img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.fig-tall img{aspect-ratio:3/4}
.fig-wide img{aspect-ratio:16/10}
.fig-cap{font-size:.82rem;color:var(--text-faint);margin-top:12px}
.fig-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px}

/* ---------- flagship product ---------- */
.flagship{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.flagship .wrap{padding:80px 32px}
.flagship-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.flagship-art{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);position:relative}
.flagship-art img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tagline{
  display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:#fff;
  font-family:"Outfit",sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;padding:8px 16px;border-radius:999px;margin-bottom:1.2rem;
}
.tagline i{width:6px;height:6px;border-radius:50%;background:var(--amber);display:block}
.spec-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line-2);margin-top:1.8rem}
.spec-list div{padding:16px 0;border-bottom:1px solid var(--line-2)}
.spec-list dt{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}
.spec-list dd{margin:4px 0 0;font-weight:600;color:var(--ink);font-size:.98rem}

/* ---------- product cards ---------- */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.card{background:var(--paper);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .25s ease,transform .25s ease}
.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.card-art{aspect-ratio:4/3;background:var(--cream-2);overflow:hidden}
.card-art img{width:100%;height:100%;object-fit:cover}
.card-body{padding:20px 22px 24px}
.card-body .tag{font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);margin-bottom:.5rem}
.card-body h3{font-size:1.05rem;margin-bottom:.4rem}
.card-body p{font-size:.92rem;color:var(--text-soft);margin:0}
.card-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.82rem;color:var(--text-faint)}

/* ---------- people ---------- */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.person{background:var(--paper);border-radius:var(--r);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .25s ease}
.person:hover{box-shadow:var(--shadow)}
.p-photo{position:relative;aspect-ratio:1/1;background:var(--cream-2);overflow:hidden}
.p-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%}
.p-body{padding:26px 28px 32px}
.person h3{margin-bottom:.3rem}
.person .role{font-size:.8rem;color:var(--clay);font-weight:600;letter-spacing:.02em;margin-bottom:.9rem;line-height:1.45}
.person p{font-size:.94rem;color:var(--text-soft);margin:0}
.person-wide{grid-column:span 2;display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:0;align-items:stretch}
.person-wide .p-photo{aspect-ratio:auto;height:100%;min-height:360px}
.person-wide .p-body{padding:40px 44px;align-self:center}
.person-wide h3{font-size:1.5rem}
.person-wide .role{font-size:.86rem}
@media(max-width:900px){
  .person-wide{grid-column:span 1;grid-template-columns:1fr}
  .person-wide .p-photo{aspect-ratio:4/3;min-height:0}
  .person-wide .p-body{padding:28px 26px 32px}
}

/* ---------- tables ---------- */
.tbl{width:100%;border-collapse:collapse;font-size:.95rem}
.tbl th,.tbl td{padding:15px 0;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{
  font-family:"Outfit",sans-serif;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--text-faint);font-weight:600;
}
.tbl td:first-child{font-weight:600;color:var(--ink);width:34%;padding-right:24px}
.tbl-scroll{overflow-x:auto}

/* ---------- accordion ---------- */
.acc{border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-head{
  width:100%;display:flex;gap:18px;align-items:center;justify-content:space-between;
  padding:24px 0;background:none;border:0;font:inherit;text-align:left;cursor:pointer;color:var(--ink);
}
.acc-head h3{margin:0}
.acc-head .meta{font-size:.84rem;color:var(--text-faint);white-space:nowrap}
.acc-head .sign{font-size:1.3rem;color:var(--clay);line-height:1}
.acc-body{display:none;padding:0 0 28px}
.acc-item.open .acc-body{display:block}
.acc-item.open .sign{transform:rotate(45deg)}
.sign{display:inline-block;transition:transform .2s ease}

/* ---------- form ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.fld{margin-bottom:20px}
.fld label{display:block;font-size:.8rem;font-weight:600;color:var(--ink);margin-bottom:8px;letter-spacing:.02em}
.fld input,.fld select,.fld textarea{
  width:100%;padding:13px 0;border:0;border-bottom:1px solid var(--line-2);background:transparent;
  color:var(--text);font:inherit;font-size:.98rem;border-radius:0;
}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-bottom-color:var(--clay)}
.fld textarea{min-height:120px;resize:vertical}
.form-note{font-size:.9rem;margin-top:14px}

/* ---------- contact blocks ---------- */
.cblock{padding:26px 0;border-bottom:1px solid var(--line)}
.cblock:first-child{border-top:1px solid var(--line)}
.cblock h4{margin-bottom:.35rem}
.cblock p{margin:0;color:var(--text-soft);font-size:.96rem;word-break:break-word}

/* ---------- closing band ---------- */
.band{background:var(--clay);color:#fff;padding:72px 0}
.band .wrap{display:flex;flex-wrap:wrap;gap:34px;align-items:center;justify-content:space-between}
.band h2{color:#fff;margin-bottom:.4rem;max-width:26ch}
.band p{color:#f6e2d6;margin:0;max-width:48ch}
.band .btns{margin-top:0}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:#a89a8c;padding:76px 0 0;font-size:.94rem}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:52px;padding-bottom:52px}
.foot h4{color:#fff;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.2rem}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{margin-bottom:.65rem;font-size:.92rem}
.foot a{color:#b6a899}
.foot a:hover{color:#fff}
.foot-name{font-family:"Outfit",sans-serif;font-size:1.05rem;font-weight:600;letter-spacing:.12em;color:#fff;text-transform:uppercase}
.foot-addr{margin-top:18px;color:#c2b4a5;line-height:1.75;font-size:.92rem}
.foot-bottom{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.12);padding:22px 0;font-size:.84rem;color:#8f8275;
}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .cards{grid-template-columns:repeat(3,1fr)}
  .people{grid-template-columns:repeat(2,1fr)}
  .g4{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr;gap:40px}
}
@media(max-width:900px){
  .nav ul{
    display:none;flex-direction:column;align-items:stretch;width:100%;
    border-top:1px solid var(--line);padding-bottom:10px;
  }
  .nav.open ul{display:flex}
  .nav li:not(:last-child):after{display:none}
  .nav li{display:block;border-bottom:1px solid var(--line)}
  .nav a{padding:15px 4px;font-size:.95rem}
  .nav a.on:after{display:none}
  .nav-btn{
    display:block;width:100%;background:none;border:0;border-top:1px solid var(--line);
    font:inherit;font-weight:600;color:var(--ink);padding:14px 0;text-align:left;cursor:pointer;
    letter-spacing:.06em;
  }
  .masthead .wrap{padding:22px 32px 0}
  .hero-grid,.banner .wrap{grid-template-columns:1fr}
  .hero-copy{padding:62px 0 40px}
  .hero-art{margin:0 -32px;border-radius:0;min-height:320px}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--line)}
  .banner .wrap{padding:52px 32px 48px;gap:26px;align-items:start}
  .flagship-grid{grid-template-columns:1fr;gap:34px}
  .sec{padding:66px 0}
  .g2{grid-template-columns:1fr}
}
@media(max-width:720px){
  .wrap{padding:0 22px}
  .hero-art{margin:0 -22px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .people,.g3{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .spec-list{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .cards{grid-template-columns:1fr}
  .masthead-top{flex-direction:column;text-align:center;gap:12px}
  .masthead-name{text-align:center}
  .fig-duo{grid-template-columns:1fr}
}
