/* ============================================================
   GOLD STANDARD WEB · THE PROSPECTORS
   Brand stylesheet — shared by every page
   ============================================================ */

:root{
  --ore:#16130F;
  --ore-2:#1F1B15;
  --ore-3:#2B2519;
  --gold:#B8862B;
  --assay:#D9A93C;
  --assay-soft:#EFCB72;
  --paper:#FBF8F2;
  --paper-2:#F3EDE1;
  --line:#E2D8C7;
  --line-dark:#3A3227;
  --ink:#16130F;
  --ink-soft:#4A423A;
  --muted:#7D7367;
  --muted-dark:#9C9081;
  --vein:#2E5B45;
  --vein-soft:#3E7A5C;
  --rust:#8C3B23;
  --radius:2px;
  --wrap:1120px;
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--paper);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }

a{ color:var(--gold); text-decoration:none; }
a:hover{ text-decoration:underline; }

h1,h2,h3,h4{ margin:0 0 .5em; line-height:1.12; letter-spacing:-.02em; font-weight:800; }
h1{ font-size:clamp(2.4rem,6vw,4.4rem); }
h2{ font-size:clamp(1.75rem,3.6vw,2.6rem); }
h3{ font-size:clamp(1.15rem,2vw,1.4rem); }
p{ margin:0 0 1em; }
strong{ font-weight:700; }

.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 24px; }
.narrow{ max-width:760px; }

/* ---------- EYEBROW ---------- */
.eyebrow{
  font-size:.7rem; font-weight:800; letter-spacing:.24em; text-transform:uppercase;
  color:var(--gold); margin:0 0 14px;
}
.eyebrow.on-dark{ color:var(--assay); }

/* ---------- LOGO (the Benchmark — GS on the gold standard line) ---------- */
.hallmark{ display:inline-flex; align-items:center; text-decoration:none; }
.hallmark:hover{ text-decoration:none; }
.hallmark img{ height:30px; width:auto; display:block; }
footer .hallmark img{ height:34px; }
@media (max-width:640px){ .hallmark img{ height:25px; } }

/* ---------- NAV ---------- */
.nav{
  position:sticky; top:0; z-index:60;
  background:rgba(251,248,242,.94);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.nav.dark{
  background:rgba(22,19,15,.92);
  border-bottom:1px solid var(--line-dark);
}
.nav-in{
  display:flex; align-items:center; justify-content:space-between;
  height:70px; gap:20px;
}
.nav-links{ display:flex; align-items:center; gap:26px; }
.nav-links a{
  color:var(--ink-soft); font-size:.9rem; font-weight:600; letter-spacing:.01em;
}
.nav.dark .nav-links a{ color:#CFC4B2; }
.nav-links a:hover{ color:var(--gold); text-decoration:none; }
.nav-links a.btn, .nav.dark .nav-links a.btn{ color:var(--ore); }
.nav-links a.btn:hover, .nav.dark .nav-links a.btn:hover{ color:var(--ore); }
@media (max-width:820px){ .nav-links .hide-sm{ display:none; } }

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:15px 28px; border:2px solid transparent; border-radius:var(--radius);
  font-size:1rem; font-weight:800; letter-spacing:.01em;
  cursor:pointer; text-decoration:none; transition:transform .12s ease, background .16s ease, color .16s ease;
  font-family:inherit; line-height:1.2;
}
.btn:hover{ text-decoration:none; transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }
.btn-gold{ background:var(--assay); color:var(--ore); }
.btn-gold:hover{ background:var(--assay-soft); }
.btn-dark{ background:var(--ore); color:var(--paper); }
.btn-dark:hover{ background:var(--ore-3); }
.btn-ghost{ border-color:var(--line-dark); color:var(--paper); background:transparent; }
.btn-ghost:hover{ border-color:var(--assay); color:var(--assay); }
.btn-ghost-dark{ border-color:var(--ink); color:var(--ink); background:transparent; }
.btn-ghost-dark:hover{ background:var(--ink); color:var(--paper); }
.btn-sm{ padding:10px 18px; font-size:.85rem; }
.btn-lg{ padding:18px 36px; font-size:1.08rem; }
.btn-full{ width:100%; }
.btn:disabled{ opacity:.45; cursor:not-allowed; transform:none; }

/* ---------- SECTIONS ---------- */
section{ padding:84px 0; }
section.tight{ padding:56px 0; }
.dark-sec{ background:var(--ore); color:#E8DFD0; }
.dark-sec h2,.dark-sec h3{ color:var(--paper); }
.dark-sec p{ color:#C6BAA8; }
.paper-2{ background:var(--paper-2); }

.section-head{ max-width:720px; margin-bottom:44px; }
.section-head p{ font-size:1.12rem; color:var(--muted); margin:0; }
.dark-sec .section-head p{ color:#A79B89; }

.rule-gold{ width:66px; height:4px; background:var(--assay); margin:0 0 26px; }

/* ---------- HERO ---------- */
.hero{
  background:var(--ore); color:var(--paper);
  padding:88px 0 96px; position:relative; overflow:hidden;
}
.hero::before,.hero::after{
  content:""; position:absolute; border-radius:50%; pointer-events:none;
  border:1px solid rgba(217,169,60,.16);
}
.hero::before{ width:760px; height:760px; right:-260px; top:-300px; }
.hero::after{ width:520px; height:520px; right:-140px; top:-180px; border-color:rgba(217,169,60,.10); }
.hero-in{ position:relative; z-index:2; max-width:820px; }
.hero h1{ color:var(--paper); margin-bottom:22px; }
.hero h1 .gold{ color:var(--assay); }
.hero .lede{ font-size:clamp(1.08rem,2.1vw,1.36rem); color:#CFC4B2; max-width:640px; margin-bottom:34px; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.hero-note{ margin-top:26px; font-size:.86rem; color:var(--muted-dark); }

/* ---------- MONEY BAR ---------- */
.moneybar{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line-dark); border:1px solid var(--line-dark);
  margin:40px 0 0;
}
.moneybar .cell{ background:var(--ore-2); padding:22px 20px; }
.moneybar .v{ font-size:clamp(1.6rem,3.4vw,2.3rem); font-weight:800; color:var(--assay); letter-spacing:-.02em; line-height:1.05; }
.moneybar .k{ font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-dark); margin-top:8px; }
@media (max-width:700px){ .moneybar{ grid-template-columns:1fr; } }

/* ---------- CARD GRID ---------- */
.grid{ display:grid; gap:20px; }
.g2{ grid-template-columns:repeat(2,1fr); }
.g3{ grid-template-columns:repeat(3,1fr); }
.g4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .g3,.g4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .g2,.g3,.g4{ grid-template-columns:1fr; } }

.card{
  background:#fff; border:1px solid var(--line); padding:26px 24px;
  border-top:3px solid var(--gold);
}
.card h3{ font-size:1.1rem; margin-bottom:8px; }
.card p{ color:var(--ink-soft); font-size:.96rem; margin:0; }
.dark-sec .card{ background:var(--ore-2); border-color:var(--line-dark); border-top-color:var(--assay); }
.dark-sec .card p{ color:#A79B89; }

.step-n{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; background:var(--assay); color:var(--ore);
  font-weight:800; font-size:.95rem; margin-bottom:14px;
}

/* ---------- CALCULATOR ---------- */
.calc{ background:var(--ore-2); border:1px solid var(--line-dark); padding:0; overflow:hidden; }
.calc-controls{ padding:30px 28px; border-bottom:1px solid var(--line-dark); }
.calc-out{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-dark); }
.calc-out .cell{ background:var(--ore-3); padding:24px 18px; text-align:center; }
.calc-out .v{ font-size:clamp(1.35rem,3vw,2rem); font-weight:800; color:var(--assay); letter-spacing:-.02em; }
.calc-out .cell.hero-cell .v{ color:#fff; }
.calc-out .k{ font-size:.66rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--muted-dark); margin-top:8px; }
@media (max-width:820px){ .calc-out{ grid-template-columns:repeat(2,1fr); } }

.field-label{
  display:block; font-size:.72rem; font-weight:800; letter-spacing:.16em;
  text-transform:uppercase; color:var(--assay); margin-bottom:12px;
}
.dark-sec .field-label, .calc .field-label{ color:var(--assay); }

input[type=range]{
  -webkit-appearance:none; appearance:none; width:100%; height:5px;
  background:var(--line-dark); outline:none; margin:10px 0 6px;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; width:26px; height:26px; border-radius:50%;
  background:var(--assay); cursor:pointer; border:3px solid var(--ore-2);
}
input[type=range]::-moz-range-thumb{
  width:22px; height:22px; border-radius:50%; background:var(--assay);
  cursor:pointer; border:3px solid var(--ore-2);
}
.range-val{ font-size:1.1rem; font-weight:800; color:#fff; }
.range-val span{ color:var(--muted-dark); font-weight:600; font-size:.92rem; }

.pill-row{ display:flex; flex-wrap:wrap; gap:10px; }
.pill{
  border:2px solid var(--line-dark); background:transparent; color:#C6BAA8;
  padding:11px 18px; font-size:.9rem; font-weight:700; cursor:pointer;
  font-family:inherit; border-radius:var(--radius); transition:all .15s ease;
}
.pill:hover{ border-color:var(--muted-dark); }
.pill.on{ border-color:var(--assay); background:var(--assay); color:var(--ore); }

/* ---------- LISTS ---------- */
ul.checks{ list-style:none; padding:0; margin:0; }
ul.checks li{
  position:relative; padding-left:32px; margin-bottom:14px; font-size:1.02rem;
}
ul.checks li::before{
  content:""; position:absolute; left:0; top:.42em;
  width:14px; height:14px; border:2px solid var(--gold);
  background:linear-gradient(135deg,var(--assay) 50%, transparent 50%);
}
.dark-sec ul.checks li::before{ border-color:var(--assay); }
ul.checks li b{ font-weight:800; }

ul.nos{ list-style:none; padding:0; margin:0; }
ul.nos li{ position:relative; padding-left:34px; margin-bottom:16px; font-size:1.06rem; font-weight:600; }
ul.nos li::before{
  content:"✕"; position:absolute; left:0; top:0; color:var(--rust);
  font-weight:800; font-size:1.1rem;
}
.dark-sec ul.nos li::before{ color:#E08A6E; }

/* ---------- FAQ ---------- */
details.faq{
  border-bottom:1px solid var(--line); padding:20px 0;
}
details.faq summary{
  cursor:pointer; font-weight:800; font-size:1.08rem; list-style:none;
  display:flex; justify-content:space-between; align-items:flex-start; gap:20px;
}
details.faq summary::-webkit-details-marker{ display:none; }
details.faq summary::after{
  content:"+"; color:var(--gold); font-weight:800; font-size:1.5rem; line-height:1;
  flex:0 0 auto;
}
details.faq[open] summary::after{ content:"–"; }
details.faq .a{ padding-top:14px; color:var(--ink-soft); font-size:1rem; }
details.faq .a p:last-child{ margin-bottom:0; }

/* ---------- FORMS ---------- */
.form-card{
  background:#fff; border:1px solid var(--line); border-top:4px solid var(--gold);
  padding:34px 32px;
}
@media (max-width:640px){ .form-card{ padding:26px 20px; } }
.fgroup{ margin-bottom:22px; }
.fgroup > label, .flabel{
  display:block; font-size:.78rem; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-soft); margin-bottom:8px;
}
.fgroup .hint{ font-size:.84rem; color:var(--muted); margin:-2px 0 8px; font-weight:400; letter-spacing:0; text-transform:none; }
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{
  width:100%; padding:14px 15px; font-size:1rem; font-family:inherit;
  border:1.5px solid var(--line); border-radius:var(--radius);
  background:var(--paper); color:var(--ink);
}
input:focus,select:focus,textarea:focus{
  outline:none; border-color:var(--gold); background:#fff;
  box-shadow:0 0 0 3px rgba(184,134,43,.14);
}
textarea{ min-height:120px; resize:vertical; }
.frow{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:640px){ .frow{ grid-template-columns:1fr; } }

.radio-stack label, .check-stack label{
  display:flex; align-items:flex-start; gap:11px; padding:12px 14px;
  border:1.5px solid var(--line); margin-bottom:9px; cursor:pointer;
  font-size:.98rem; background:var(--paper); border-radius:var(--radius);
  font-weight:500; letter-spacing:0; text-transform:none; color:var(--ink);
}
.radio-stack label:hover, .check-stack label:hover{ border-color:var(--gold); }
.radio-stack input, .check-stack input{ margin-top:4px; flex:0 0 auto; accent-color:var(--gold); }
.radio-stack label.sel, .check-stack label.sel{ border-color:var(--gold); background:#FDF9F0; }

.req{ color:var(--rust); }
.err{
  background:#FDF1EC; border-left:4px solid var(--rust); color:#7A3218;
  padding:13px 16px; font-size:.94rem; margin-bottom:20px; font-weight:600;
}
.ok-box{
  background:#F1F7F3; border-left:4px solid var(--vein); color:#255140;
  padding:13px 16px; font-size:.94rem; margin-bottom:20px; font-weight:600;
}

/* ---------- NOTE / CALLOUT ---------- */
.note{
  border-left:4px solid var(--gold); background:var(--paper-2);
  padding:18px 22px; margin:26px 0; font-size:.98rem;
}
.note.warn{ border-left-color:var(--rust); background:#FDF4F1; }
.note.go{ border-left-color:var(--vein); background:#F2F7F4; }
.note h4{ font-size:.98rem; margin-bottom:6px; }
.note p:last-child{ margin-bottom:0; }
.note.dark{ background:var(--ore-2); border-left-color:var(--assay); color:#C6BAA8; }
.note.dark h4{ color:var(--assay); }

.fineprint{ font-size:.82rem; color:var(--muted); line-height:1.55; }
.dark-sec .fineprint{ color:#8A7E6D; }

/* ---------- TABLE ---------- */
.tbl{ width:100%; border-collapse:collapse; font-size:.95rem; }
.tbl th{
  text-align:left; background:var(--ore); color:var(--paper);
  font-size:.68rem; letter-spacing:.13em; text-transform:uppercase;
  padding:12px 14px; font-weight:800;
}
.tbl td{ padding:13px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
.tbl tbody tr:nth-child(even){ background:#FAF6EE; }
.tbl td.num{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.tbl-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* ---------- BANNER STRIP ---------- */
.strip{
  background:var(--assay); color:var(--ore); text-align:center;
  padding:13px 20px; font-size:.92rem; font-weight:700;
}
.strip a{ color:var(--ore); text-decoration:underline; }

/* ---------- FOOTER ---------- */
footer{
  background:var(--ore); color:#8A7E6D; padding:56px 0 34px; font-size:.9rem;
}
footer a{ color:#C6BAA8; }
footer a:hover{ color:var(--assay); }
.foot-top{
  display:flex; flex-wrap:wrap; gap:36px; justify-content:space-between;
  padding-bottom:32px; border-bottom:1px solid var(--line-dark);
}
.foot-links{ display:flex; flex-wrap:wrap; gap:26px; }
.foot-bottom{ padding-top:26px; font-size:.8rem; line-height:1.7; }

/* ---------- PULL QUOTE ---------- */
.pull{
  border-top:3px solid var(--assay); border-bottom:3px solid var(--assay);
  padding:28px 0; margin:44px 0;
  font-size:clamp(1.3rem,2.8vw,1.9rem); font-weight:300; line-height:1.35;
}
.pull b{ font-weight:800; }

/* ---------- UTIL ---------- */
.center{ text-align:center; }
.mt0{ margin-top:0; } .mb0{ margin-bottom:0; }
.mt24{ margin-top:24px; } .mt40{ margin-top:40px; }
.gold{ color:var(--gold); } .on-dark .gold{ color:var(--assay); }
.tag{
  display:inline-block; font-size:.66rem; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; padding:5px 10px; border:1.5px solid var(--gold);
  color:var(--gold);
}
.tag.solid{ background:var(--gold); color:#fff; border-color:var(--gold); }
.tag.rust{ border-color:var(--rust); color:var(--rust); }
.tag.vein{ border-color:var(--vein); color:var(--vein); }
.tag.vein.solid{ background:var(--vein); color:#fff; }
.skip{ position:absolute; left:-9999px; }
.skip:focus{ left:12px; top:12px; background:var(--assay); color:var(--ore); padding:10px 16px; z-index:200; }
