/* BlackRock Exploration — Design Option 2: The Mineral Atlas */
:root {
  --basalt: #0f0f0e;
  --basalt-2: #161614;
  --basalt-3: #23221f;
  --bone: #ede7db;
  --bone-2: #e1d9c9;
  --ink: #14130f;
  --dust: #a19b8f;
  --dust-2: #6d685e;
  --line-d: rgba(237, 231, 219, .12);
  --line-l: rgba(20, 19, 15, .14);
  --laterite: #d4703e;
  --laterite-2: #e98b58;
  --a: var(--laterite);
  --display: 'Archivo', system-ui, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, monospace;
  --shell: 1320px;
  --hh: 76px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--basalt); color: var(--bone); font: 400 16px/1.65 var(--display); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { margin: 0; font-family: var(--display); font-weight: 700; letter-spacing: -.01em; line-height: 1.02; }
p { margin: 0 0 1em; }
button { font: inherit; cursor: pointer; }
.shell { width: min(var(--shell), calc(100% - 64px)); margin-inline: auto; }
.mono { font: 500 11.5px/1.5 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.i { flex: none; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--laterite); color: #000; padding: 8px 14px; z-index: 100; }
.skip:focus { left: 8px; }
:focus-visible { outline: 2px solid var(--laterite); outline-offset: 3px; }
.contours { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }

/* buttons */
.btn2 { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 22px; border: 1px solid transparent; font: 600 14px/1 var(--display); letter-spacing: .01em; transition: .25s; white-space: nowrap; }
.btn2--accent { background: var(--laterite); color: #140c07; }
.btn2--accent:hover { background: var(--bone); }
.btn2--line { border-color: currentColor; color: inherit; }
.btn2--line:hover { background: var(--bone); color: var(--ink); border-color: var(--bone); }
.btn2--dark { background: var(--ink); color: var(--bone); width: 100%; }
.btn2--dark:hover { background: var(--a); color: var(--ink); }
.btn2--sm { padding: 11px 16px; font-size: 13px; }
.btn2--full { width: 100%; }

/* ---------- header ---------- */
.hdr { position: fixed; inset: 0 0 auto; z-index: 50; transition: background .3s, border-color .3s; border-bottom: 1px solid transparent; }
.hdr.is-solid, .hdr.is-open { background: rgba(15, 15, 14, .92); backdrop-filter: blur(12px); border-color: var(--line-d); }
.hdr__row { height: var(--hh); display: flex; align-items: center; gap: 36px; }
.logo { display: inline-flex; align-items: center; gap: 12px; }
.logo svg { width: 38px; height: 38px; }
.logo strong { display: block; font: 800 17px/1 var(--display); font-stretch: 125%; letter-spacing: .06em; }
.logo small { display: block; margin-top: 5px; font: 500 8.5px/1 var(--mono); letter-spacing: .18em; color: var(--dust); }
.hdr__nav { display: flex; gap: 4px; margin-right: auto; }
.hdr__nav a { padding: 10px 14px; font: 500 14px/1 var(--display); color: var(--dust); transition: color .2s; }
.hdr__nav a:hover, .hdr__nav a.is-active { color: var(--bone); }
.hdr__nav a.is-active { box-shadow: inset 0 -2px 0 var(--laterite); }
.hdr__right { display: flex; align-items: center; gap: 16px; }
.hdr__quick { display: flex; border: 1px solid var(--line-d); }
.hdr__quick a { display: grid; place-items: center; width: 38px; height: 36px; font: 700 13px/1 var(--display); color: var(--dust); border-right: 1px solid var(--line-d); transition: .2s; }
.hdr__quick a:last-child { border-right: 0; }
.hdr__quick a:hover, .hdr__quick a.is-active { background: var(--a); color: var(--ink); }
.hdr__menu { display: none; background: none; border: 0; color: inherit; padding: 6px; }
.drawer2 { display: none; }

/* ---------- specimen tile (signature element) ---------- */
.spec { position: relative; display: flex; flex-direction: column; aspect-ratio: 1; padding: 14px; background: var(--basalt-2); border: 1px solid var(--line-d); color: var(--bone); overflow: hidden; transition: background .3s, color .3s, transform .3s, border-color .3s; }
.spec::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--a); transform: scaleX(.18); transform-origin: left; transition: transform .35s; }
.spec:hover, .spec.is-active, .spec.is-current { background: var(--a); color: var(--ink); border-color: var(--a); }
.spec:hover::after, .spec.is-active::after { transform: scaleX(1); background: var(--ink); }
.spec__top { display: flex; justify-content: space-between; font: 500 10.5px/1 var(--mono); letter-spacing: .08em; opacity: .75; }
.spec__top small { font-size: inherit; }
.spec__sym { margin: auto 0 4px; font: 700 clamp(40px, 4.4vw, 64px)/.9 var(--display); font-stretch: 112%; letter-spacing: -.03em; }
.spec__name { font: 600 15px/1.2 var(--display); }
.spec__meta { margin-top: 3px; font: 400 10.5px/1.3 var(--mono); letter-spacing: .04em; opacity: .7; text-transform: uppercase; }
.spec--all { border-style: dashed; --a: var(--bone); }
.spec--all .spec__sym { display: flex; }

/* ---------- hero ---------- */
.hero2 { position: relative; min-height: min(100svh, 980px); display: flex; align-items: center; overflow: hidden; padding: calc(var(--hh) + 60px) 0 70px; }
.hero2__bg { position: absolute; inset: 0; }
.hero2__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .28; filter: grayscale(.6) contrast(1.1); }
.hero2__bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--basalt) 20%, rgba(15, 15, 14, .6) 60%, rgba(15, 15, 14, .85)), linear-gradient(0deg, var(--basalt), transparent 30%); }
.hero2 .contours { color: var(--laterite); }
.hero2__grid { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; }
.hero2__kicker { display: inline-flex; align-items: center; gap: 12px; color: var(--laterite-2); }
.hero2__kicker i { width: 28px; height: 1px; background: currentColor; }
.hero2 h1 { margin: 26px 0 28px; font-size: clamp(46px, 6.4vw, 100px); font-weight: 800; font-stretch: 72%; line-height: .92; letter-spacing: -.015em; text-transform: uppercase; }
.hero2 h1 em { font-style: normal; color: var(--laterite); }
.hero2__copy > p { max-width: 54ch; color: var(--dust); font-size: 18px; }
.hero2__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.board { background: rgba(22, 22, 20, .72); border: 1px solid var(--line-d); backdrop-filter: blur(8px); padding: 18px; }
.board__label { display: flex; justify-content: space-between; margin-bottom: 14px; color: var(--dust); }
.board__tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.board__panel { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 8px; padding: 20px; background: var(--basalt); border: 1px solid var(--line-d); border-left: 3px solid var(--a); transition: border-color .3s; min-height: 118px; }
.board__panel .mono { color: var(--a); }
.board__panel strong { display: block; margin: 6px 0 4px; font: 700 22px/1.1 var(--display); font-stretch: 110%; }
.board__panel p { margin: 0; color: var(--dust); font-size: 14px; }
.board__go { display: grid; place-items: center; flex: none; width: 52px; height: 52px; background: var(--a); color: var(--ink); transition: transform .25s; }
.board__go:hover { transform: rotate(45deg); }

/* ticker */
.ticker2 { overflow: hidden; border-block: 1px solid var(--line-d); background: var(--basalt-2); }
.ticker2__track { display: flex; width: max-content; animation: tick 40s linear infinite; }
.ticker2 span { display: inline-flex; align-items: center; gap: 14px; padding: 22px 26px; font: 700 34px/1 var(--display); font-stretch: 75%; text-transform: uppercase; white-space: nowrap; }
.ticker2 span i { width: 12px; height: 12px; background: var(--a); }
.ticker2 .ticker2__cat { padding-left: 0; color: var(--dust-2); font: 500 12px/1 var(--mono); letter-spacing: .1em; }
@keyframes tick { to { transform: translateX(-50%); } }

/* sections */
.sec { position: relative; padding: 120px 0; }
.sec--tight { padding: 0 0 120px; }
.sec--bone { background: var(--bone); color: var(--ink); }
.sec-head { display: grid; grid-template-columns: 200px 1fr; column-gap: 40px; margin-bottom: 56px; }
.sec-head__n { grid-row: span 2; padding-top: 12px; color: var(--laterite); }
.sec--bone .sec-head__n { color: #b0552a; }
.sec-head h2 { font-size: clamp(38px, 5vw, 76px); font-weight: 800; font-stretch: 75%; text-transform: uppercase; line-height: .95; max-width: 16ch; }
.sec-head p { grid-column: 2; max-width: 60ch; margin: 22px 0 0; color: var(--dust); font-size: 17px; }
.sec--bone .sec-head p { color: var(--dust-2); }

/* statement */
.statement > .mono { color: #b0552a; }
.statement__big { margin: 26px 0 50px; font: 500 clamp(28px, 3.3vw, 50px)/1.18 var(--display); letter-spacing: -.02em; max-width: 26ch; }
.statement__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; max-width: 900px; margin-left: auto; color: var(--dust-2); }
.figures { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 80px; border-top: 2px solid var(--ink); }
.fig { padding: 24px 24px 0 0; }
.fig + .fig { padding-left: 24px; border-left: 1px solid var(--line-l); }
.fig strong { display: block; font: 800 clamp(48px, 5.4vw, 84px)/.9 var(--display); font-stretch: 75%; letter-spacing: -.02em; }
.fig span { display: block; margin-top: 12px; color: var(--dust-2); font-size: 14px; max-width: 22ch; }

/* ledger */
.ledger-tools { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
.search { display: flex; align-items: center; gap: 12px; flex: 1 1 320px; max-width: 460px; padding: 0 16px; border: 1px solid var(--line-d); background: var(--basalt-2); color: var(--dust); }
.search input { flex: 1; padding: 15px 0; border: 0; outline: 0; background: none; color: var(--bone); font: 400 15px var(--display); }
.search:focus-within { border-color: var(--laterite); }
.seg { display: flex; border: 1px solid var(--line-d); }
.seg button { padding: 0 18px; min-height: 48px; border: 0; border-right: 1px solid var(--line-d); background: none; color: var(--dust); font: 500 12px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; transition: .2s; }
.seg button:last-child { border-right: 0; }
.seg button:hover { color: var(--bone); }
.seg button.is-on { background: var(--bone); color: var(--ink); }
.ledger { border-top: 1px solid var(--line-d); }
.ledger__head, .row { display: grid; grid-template-columns: 70px minmax(280px, 2.4fr) 1.1fr .8fr 1.2fr 60px; gap: 20px; align-items: center; }
.ledger__head { padding: 14px 0; color: var(--dust-2); font: 500 11px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid var(--line-d); }
.row { position: relative; padding: 24px 0; border-bottom: 1px solid var(--line-d); transition: background .3s, padding .3s; }
.row::before { content: ''; position: absolute; left: 0; top: -1px; bottom: -1px; width: 3px; background: var(--a); transform: scaleY(0); transition: transform .3s; }
.row:hover { background: linear-gradient(90deg, color-mix(in srgb, var(--a) 12%, transparent), transparent 70%); padding-left: 18px; }
.row:hover::before { transform: scaleY(1); }
.row.is-hidden, .row.is-nomatch { display: none; }
.row__n { color: var(--dust-2); }
.row__main { display: flex; align-items: center; gap: 20px; }
.row__sym { display: grid; place-items: center; flex: none; width: 58px; height: 58px; border: 1px solid var(--a); color: var(--a); font: 700 22px/1 var(--display); font-stretch: 112%; transition: .3s; }
.row:hover .row__sym { background: var(--a); color: var(--ink); }
.row__main strong { display: block; font: 700 24px/1.1 var(--display); font-stretch: 90%; }
.row__main small { display: block; margin-top: 5px; color: var(--dust); font-size: 14px; line-height: 1.45; }
.row__cell { color: var(--bone); font-size: 14px; }
.row__go { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line-d); color: var(--dust); transition: .3s; }
.row:hover .row__go { background: var(--a); border-color: var(--a); color: var(--ink); transform: rotate(45deg); }
.row__peek { position: absolute; right: 90px; top: 50%; width: 200px; aspect-ratio: 4 / 3; overflow: hidden; opacity: 0; pointer-events: none; transform: translate(10px, -50%) rotate(2deg); transition: .35s; z-index: 2; box-shadow: 0 20px 40px rgba(0, 0, 0, .5); }
.row__peek img { width: 100%; height: 100%; object-fit: cover; }
.row:hover .row__peek { opacity: 1; transform: translate(0, -50%) rotate(-2deg); }
.ledger__empty { display: none; padding: 30px 0; color: var(--dust); }
.ledger:not(:has(.row:not(.is-hidden):not(.is-nomatch))) .ledger__empty { display: block; }

/* feature duo */
.duo { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.feature { display: flex; flex-direction: column; background: var(--basalt-2); border: 1px solid var(--line-d); transition: border-color .3s; }
.feature:hover { border-color: var(--a); }
.feature__img { aspect-ratio: 16 / 9; overflow: hidden; }
.feature__img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85); transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.feature:hover .feature__img img { transform: scale(1.05); }
.feature__body { display: flex; flex-direction: column; flex: 1; padding: 32px; }
.feature__body > .mono { color: var(--a); }
.feature h3 { display: flex; align-items: center; gap: 16px; margin: 14px 0 16px; font-size: clamp(30px, 3vw, 44px); font-weight: 800; font-stretch: 78%; text-transform: uppercase; }
.feature h3 b { text-transform: none; display: grid; place-items: center; width: 54px; height: 54px; background: var(--a); color: var(--ink); font-size: 22px; font-stretch: 110%; }
.feature p { color: var(--dust); }
.feature__chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 28px; padding: 0; }
.feature__chips li { padding: 7px 12px; border: 1px solid var(--line-d); font: 500 11px/1.2 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--bone); }
.feature__go { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; font: 600 15px/1 var(--display); color: var(--a); }

/* approach track */
.track { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 60px; padding: 0; }
.track li { position: relative; padding: 34px 20px 0 0; border-top: 2px solid var(--ink); }
.track li:last-child { border-top-style: dashed; }
.track__dot { position: absolute; top: -8px; left: 0; width: 14px; height: 14px; background: #b0552a; }
.track .mono { color: var(--dust-2); }
.track strong { display: block; margin-top: 8px; font: 800 clamp(22px, 2.2vw, 32px)/1 var(--display); font-stretch: 78%; text-transform: uppercase; }
.track--dark li { border-top-color: var(--bone); }
.track--dark .track__dot { background: var(--laterite); }
.track--dark .mono { color: var(--dust); }
.trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.trio > div { padding: 30px; background: var(--bone-2); }
.trio__n { font: 500 12px/1 var(--mono); color: #b0552a; }
.trio h3 { margin: 20px 0 12px; font-size: 34px; font-weight: 800; font-stretch: 75%; text-transform: uppercase; }
.trio p { margin: 0; color: var(--dust-2); }

/* quote */
.quote2 { display: grid; grid-template-columns: 1fr 1fr; min-height: 640px; background: var(--basalt-2); }
.quote2__img { position: relative; overflow: hidden; }
.quote2__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.quote2__body { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 80px clamp(32px, 6vw, 100px); }
.quote2__body > .mono { color: var(--laterite); }
.quote2 blockquote { margin: 26px 0 30px; font: 600 clamp(28px, 3vw, 46px)/1.12 var(--display); font-stretch: 88%; letter-spacing: -.01em; }
.quote2__by { margin-bottom: 34px; }
.quote2__by strong { display: block; font-size: 18px; }
.quote2__by span { color: var(--dust); font-size: 14px; }

/* crew */
.crew { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.crew__card { display: flex; flex-direction: column; gap: 4px; padding: 24px; min-height: 230px; background: var(--basalt-2); border: 1px solid var(--line-d); transition: border-color .3s, transform .3s; }
.crew__card:hover { border-color: var(--laterite); transform: translateY(-4px); }
.crew__mono { display: grid; place-items: center; width: 60px; height: 60px; margin-bottom: auto; background: var(--basalt-3); color: var(--laterite); font: 700 20px/1 var(--display); font-stretch: 112%; }
.crew__card strong { margin-top: 30px; font: 700 20px/1.15 var(--display); }
.crew__card span:not(.crew__mono) { color: var(--dust); font-size: 14px; }
.crew__card em { margin-top: 8px; font: 500 10.5px/1.4 var(--mono); font-style: normal; letter-spacing: .08em; text-transform: uppercase; color: var(--laterite-2); }
.crew__card.is-ph { border-style: dashed; border-color: rgba(212, 112, 62, .5); }
.crew__card--partner { background: var(--laterite); color: var(--ink); border-color: var(--laterite); }
.crew__card--partner .crew__mono { background: var(--ink); }
.crew__card--partner span:not(.crew__mono) { color: rgba(20, 19, 15, .7); }

/* CTA */
.cta2 { position: relative; overflow: hidden; padding: 130px 0; background: var(--laterite); color: var(--ink); }
.cta2 .contours { color: var(--ink); }
.cta2__inner { position: relative; }
.cta2 h2 { margin: 26px 0 40px; font-size: clamp(48px, 7.4vw, 124px); font-weight: 800; font-stretch: 70%; text-transform: uppercase; line-height: .88; max-width: 14ch; }
.cta2__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cta2 .btn2--accent { background: var(--ink); color: var(--bone); }
.cta2 .btn2--accent:hover { background: var(--bone); color: var(--ink); }
.cta2 .btn2--line:hover { background: var(--ink); color: var(--bone); border-color: var(--ink); }

/* footer */
.ftr { padding: 90px 0 30px; background: var(--basalt); }
.ftr__top { display: grid; grid-template-columns: 1fr 1.6fr; gap: 80px; }
.ftr__lead .mono { color: var(--laterite); }
.ftr__lead p { max-width: 38ch; margin: 18px 0 28px; color: var(--dust); }
.ftr__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.ftr__cols .mono { display: block; margin-bottom: 18px; color: var(--dust-2); }
.ftr__cols a, .ftr__cols > div > span { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; color: var(--bone); font-size: 15px; transition: color .2s; }
.ftr__cols a:hover { color: var(--laterite); }
.ftr__cols a i { width: 8px; height: 8px; background: var(--a); }
.ftr__word { margin: 70px 0 10px; font: 800 min(11.2vw, 166px)/.8 var(--display); font-stretch: 125%; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 1px rgba(237, 231, 219, .18); white-space: nowrap; overflow: hidden; }
.ftr__bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; border-top: 1px solid var(--line-d); color: var(--dust-2); font-size: 13px; }

/* sub hero (company, people) */
.sub-hero { padding: calc(var(--hh) + 70px) 0 90px; }
.sub-hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: end; }
.sub-hero .mono { color: var(--laterite); }
.sub-hero h1 { margin: 22px 0 24px; font-size: clamp(46px, 6vw, 96px); font-weight: 800; font-stretch: 72%; text-transform: uppercase; line-height: .92; }
.sub-hero p { max-width: 52ch; color: var(--dust); font-size: 18px; }
.sub-hero__media { aspect-ratio: 1; max-height: 620px; width: 100%; overflow: hidden; }
.sub-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, center); }
.split2 { display: grid; grid-template-columns: 1fr 1.2fr; gap: 90px; }
.split2--top { align-items: start; margin-bottom: 70px; }
.split2 > div > .mono { color: #b0552a; }
.caps2 { list-style: none; margin: 20px 0 0; padding: 0; border-top: 2px solid var(--ink); }
.caps2 li { display: flex; align-items: baseline; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line-l); font: 700 clamp(22px, 2.4vw, 32px)/1.1 var(--display); font-stretch: 80%; text-transform: uppercase; }
.caps2 .mono { color: #b0552a; }
.prose2 p { color: var(--dust-2); font-size: 17px; }
.prose2--dark p { color: var(--dust); }
.prose2--lead p { color: var(--ink); font-size: clamp(19px, 1.6vw, 23px); line-height: 1.5; }
.figure2 { margin: 0; background: #fff; padding: 12px; }
.figure2 figcaption { margin-top: 10px; color: var(--dust-2); }
.values2 { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.values2 article { grid-column: span 2; padding: 30px; background: var(--bone-2); transition: background .3s; }
.values2 article:nth-child(4), .values2 article:nth-child(5) { grid-column: span 3; }
.values2 article:hover { background: #fff; }
.values2 .mono { color: #b0552a; }
.values2__icon { margin: 26px 0 18px; color: var(--ink); }
.values2 h3 { margin-bottom: 12px; font-size: 26px; font-weight: 800; font-stretch: 78%; text-transform: uppercase; }
.values2 p { margin: 0; color: var(--dust-2); font-size: 15px; }
.network2 { display: flex; flex-wrap: wrap; gap: 10px; }
.network2 span { padding: 18px 24px; border: 1px solid var(--line-d); font: 700 clamp(18px, 2vw, 26px)/1 var(--display); font-stretch: 85%; text-transform: uppercase; transition: .25s; }
.network2 span:hover { background: var(--laterite); color: var(--ink); border-color: var(--laterite); }

/* people */
.people { display: grid; gap: 12px; }
.person2 { display: grid; grid-template-columns: 300px 1fr; background: var(--bone-2); }
.person2__id { display: flex; flex-direction: column; justify-content: space-between; padding: 26px; background: var(--ink); color: var(--bone); min-height: 280px; }
.person2__mono { font: 800 88px/.85 var(--display); font-stretch: 72%; color: var(--laterite); }
.person2__id .mono { color: var(--dust); }
.person2__body { padding: 36px 44px; }
.person2__body > .mono { color: #b0552a; }
.person2 h3 { margin: 10px 0 20px; font-size: clamp(32px, 3.4vw, 50px); font-weight: 800; font-stretch: 75%; text-transform: uppercase; }
.person2 p { max-width: 70ch; color: var(--dust-2); }
.person2.is-ph { background: repeating-linear-gradient(135deg, var(--bone-2) 0 14px, #ddd3c0 14px 28px); }
.person2.is-ph .person2__id { background: #3a2a20; }
.ph-note { padding: 14px 16px; border: 1px dashed #b0552a; background: rgba(255, 250, 240, .85); color: #6b3419; font-size: 15px; }
.ph-tag { display: inline-block; margin-right: 10px; padding: 3px 8px; background: #b0552a; color: #fff; font: 500 10px/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase; vertical-align: 1px; }
.partner2 { display: grid; grid-template-columns: 320px 1fr; gap: 80px; align-items: start; }
.partner2__mark { display: flex; flex-direction: column; justify-content: space-between; aspect-ratio: 1; padding: 30px; background: var(--laterite); color: var(--ink); }
.partner2 > div > .mono { color: var(--laterite); }
.partner2 h2 { margin: 16px 0 26px; font-size: clamp(40px, 5vw, 76px); font-weight: 800; font-stretch: 72%; text-transform: uppercase; }

/* portfolio page */
.port-hero { position: relative; overflow: hidden; padding: calc(var(--hh) + 80px) 0 100px; }
.port-hero .contours { color: var(--laterite); }
.port-hero .shell { position: relative; }
.port-hero > .shell > .mono { color: var(--laterite); }
.port-hero h1 { margin: 22px 0 24px; font-size: clamp(46px, 6.4vw, 104px); font-weight: 800; font-stretch: 70%; text-transform: uppercase; line-height: .9; max-width: 16ch; }
.port-hero p { max-width: 56ch; color: var(--dust); font-size: 18px; }
.port-tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 60px; }
.groups { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.group { padding: 30px; background: var(--bone-2); }
.group > .mono { color: #b0552a; }
.group h3 { margin: 14px 0 24px; font-size: 30px; font-weight: 800; font-stretch: 75%; text-transform: uppercase; }
.group a { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-top: 1px solid var(--line-l); font-weight: 600; transition: gap .2s; }
.group a:hover { gap: 20px; }
.group a b { display: grid; place-items: center; width: 40px; height: 40px; background: var(--ink); color: var(--a); font-stretch: 110%; }
.group a .i { margin-left: auto; }

/* mineral page */
.m-hero { padding: calc(var(--hh) + 50px) 0 70px; background: radial-gradient(ellipse at 20% 30%, color-mix(in srgb, var(--a) 22%, transparent), transparent 60%), var(--basalt); }
.m-hero__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; }
.crumbs2 { color: var(--dust); margin-bottom: 40px; }
.crumbs2 a:hover { color: var(--bone); }
.crumbs2 span { color: var(--a); }
.m-hero__spec { display: inline-flex; flex-direction: column; justify-content: space-between; width: 170px; height: 170px; padding: 16px; background: var(--a); color: var(--ink); }
.m-hero__spec b { font: 800 84px/.8 var(--display); font-stretch: 112%; letter-spacing: -.04em; }
.m-hero__spec .mono { font-size: 10.5px; }
.m-hero h1 { margin: 30px 0 18px; font-size: clamp(48px, 6.6vw, 110px); font-weight: 800; font-stretch: 70%; text-transform: uppercase; line-height: .88; }
.m-hero__copy > p { max-width: 46ch; color: var(--dust); font-size: 18px; }
.m-hero__media { position: relative; aspect-ratio: 5 / 4; width: 100%; overflow: hidden; }
.m-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.m-hero__media .mono { position: absolute; left: 0; bottom: 0; padding: 8px 12px; background: rgba(15, 15, 14, .8); color: var(--dust); font-size: 10px; }
.m-body { display: grid; grid-template-columns: 330px 1fr; gap: 70px; align-items: start; }
.label-card { position: sticky; top: calc(var(--hh) + 24px); background: #fff; border: 1px solid var(--line-l); box-shadow: 0 30px 60px -30px rgba(20, 19, 15, .35); }
.label-card__head { display: flex; align-items: center; gap: 16px; padding: 20px; border-bottom: 2px solid var(--ink); }
.label-card__head b { display: grid; place-items: center; width: 64px; height: 64px; background: var(--a); color: var(--ink); font: 800 28px/1 var(--display); font-stretch: 112%; }
.label-card__head strong { display: block; font-size: 24px; font-stretch: 85%; text-transform: uppercase; }
.label-card__head small { color: var(--dust-2); }
.label-card dl { margin: 0; padding: 0 20px; }
.label-card dl div { display: grid; grid-template-columns: 110px 1fr; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--line-l); }
.label-card dt { color: var(--dust-2); font-size: 10.5px; }
.label-card dd { margin: 0; font-weight: 600; font-size: 14.5px; line-height: 1.4; }
.label-card__nav { display: flex; flex-wrap: wrap; gap: 6px; padding: 16px 20px; }
.label-card__nav a { padding: 7px 11px; border: 1px solid var(--line-l); font: 500 11px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; transition: .2s; }
.label-card__nav a:hover, .label-card__nav a.is-current { background: var(--ink); color: var(--bone); border-color: var(--ink); }
.label-card > .btn2 { width: calc(100% - 40px); margin: 0 20px 20px; }
.m-sec { margin: 0 0 90px; }
.m-sec > span.mono { display: block; margin-bottom: 20px; color: #b0552a; }
.m-sec h2 { margin-bottom: 30px; font-size: clamp(34px, 3.8vw, 58px); font-weight: 800; font-stretch: 74%; text-transform: uppercase; }
.mapframe { margin-inline: 0; background: var(--ink); color: var(--bone); padding: 0; }
.mapframe__bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 18px; border-bottom: 1px solid var(--line-d); color: var(--dust); }
.mapframe__bar span { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.mapframe__bar span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.mapframe__bar span:last-child { flex: none; }
.mapframe__canvas { position: relative; aspect-ratio: 16 / 10; display: grid; place-items: center; overflow: hidden; color: var(--a); background-image: linear-gradient(var(--line-d) 1px, transparent 1px), linear-gradient(90deg, var(--line-d) 1px, transparent 1px); background-size: 10% 10%; }
.mapframe__cross { position: absolute; inset: 0; background: linear-gradient(var(--a), var(--a)) center / 1px 100% no-repeat, linear-gradient(var(--a), var(--a)) center / 100% 1px no-repeat; opacity: .25; }
.mapframe__msg { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; max-width: 86%; padding: 26px 34px; background: rgba(15, 15, 14, .9); border: 1px dashed var(--a); text-align: center; }
.mapframe__msg b { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 8px; background: var(--a); color: var(--ink); font: 800 22px/1 var(--display); font-stretch: 110%; }
.mapframe__msg strong { color: var(--bone); font-size: 20px; }
.mapframe__msg span { color: var(--dust); font-size: 14px; }
.mapframe__n { position: absolute; top: 14px; right: 16px; color: var(--bone); border: 1px solid var(--line-d); padding: 4px 8px; }
.mapframe__scale { position: absolute; left: 16px; bottom: 14px; display: flex; align-items: center; gap: 8px; color: var(--dust); }
.mapframe__scale i { width: 80px; height: 6px; border: 1px solid var(--dust); border-top: 0; }
.mapframe figcaption { padding: 12px 18px; border-top: 1px solid var(--line-d); color: var(--dust); font-size: 10.5px; }
.chain { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 2px solid var(--ink); }
.chain li { position: relative; padding: 22px 18px 26px 0; border-bottom: 1px solid var(--line-l); }
.chain li:not(:nth-child(4n)) { border-right: 1px solid var(--line-l); }
.chain li:not(:nth-child(4n + 1)) { padding-left: 18px; }
.chain .mono { color: #b0552a; }
.chain strong { display: block; margin-top: 18px; font: 700 20px/1.15 var(--display); font-stretch: 85%; text-transform: uppercase; }
.partner-card { padding: 40px; background: var(--ink); color: var(--bone); }
.partner-card h2 { margin-bottom: 8px; }
.partner-card__role { color: var(--a); margin-bottom: 24px; }
.partner-card .prose2 p { color: var(--dust); }
.gallery2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.gallery2 figure { margin: 0; }
.gallery2 img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.gallery2 figcaption { margin-top: 10px; color: var(--dust-2); }
.switcher { padding: 80px 0; border-top: 1px solid var(--line-d); }
.switcher__head { display: flex; justify-content: space-between; margin-bottom: 20px; color: var(--dust); }
.switcher__head a:hover { color: var(--laterite); }
.switcher__tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.spec.is-current::before { content: 'You are here'; position: absolute; top: 14px; left: 50%; transform: translateX(-50%); font: 500 9.5px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.spec.is-current .spec__top { visibility: hidden; }

/* contact */
.contact2 { position: relative; overflow: hidden; padding: calc(var(--hh) + 70px) 0 110px; }
.contact2 .contours { color: var(--laterite); }
.contact2__grid { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start; }
.contact2__grid > div > .mono { color: var(--laterite); }
.contact2 h1 { margin: 22px 0 24px; font-size: clamp(46px, 6vw, 96px); font-weight: 800; font-stretch: 70%; text-transform: uppercase; line-height: .9; }
.contact2__grid > div > p { color: var(--dust); font-size: 17px; max-width: 48ch; }
.contact2__lines { margin-top: 40px; border-top: 1px solid var(--line-d); }
.contact2__lines > * { display: flex; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--line-d); color: var(--laterite); }
.contact2__lines span { color: var(--bone); font-size: 18px; font-weight: 600; }
.contact2__lines small { display: block; color: var(--dust); }
.form2 { padding: 40px; background: var(--bone); color: var(--ink); }
.form2 form { display: flex; flex-direction: column; gap: 26px; }
.form2 fieldset { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 16px; }
.form2 legend { margin-bottom: 14px; padding: 0; color: #b0552a; }
.form2__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form2 label { display: flex; flex-direction: column; gap: 8px; }
.form2 label > .mono { color: var(--dust-2); font-size: 10.5px; }
.form2 input:not([type=checkbox]), .form2 select, .form2 textarea { width: 100%; padding: 14px; border: 1px solid var(--line-l); background: #fff; color: var(--ink); font: 400 15px/1.4 var(--display); border-radius: 0; }
.form2 input:focus, .form2 select:focus, .form2 textarea:focus { outline: 2px solid var(--ink); outline-offset: -1px; }
.pick { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.pick label { position: relative; cursor: pointer; }
.pick input { position: absolute; opacity: 0; }
.pick span { display: flex; flex-direction: column; gap: 6px; padding: 14px 12px; border: 1px solid var(--line-l); background: #fff; font-size: 13px; font-weight: 600; transition: .2s; }
.pick b { font: 800 26px/1 var(--display); font-stretch: 112%; color: var(--ink); }
.pick input:checked + span { background: var(--a); border-color: var(--ink); }
.pick input:focus-visible + span { outline: 2px solid var(--ink); }
.form2__note { margin: 0; color: var(--dust-2); font-size: 10.5px; }
.form2__done { text-align: center; padding: 40px 10px; color: #b0552a; }
.form2__done h2 { margin: 20px 0 10px; color: var(--ink); font-size: 44px; font-weight: 800; font-stretch: 72%; text-transform: uppercase; }
.form2__done p { color: var(--dust-2); }

/* reveal */
.js .sec-head, .js .row, .js .fig, .js .feature, .js .crew__card, .js .values2 article, .js .person2 { animation: rise .9s cubic-bezier(.2, .7, .2, 1) both; animation-timeline: view(); animation-range: entry 0% entry 40%; }
@keyframes rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  .hdr__nav, .hdr__quick { display: none; }
  .hdr__right { margin-left: auto; }
  .hdr__menu { display: block; }
  .drawer2 { position: fixed; inset: var(--hh) 0 0; display: flex; flex-direction: column; padding: 24px 32px 40px; background: var(--basalt); overflow-y: auto; opacity: 0; visibility: hidden; transition: opacity .25s, visibility 0s .25s; }
  .hdr.is-open .drawer2 { opacity: 1; visibility: visible; transition: opacity .25s; }
  .drawer2__tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-bottom: 20px; }
  .drawer2__tiles a { display: flex; flex-direction: column; padding: 10px; aspect-ratio: 1; background: var(--basalt-2); border: 1px solid var(--line-d); border-bottom: 3px solid var(--a); }
  .drawer2__tiles small { font: 500 9px/1 var(--mono); color: var(--dust); }
  .drawer2__tiles b { margin-top: auto; font: 800 24px/1 var(--display); font-stretch: 110%; }
  .drawer2__tiles span { font-size: 11px; color: var(--dust); }
  .drawer2__link { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line-d); font: 800 30px/1 var(--display); font-stretch: 75%; text-transform: uppercase; }
  .hero2__grid, .sub-hero__grid, .m-hero__grid, .contact2__grid, .split2, .partner2, .ftr__top, .quote2 { grid-template-columns: 1fr; gap: 50px; }
  .hero2 { min-height: 0; }
  .board { max-width: 640px; }
  .sec-head { grid-template-columns: 1fr; }
  .sec-head__n { grid-row: auto; padding: 0 0 16px; }
  .sec-head p { grid-column: 1; }
  .ledger__head { display: none; }
  .row { grid-template-columns: 50px 1fr 50px; row-gap: 12px; }
  .row__main { grid-column: 2; }
  .row__go { grid-column: 3; grid-row: 1; }
  .row__cell { grid-column: 2; display: flex; gap: 12px; font-size: 13px; }
  .row__cell::before { content: attr(data-l); min-width: 60px; color: var(--dust-2); font: 500 10.5px/1.7 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
  .row__peek { display: none; }
  .row:hover { padding-left: 0; }
  .crew { grid-template-columns: repeat(3, 1fr); }
  .m-body { grid-template-columns: 1fr; gap: 50px; }
  .label-card { position: static; }
  .quote2__img { aspect-ratio: 16 / 10; }
  .sub-hero__media, .m-hero__media { aspect-ratio: 16 / 11; max-height: none; }
  .values2 { grid-template-columns: 1fr 1fr; }
  .values2 article, .values2 article:nth-child(4), .values2 article:nth-child(5) { grid-column: span 1; }
  .partner2__mark { max-width: 260px; }
}
@media (max-width: 860px) {
  .duo, .trio, .groups, .statement__cols { grid-template-columns: 1fr; }
  .figures { grid-template-columns: 1fr 1fr; }
  .fig:nth-child(3) { border-left: 0; padding-left: 0; }
  .fig:nth-child(n + 3) { padding-top: 30px; }
  .track { grid-template-columns: 1fr 1fr; row-gap: 40px; }
  .chain { grid-template-columns: 1fr 1fr; }
  .chain li:not(:nth-child(4n)) { border-right: 0; }
  .chain li:nth-child(odd) { border-right: 1px solid var(--line-l); padding-left: 0; }
  .chain li:nth-child(even) { padding-left: 18px; }
  .port-tiles, .switcher__tiles { grid-template-columns: repeat(5, minmax(120px, 1fr)); overflow-x: auto; padding-bottom: 6px; }
  .crew { grid-template-columns: 1fr 1fr; }
  .person2 { grid-template-columns: 1fr; }
  .person2__id { flex-direction: row; align-items: flex-end; min-height: 0; }
  .ftr__cols { grid-template-columns: 1fr 1fr; }
  .pick { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  :root { --hh: 66px; }
  .shell { width: calc(100% - 32px); }
  .logo small { display: none; }
  .hdr__right .btn2 { display: none; }
  .drawer2 { padding: 20px 16px 40px; }
  .drawer2__link { font-size: 26px; }
  .sec { padding: 80px 0; }
  .sec--tight { padding-bottom: 80px; }
  .hero2 { padding-top: calc(var(--hh) + 40px); }
  .hero2__actions .btn2 { flex: 1 1 100%; }
  .board { padding: 12px; }
  .board__label span:last-child { display: none; }
  .spec { padding: 10px; }
  .spec__meta { display: none; }
  .spec__name { font-size: 13px; }
  .ticker2 span { font-size: 26px; padding: 18px; }
  .figures { margin-top: 50px; }
  .fig + .fig { padding-left: 14px; }
  .fig { padding-right: 10px; }
  .row { grid-template-columns: 1fr 44px; }
  .row__n { display: none; }
  .row__main { grid-column: 1; gap: 14px; }
  .row__go { grid-column: 2; }
  .row__cell { grid-column: 1 / -1; }
  .row__sym { width: 48px; height: 48px; font-size: 18px; }
  .row__main strong { font-size: 20px; }
  .seg { width: 100%; overflow-x: auto; }
  .seg button { flex: 1 0 auto; }
  .feature__body { padding: 24px; }
  .crew { grid-template-columns: 1fr; }
  .crew__card { display: grid; grid-template-columns: 52px 1fr; column-gap: 16px; row-gap: 2px; align-items: center; min-height: 0; padding: 18px; }
  .crew__mono { grid-row: span 3; width: 52px; height: 52px; margin: 0; }
  .crew__card strong { margin-top: 0; }
  .quote2__body { padding: 56px 16px; }
  .values2, .gallery2, .form2__row { grid-template-columns: 1fr; }
  .person2__body { padding: 26px 22px; }
  .person2__mono { font-size: 64px; }
  .m-hero__spec { width: 130px; height: 130px; }
  .m-hero__spec b { font-size: 60px; }
  .mapframe__canvas { aspect-ratio: 4 / 5; }
  .mapframe__bar span:last-child { display: none; }
  .partner-card { padding: 28px 22px; }
  .form2 { padding: 24px 18px; }
  .pick { grid-template-columns: repeat(2, 1fr); }
  .ftr__cols { grid-template-columns: 1fr; }
  .ftr__bottom { flex-direction: column; }
  .cta2 { padding: 90px 0; }
}
.m-body > * { min-width: 0; }
.label-card > .btn2 { white-space: normal; text-align: center; }
/* backdrop-filter would make the header the containing block of the fixed drawer */
.hdr.is-open { backdrop-filter: none; background: var(--basalt); }
.drawer2__tiles a { min-width: 0; overflow: hidden; }
.drawer2__tiles span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }


/* ===== Option 3 (light) ===== */
/* BlackRock Exploration — Design Option 3: The Mineral Atlas, light.
   Same design system as Option 2 (imported below); this file only re-tones the
   dark basalt areas into warm limestone/off-white and re-balances foreground colours. */
:root {
  /* surfaces: basalt → limestone */
  --basalt: #f9f7f2;          /* page base (was near-black) */
  --basalt-2: #ffffff;        /* cards, tiles (was charcoal) */
  --basalt-3: #eee8dd;        /* inset chips */
  --bone: #ede7db;            /* unchanged: the warm "bone" sections keep contrast against the lighter base */
  --fg: #1c1a16;              /* primary text on light surfaces (was bone text on dark) */
  --dust: #57524a;            /* muted text — darkened for light backgrounds */
  --dust-2: #5f5a50;          /* small labels (AA on bone panels too) */
  --line-d: rgba(28, 26, 22, .12);
  --laterite-ink: #9a4520;    /* laterite for small text on light (AA contrast, incl. bone panels) */
}

body { color: var(--fg); }

/* small laterite labels inside the bone panels: deepen for AA contrast */
.sec--bone .sec-head__n, .statement > .mono, .trio__n, .split2 > div > .mono, .caps2 .mono, .values2 .mono,
.person2__body > .mono, .group > .mono, .m-sec > span.mono, .chain .mono, .form2 legend, .form2__done { color: var(--laterite-ink); }

/* buttons */
.btn2--accent:hover { background: var(--ink); color: #fff; }
.btn2--line:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

/* header + drawer */
.hdr.is-solid { background: rgba(249, 247, 242, .9); border-color: var(--line-d); }
.hdr.is-open { background: var(--basalt); border-color: var(--line-d); }
.hdr__nav a:hover, .hdr__nav a.is-active { color: var(--fg); }
.logo small { color: var(--dust-2); }

/* specimen tiles */
.spec { color: var(--fg); }
.spec--all { --a: var(--ink); }
.spec--all:hover { color: #fff; }
.spec--all:hover::after { background: var(--laterite); }

/* hero: rock photo shows through a light limestone wash */
.hero2__bg img { opacity: .5; filter: grayscale(.35) sepia(.12) contrast(1.05); }
.hero2__bg::after { background: linear-gradient(90deg, var(--basalt) 24%, rgba(249, 247, 242, .78) 58%, rgba(249, 247, 242, .6)), linear-gradient(0deg, var(--basalt), transparent 30%); }
.hero2 .contours { opacity: .2; }
.hero2__kicker { color: var(--laterite-ink); }
.hero2 h1 em { color: #c45f2c; }
.board { background: rgba(255, 255, 255, .78); border-color: rgba(28, 26, 22, .1); box-shadow: 0 30px 70px -40px rgba(60, 40, 20, .35); }
.board__label { color: var(--dust-2); }
.board__panel { background: var(--basalt); border-color: var(--line-d); border-left-color: var(--a); }
.board__panel .mono { color: color-mix(in srgb, var(--a) 52%, #1c1a16); }

/* ticker */
.ticker2 { background: #fff; }

/* section labels that used bright laterite on dark */
.sec-head__n, .sub-hero .mono, .port-hero > .shell > .mono, .contact2__grid > div > .mono,
.ftr__lead .mono, .quote2__body > .mono, .partner2 > div > .mono { color: var(--laterite-ink); }

/* ledger */
.search { background: #fff; }
.search input { color: var(--fg); }
.seg { background: #fff; }
.seg button:hover { color: var(--fg); }
.seg button.is-on { background: var(--ink); color: #fff; }
.row__cell { color: var(--fg); }
.row__sym { color: color-mix(in srgb, var(--a) 52%, #1c1a16); }
.row:hover { background: linear-gradient(90deg, color-mix(in srgb, var(--a) 14%, #fff), transparent 75%); }
.row__peek { box-shadow: 0 20px 40px rgba(60, 40, 20, .28); }

/* featured projects */
.feature__body > .mono, .feature__go { color: color-mix(in srgb, var(--a) 52%, #1c1a16); }
.feature__chips li { color: var(--fg); background: var(--basalt); }

/* approach track on light */
.track--dark li { border-top-color: var(--ink); }

/* founder quote: warm stone panel instead of charcoal */
.quote2 { background: linear-gradient(135deg, #f3eee5 0%, #e8e0d1 100%); }

/* people strip */
.crew__mono { color: var(--laterite-ink); }
.crew__card em { color: var(--laterite-ink); }
.crew__card:hover { box-shadow: 0 20px 40px -28px rgba(60, 40, 20, .4); }

/* footer */
.ftr { background: #f1ece3; border-top: 1px solid var(--line-d); }
.ftr__cols a, .ftr__cols > div > span { color: var(--fg); }
.ftr__cols a:hover { color: var(--laterite-ink); }
.ftr__word { -webkit-text-stroke: 1px rgba(28, 26, 22, .16); }

/* people page: portrait blocks */
.person2__id { background: #fbf8f2; color: var(--fg); border-right: 1px solid var(--line-l); }
.person2__mono { color: #c45f2c; }
.person2__id .mono { color: var(--dust-2); }
.person2.is-ph .person2__id { background: #f6e6d9; }

/* portfolio groups */
.group a b { background: var(--a); color: var(--ink); }

/* mineral page */
.m-hero { background: radial-gradient(ellipse at 20% 30%, color-mix(in srgb, var(--a) 20%, transparent), transparent 60%), var(--basalt); }
.crumbs2 a:hover { color: var(--fg); }
.crumbs2 span { color: color-mix(in srgb, var(--a) 52%, #1c1a16); }
.m-hero__media .mono { background: rgba(255, 255, 255, .9); color: var(--dust-2); }
.mapframe { background: #fffdf9; color: var(--fg); border: 1px solid var(--line-l); }
.mapframe__bar { color: var(--dust-2); }
.mapframe__canvas { background-color: #fbf8f2; }
.mapframe__msg { background: rgba(255, 255, 255, .94); border-color: color-mix(in srgb, var(--a) 52%, #1c1a16); box-shadow: 0 20px 40px -30px rgba(60, 40, 20, .4); }
.mapframe__msg strong, .mapframe__n { color: var(--fg); }
.mapframe__cross { opacity: .35; }
.partner-card { background: #fff; color: var(--fg); border: 1px solid var(--line-l); border-left: 3px solid var(--a); }
.partner-card__role { color: color-mix(in srgb, var(--a) 52%, #1c1a16); }

/* contact */
.contact2__lines > * { color: var(--laterite-ink); }
.contact2__lines span { color: var(--fg); }
.form2 { box-shadow: 0 30px 60px -40px rgba(60, 40, 20, .35); }

/* keep dark text on the laterite partner tile */
.partner2 > .partner2__mark > .mono { color: var(--ink); }
/* coal's slate accent, lifted slightly so dark text on coal tiles meets AA on the light theme */
[style*="--a:#6d7280"] { --a: #8d929e !important; } /* inline --a needs !important */
.crew__card--partner span:not(.crew__mono) { color: #2a1a10; }

/* ---- Client update 2026-10-07 ---- */
/* team strip: four people, partner moved out to its own block */
.crew--team { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1180px) { .crew--team { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .crew--team { grid-template-columns: 1fr; } }

/* standalone strategic partner (P&T) */
.ally { display: grid; grid-template-columns: 220px 1fr; gap: 44px; align-items: center; margin-top: 28px; padding: 32px; background: #fff; border: 1px solid var(--line-l); border-left: 3px solid var(--laterite); }
.ally__logo { display: grid; place-items: center; aspect-ratio: 1; padding: 22px; background: #fff; border: 1px solid var(--line-l); transition: border-color .2s, transform .2s; }
.ally__logo:hover { border-color: var(--laterite); transform: translateY(-2px); }
.ally__logo img, .partner2__mark--logo img { display: block; width: 100%; height: auto; }
.ally__body > .mono { color: var(--laterite-ink); }
.ally h3 { margin: 10px 0 14px; font-size: clamp(28px, 3vw, 42px); font-weight: 800; font-stretch: 72%; text-transform: uppercase; line-height: 1; }
.ally p { max-width: 62ch; color: var(--dust); }
.ally__actions, .partner2__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 22px; }
.ally__more { color: var(--laterite-ink); }
.ally__more:hover { text-decoration: underline; }
@media (max-width: 640px) { .ally { grid-template-columns: 1fr; gap: 24px; padding: 22px; } .ally__logo { max-width: 180px; } }

/* People page: partner tile shows the P&T logo */
.partner2 > .partner2__mark--logo { gap: 18px; background: #fff; border: 1px solid var(--line-l); border-top: 3px solid var(--laterite); }
.partner2 > .partner2__mark--logo img { margin: auto; max-width: 82%; }
.partner2 > .partner2__mark--logo > .mono { color: var(--laterite-ink); }

/* real client maps */
.mapframe__img { display: block; background: #fff; cursor: zoom-in; }
.mapframe__img img { display: block; width: 100%; height: auto; }
.mapframe--real + .mapframe--real { margin-top: 28px; }

/* BRX mark under the founder quote */
.quote2__mark { display: block; width: 150px; height: auto; margin: -8px 0 22px; }

/* client 2026-10-21: smaller homepage headline (longer sentence) */
.hero2 h1 { font-size: clamp(36px, 4.7vw, 72px); line-height: .95; }
