:root {
  --ink:#111311;
  --surface:#1a1d19;
  --paper:#f3f0e8;
  --gold:#c7ad77;
  --gold-light:#e2cd99;
  --gold-panel:#cfb176; /* Median warm gold sampled from DGX logo lettering. */
  --text:#f4f1e8;
  --muted:#c1c3b9;
  --line:#4a493c;
  --paper-line:#d0cdc3;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Arial,Helvetica,sans-serif
}
* {
  box-sizing:border-box
}
html {
  background:var(--ink);
  color:var(--text);
  scroll-behavior:smooth
}
body {
  margin:0;
  font-family:var(--sans);
  font-size:18px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select {
  font:inherit
}
button,a,input,select,summary {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button:disabled {
  cursor:wait;
  opacity:.65
}
img {
  max-width:100%;
  display:block
}
h1,h2,h3,p {
  margin:0
}
h1,h2,h3 {
  font-family:var(--serif);
  font-weight:400;
  line-height:1.1
}
h1 {
  color:var(--gold-light);
  font-size:clamp(48px,5.5vw,78px);
  letter-spacing:-.045em
}
h2 {
  font-size:32px;
  letter-spacing:-.025em
}
h3 {
  font-size:25px
}
p {
  color:var(--muted)
}
.icon {
  flex-shrink:0;
  vertical-align:middle
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.site-shell {
  width:min(1340px,calc(100% - 96px));
  margin:auto
}
.skip-link {
  position:fixed;
  top:8px;
  left:8px;
  transform:translateY(-150%);
  background:var(--paper);
  color:var(--ink);
  padding:10px 18px;
  z-index:100
}
.skip-link:focus {
  transform:none
}
:focus-visible {
  outline:2px solid var(--gold-light);
  outline-offset:5px
}
.market :focus-visible,.product-group :focus-visible,.calculator-panel :focus-visible,.specials-panel :focus-visible {
  outline-color:#6e5426
}
[hidden] {
  display:none!important
}
.site-header {
  position:relative
}
.header-bar {
  min-height:122px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  border-bottom:1px solid var(--gold)
}
.brand {
  display:block;
  position:relative;
  width:215px;
  height:91px;
  overflow:hidden;
  flex-shrink:0
}
.brand img {
  position:absolute;
  width:267px;
  height:auto;
  max-width:none;
  left:-27px;
  top:-38px
}
.header-contact {
  display:flex;
  align-items:center;
  gap:28px
}
.header-phone {
  display:flex;
  gap:10px;
  align-items:center;
  font-size:18px;
  white-space:nowrap
}
.header-phone .icon {
  color:var(--gold)
}
.hours {
  padding-left:26px;
  border-left:1px solid var(--line);
  font-size:15px;
  line-height:1.5
}
.hours span {
  display:block;
  color:var(--muted);
  font-size:12px
}
.visit-button,.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:48px;
  padding:10px 28px;
  border:1px solid var(--gold);
  color:var(--gold-light);
  font-size:18px;
  transition:background .15s,color .15s
}
.visit-button:hover {
  background:var(--gold);
  color:var(--ink)
}
.primary-nav {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  min-height:70px;
  font-size:17px
}
.primary-nav a {
  padding:13px 0;
  white-space:nowrap;
  border-bottom:2px solid transparent
}
.primary-nav a:hover,.primary-nav a[aria-current] {
  color:var(--gold-light);
  border-color:var(--gold)
}
.menu-toggle {
  border:0;
  background:transparent;
  color:var(--text);
  display:flex;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:8px;
  font-size:15px
}
.menu-toggle .icon {
  width:24px;
  height:24px
}
.page-menu {
  position:absolute;
  right:0;
  top:106px;
  background:var(--paper);
  color:var(--ink);
  z-index:5;
  min-width:240px;
  box-shadow:0 18px 40px #0008;
  padding:12px 20px;
  border:1px solid var(--gold)
}
.page-menu a {
  display:block;
  padding:11px 12px;
  border-bottom:1px solid var(--paper-line)
}
.page-menu a:hover,.page-menu a[aria-current] {
  background:#e7dfce
}
.page-home .site-shell {
  min-height:100svh;
  display:flex;
  flex-direction:column
}
.home-main {
  display:grid;
  grid-template-columns:.93fr 1.07fr;
  align-items:center;
  gap:clamp(32px,4.5vw,70px);
  flex:1;
  padding:22px 0 36px
}
.hero-copy h1,.process-statement h2 {
  font-size:clamp(46px,4.7vw,70px);
  line-height:1.06;
  margin-bottom:26px
}
.dot {
  font-size:.6em;
  vertical-align:middle
}
.hero-copy>p {
  font-size:18px;
  line-height:1.6;
  max-width:570px
}
.hero-actions {
  display:flex;
  gap:28px;
  align-items:center;
  margin-top:30px
}
.button {
  background:var(--gold);
  color:var(--ink);
  font-family:var(--serif);
  font-size:21px;
  min-height:54px;
  gap:35px
}
.button:hover {
  background:var(--gold-light)
}
.text-link {
  color:var(--gold-light);
  text-decoration:underline;
  text-underline-offset:6px;
  text-decoration-thickness:1px;
  white-space:nowrap
}
.text-link:hover {
  color:white
}
.market {
  background:var(--paper);
  color:var(--ink);
  padding:26px 28px;
  min-width:0
}
.market-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:26px
}
.market-heading h2 {
  font-size:44px
}
.refresh,.text-button {
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:none;
  border:0;
  color:#6b5222;
  padding:8px 0;
  font-size:15px;
  min-height:44px
}
.refresh:hover,.text-button:hover {
  text-decoration:underline;
  text-underline-offset:4px
}
.spot-table {
  width:100%;
  border-collapse:collapse;
  font-variant-numeric:tabular-nums;
  font-size:18px
}
.spot-table th,.spot-table td {
  padding:21px 0;
  border-bottom:1px solid var(--paper-line);
  text-align:right;
  white-space:nowrap
}
.spot-table thead th {
  font-size:15px;
  font-weight:400;
  color:#55564e;
  padding:0 0 12px
}
.spot-table th:first-child {
  text-align:left
}
.spot-table tbody th {
  font-weight:600
}
.metal-name {
  display:flex;
  align-items:center;
  gap:13px;
  line-height:1.2
}
.metal-name small {
  display:block;
  font-size:11px;
  letter-spacing:.1em;
  color:#65665d;
  font-weight:400;
  margin-top:2px
}
.element {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ab8c49;
  color:#fff;
  font:18px var(--serif);
  flex-shrink:0
}
.element--silver {
  background:#767974
}
.element--platinum {
  background:#c7c7c0;
  color:#35372f
}
.element--palladium {
  background:#88826b
}
.spot-table td {
  font-size:17px;
  padding-left:10px
}
.trend {
  display:inline-flex;
  gap:2px;
  align-items:center;
  font-size:14px
}
.trend svg {
  width:13px;
  height:13px;
  flex-shrink:0
}
.positive {
  color:#256341
}
.negative {
  color:#a03632
}
.neutral {
  color:#56584f
}
.market-notes {
  margin-top:20px
}
.market-notes p {
  color:#56584f;
  font-size:12px;
  line-height:1.6
}
.market-notes a {
  text-decoration:underline;
  text-underline-offset:3px
}
.market-notes [data-market-status] {
  color:#33392e;
  font-weight:600;
  margin-top:3px
}
.market-notes [data-market-status].error {
  color:#963726
}
.source-note {
  margin-top:3px
}
.site-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px 0 27px;
  border-top:1px solid var(--gold);
  font-size:14px
}
.footer-business>a {
  text-decoration:underline;
  text-underline-offset:4px
}
.sub-main {
  padding:12px 0 50px
}
.market--compact {
  padding:18px 24px
}
.market--compact .market-heading {
  margin:0 0 7px
}
.market--compact .market-heading h2 {
  font-size:22px
}
.market--compact .refresh {
  min-height:28px;
  padding:0;
  font-size:13px
}
.market--compact .spot-table thead {
  position:absolute;
  overflow:hidden;
  width:1px;
  height:1px;
  clip:rect(0,0,0,0)
}
.market--compact .spot-table tbody {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px
}
.market--compact .spot-table tr {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:7px;
  border-right:1px solid var(--paper-line);
  padding-right:20px
}
.market--compact .spot-table tr:last-child {
  border:0;
  padding-right:0
}
.market--compact .spot-table th {
  grid-column:1/-1;
  padding:4px 0 8px;
  font-size:16px;
  border:0
}
.market--compact .spot-table td {
  font-size:14px;
  text-align:left;
  padding:0;
  border:0
}
.market--compact .spot-table td:before {
  display:block;
  font-size:10px;
  letter-spacing:.02em;
  color:#63655b;
  margin-bottom:4px
}
.market--compact .spot-table td[data-field=bidCents]:before {
  content:'Bid'
}
.market--compact .spot-table td[data-field=askCents]:before {
  content:'Ask'
}
.market--compact .spot-table td[data-field=changeCents]:before {
  content:'Change'
}
.market--compact .metal-name {
  gap:8px
}
.market--compact .metal-name small {
  display:inline;
  margin-left:6px
}
.market--compact .element {
  width:27px;
  height:27px;
  font-size:14px
}
.market--compact .market-notes {
  display:flex;
  gap:6px 20px;
  flex-wrap:wrap;
  margin-top:14px;
  border-top:1px solid var(--paper-line);
  padding-top:9px
}
.market--compact .market-notes p {
  margin:0;
  font-size:11px
}
.market--compact .source-note {
  flex-basis:100%
}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:35px;
  margin:40px 0 32px
}
.page-heading h1 {
  font-size:clamp(46px,6vw,82px)
}
.page-heading h2 {
  font-size:30px;
  margin-bottom:12px
}
.page-heading p {
  font-size:16px;
  max-width:460px
}
.page-heading>div {
  max-width:560px
}
.inventory-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}
.product-group {
  background:var(--paper);
  color:var(--ink);
  padding:24px 24px 16px;
  min-width:0
}
.product-group h2 {
  font-size:29px
}
.product-spec {
  color:#66675d;
  font-size:12px;
  margin:8px 0 20px
}
.table-scroll {
  overflow-x:auto;
  max-width:100%;
  scrollbar-color:#a58c56 #e4dfd4
}
.product-table {
  width:100%;
  border-collapse:collapse;
  white-space:nowrap;
  font-size:15px;
  font-variant-numeric:tabular-nums
}
.product-table th,.product-table td {
  padding:12px 10px;
  border-bottom:1px solid var(--paper-line);
  border-top:1px solid var(--paper-line);
  text-align:center
}
.product-table th {
  font-weight:400
}
.product-table th:first-child {
  padding-left:0;
  text-align:left;
  min-width:60px
}
.product-table td {
  font-weight:600
}
.product-table abbr {
  text-decoration:underline dotted;
  text-underline-offset:5px
}
.quote-call {
  text-decoration:underline;
  text-underline-offset:3px;
  font-size:13px;
  font-weight:400;
  color:#695023
}
.pricing-legend {
  margin-top:26px
}
.pricing-legend p {
  font-size:14px;
  margin-bottom:8px
}
.pricing-legend strong {
  color:var(--text);
  font-weight:500
}
.bottom-action {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  border-top:1px solid var(--line);
  padding-top:27px;
  margin-top:36px
}
.bottom-action p {
  font:30px var(--serif);
  color:var(--text)
}
.specials-panel,.calculator-panel {
  background:var(--paper);
  color:var(--ink);
  padding:36px
}
.specials-panel>p,.calculator-panel p {
  color:#606257;
  font-size:16px
}
.specials-panel>p {
  margin-top:14px
}
.specials-empty {
  padding:45px 0;
  border-top:1px solid var(--paper-line);
  border-bottom:1px solid var(--paper-line);
  margin:28px 0 14px
}
.specials-empty h3 {
  font-size:30px;
  margin-bottom:12px
}
.specials-empty p {
  color:#5e6055
}
.specials-list {
  padding:0;
  list-style:none;
  margin:30px 0
}
.specials-list li {
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid var(--paper-line);
  padding:24px 0
}
.specials-list h3 {
  font-size:26px
}
.specials-list p {
  font-size:14px;
  color:#64675b;
  margin-top:8px
}
.specials-list strong {
  font-size:24px;
  white-space:nowrap
}
.calculator-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  margin-bottom:30px
}
.calculator-top h2 {
  margin-bottom:12px
}
.unit-label {
  font-size:13px;
  display:grid;
  gap:7px;
  flex-shrink:0
}
select,input {
  border:1px solid #918d7e;
  border-radius:0;
  background:#fffefb;
  color:var(--ink);
  padding:10px 12px;
  min-height:46px;
  font-size:16px
}
.calculator-table {
  width:100%;
  border-collapse:collapse;
  font-variant-numeric:tabular-nums
}
.calculator-table th,.calculator-table td {
  text-align:right;
  padding:14px 12px;
  border-bottom:1px solid var(--paper-line);
  white-space:nowrap
}
.calculator-table th:first-child {
  text-align:left;
  padding-left:0
}
.calculator-table thead th {
  font-size:13px;
  color:#5e6057;
  font-weight:400
}
.calculator-table tbody th {
  font-weight:400;
  font-size:17px
}
.calculator-table input {
  width:130px;
  text-align:right
}
.calculator-table input[aria-invalid=true] {
  border:2px solid #a12d23
}
.calculator-total {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding:24px 0
}
.calculator-total>div {
  text-align:right
}
.calculator-total span {
  display:block;
  font-size:13px;
  color:#5e6057;
  margin-bottom:5px
}
.calculator-total output {
  font:36px var(--serif);
  color:var(--ink)
}
.calculator-notes {
  border-top:1px solid var(--paper-line);
  padding-top:22px
}
.calculator-notes p {
  font-size:13px;
  line-height:1.7;
  margin-bottom:10px
}
.calculator-notes strong {
  color:var(--ink)
}
.form-error {
  min-height:24px;
  margin-top:10px!important;
  color:#9d3026!important;
  font-size:14px!important
}
.selling {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:80px;
  margin:30px 0 65px
}
.selling>div h2 {
  font-size:clamp(36px,4vw,56px);
  color:var(--gold-light);
  margin-bottom:24px
}
.selling>div p {
  font-size:17px;
  max-width:360px
}
.steps {
  padding:0;
  margin:0;
  list-style:none;
  border-top:1px solid var(--line)
}
.steps li {
  display:flex;
  align-items:start;
  gap:22px;
  padding:24px 0;
  border-bottom:1px solid var(--line)
}
.steps li>span {
  font:22px var(--serif);
  color:var(--gold)
}
.steps h3 {
  font-size:27px;
  margin-bottom:12px
}
.steps p {
  font-size:16px;
  line-height:1.7
}
.faq {
  max-width:950px;
  margin:0 auto 65px
}
.faq>h2 {
  font-size:38px;
  margin-bottom:25px
}
.faq details {
  border-bottom:1px solid var(--line)
}
.faq summary {
  padding:22px 0;
  cursor:pointer;
  list-style:none;
  font-size:19px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px
}
.faq summary::-webkit-details-marker {
  display:none
}
.faq summary span {
  color:var(--gold);
  font-size:25px
}
.faq details[open] summary span {
  transform:rotate(45deg)
}
.faq details p {
  padding:0 35px 25px 0;
  font-size:17px
}
.visit-details {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:30px 0;
  border-top:1px solid var(--line)
}
.visit-details h2 {
  color:var(--gold-light);
  margin-bottom:18px
}
.visit-details h3 {
  font-size:23px;
  margin-bottom:12px
}
.visit-details a,.visit-details p {
  font-size:16px;
  line-height:1.8
}
.visit-details small {
  font-size:12px
}
.visit-details .button {
  font-size:19px;
  line-height:1.2
}
.noscript {
  padding:20px 40px;
  background:var(--paper);
  color:var(--ink);
  margin:0
}
@media(min-width:1101px) and (max-height:850px) {
  .header-bar {
    min-height:100px
  }
  .primary-nav {
    min-height:57px
  }
  .home-main {
    padding-top:12px;
    padding-bottom:25px
  }
  .hero-copy h1,.process-statement h2 {
    font-size:clamp(44px,4.2vw,61px);
    margin-bottom:20px
  }
  .hero-copy>p {
    font-size:17px;
    line-height:1.55
  }
  .hero-actions {
    margin-top:24px
  }
  .market {
    padding:24px
  }
  .market-heading {
    margin-bottom:18px
  }
  .market-heading h2 {
    font-size:38px
  }
  .spot-table th,.spot-table td {
    padding-top:17px;
    padding-bottom:17px
  }
  .market-notes {
    margin-top:16px
  }
  .site-footer {
    padding:20px 0
  }
  .page-home .home-main {
    align-items:center
  }
}
@media(max-width:1200px) {
  .site-shell {
    width:calc(100% - 64px)
  }
  .header-contact {
    gap:18px
  }
  .hours {
    padding-left:18px
  }
  .header-phone {
    font-size:16px
  }
  .primary-nav {
    font-size:15px
  }
  .brand {
    width:182px;
    height:80px
  }
  .brand img {
    width:228px;
    left:-23px;
    top:-32px
  }
  .market {
    padding:25px
  }
  .market-heading h2 {
    font-size:36px
  }
  .spot-table td {
    font-size:15px
  }
  .element {
    width:30px;
    height:30px;
    font-size:15px
  }
  .metal-name {
    gap:8px
  }
  .trend {
    font-size:12px
  }
  .product-table {
    font-size:13px
  }
  .product-table th,.product-table td {
    padding-inline:7px
  }
}
@media(max-width:1100px) {
  .home-main {
    grid-template-columns:1fr;
    gap:30px;
    padding-top:20px
  }
  .hero-copy h1,.process-statement h2 {
    font-size:62px
  }
  .hero-copy>p {
    max-width:750px;
    font-size:18px
  }
  .market-heading h2 {
    font-size:40px
  }
  .spot-table td {
    font-size:18px
  }
  .spot-table th,.spot-table td {
    padding-block:17px
  }
  .market--compact .spot-table tbody {
    grid-template-columns:repeat(2,1fr);
    row-gap:18px
  }
  .market--compact .spot-table tr:nth-child(2) {
    border:0;
    padding-right:0
  }
  .market--compact .spot-table td {
    font-size:16px
  }
  .header-contact {
    gap:15px
  }
  .hours {
    font-size:13px
  }
  .hours span {
    font-size:11px
  }
  .visit-button {
    padding:9px 17px
  }
  .menu-toggle {
    font-size:0;
    gap:0
  }
  .page-heading h2 {
    font-size:25px
  }
  .inventory-grid {
    grid-template-columns:1fr
  }
  .product-table {
    font-size:17px
  }
  .product-group {
    padding:26px
  }
  .selling {
    gap:40px
  }
  .visit-details {
    flex-wrap:wrap
  }
}
@media(max-width:760px) {
  .site-shell {
    width:calc(100% - 40px)
  }
  body {
    font-size:17px
  }
  .header-bar {
    min-height:110px;
    gap:12px;
    align-items:center
  }
  .brand {
    width:145px;
    height:65px
  }
  .brand img {
    width:182px;
    left:-18px;
    top:-25px
  }
  .header-contact {
    display:grid;
    grid-template-columns:auto auto;
    gap:8px 12px;
    justify-items:end
  }
  .header-phone {
    font-size:14px;
    gap:6px
  }
  .header-phone .icon {
    display:none
  }
  .hours {
    padding:0;
    border:0;
    text-align:right;
    font-size:11px;
    grid-column:1/-1;
    order:3
  }
  .hours span {
    font-size:10px
  }
  .visit-button {
    font-size:14px;
    min-height:40px;
    padding:6px 12px;
    gap:6px
  }
  .visit-button .icon {
    width:16px
  }
  .menu-toggle {
    grid-column:2;
    grid-row:2;
    min-height:36px;
    padding:4px
  }
  .page-home .hours {
    grid-column:1/-1
  }
  .primary-nav {
    font-size:14px;
    gap:0 12px;
    flex-wrap:wrap;
    justify-content:flex-start;
    padding:12px 0
  }
  .primary-nav a {
    padding:7px 0
  }
  .page-menu {
    top:120px
  }
  .hero-copy h1,.process-statement h2 {
    font-size:clamp(35px,8vw,60px);
    line-height:1.13;
    margin-bottom:22px
  }
  .hero-copy>p {
    font-size:16px;
    line-height:1.7
  }
  .home-main {
    padding-top:17px;
    padding-bottom:30px;
    gap:30px
  }
  .hero-actions {
    gap:24px;
    margin-top:25px
  }
  .button {
    font-size:19px;
    gap:22px;
    padding:10px 21px
  }
  .hero-actions .text-link {
    font-size:15px
  }
  .market {
    padding:24px 20px
  }
  .market-heading {
    margin-bottom:22px
  }
  .market-heading h2 {
    font-size:33px
  }
  .refresh {
    font-size:13px
  }
  .spot-table {
    font-size:15px
  }
  .spot-table th,.spot-table td {
    padding-top:17px;
    padding-bottom:17px
  }
  .spot-table td {
    font-size:14px;
    padding-left:8px
  }
  .spot-table thead th {
    font-size:13px
  }
  .element {
    display:none
  }
  .metal-name small {
    font-size:10px
  }
  .trend {
    font-size:11px;
    gap:1px
  }
  .trend svg {
    width:11px
  }
  .market-notes p {
    font-size:11px
  }
  .site-footer {
    flex-direction:column;
    align-items:start;
    gap:18px;
    padding:24px 0;
    font-size:13px
  }
  .footer-business>a span {
    display:block
  }
  .sub-main {
    padding-top:7px
  }
  .market--compact {
    padding:17px
  }
  .market--compact .market-heading h2 {
    font-size:22px
  }
  .market--compact .spot-table tbody {
    gap:16px 12px
  }
  .market--compact .spot-table tr {
    padding-right:12px;
    column-gap:4px
  }
  .market--compact .spot-table th {
    font-size:13px
  }
  .market--compact .metal-name small {
    display:none
  }
  .market--compact .spot-table td {
    font-size:12px
  }
  .market--compact .trend {
    font-size:11px
  }
  .market--compact .market-notes {
    gap:4px
  }
  .market--compact .market-notes p {
    font-size:10px
  }
  .page-heading {
    display:block;
    margin:30px 0 25px
  }
  .page-heading h1 {
    font-size:52px;
    margin-bottom:18px
  }
  .page-heading h2 {
    font-size:26px;
    margin-bottom:12px
  }
  .page-heading p {
    font-size:15px
  }
  .product-group {
    padding:22px 18px 14px
  }
  .product-group h2 {
    font-size:27px
  }
  .product-spec {
    font-size:11px;
    margin-bottom:16px
  }
  .product-table {
    font-size:14px
  }
  .product-table th,.product-table td {
    padding:12px 8px
  }
  .product-table td .quote-call {
    font-size:12px
  }
  .pricing-legend p {
    font-size:13px
  }
  .bottom-action {
    align-items:start;
    flex-direction:column
  }
  .bottom-action p {
    font-size:28px
  }
  .specials-panel,.calculator-panel {
    padding:24px 18px
  }
  .specials-panel h2,.calculator-panel h2 {
    font-size:28px
  }
  .specials-empty {
    padding:28px 0
  }
  .specials-list li {
    flex-direction:column;
    gap:12px
  }
  .calculator-top {
    display:block;
    margin-bottom:24px
  }
  .unit-label {
    margin-top:24px;
    max-width:230px
  }
  .calculator-table {
    min-width:460px;
    font-size:15px
  }
  .calculator-table tbody th {
    font-size:15px
  }
  .calculator-table input {
    width:95px;
    font-size:16px
  }
  .calculator-table td,.calculator-table th {
    padding:12px 8px
  }
  .calculator-total {
    gap:15px
  }
  .calculator-total output {
    font-size:27px
  }
  .calculator-total span {
    font-size:11px
  }
  .calculator-total .text-button {
    font-size:13px
  }
  .selling {
    grid-template-columns:1fr;
    gap:30px;
    margin-bottom:45px
  }
  .selling>div h2 {
    font-size:41px
  }
  .steps h3 {
    font-size:26px
  }
  .steps p {
    font-size:15px
  }
  .faq {
    margin-bottom:45px
  }
  .faq>h2 {
    font-size:32px
  }
  .faq summary {
    font-size:17px
  }
  .faq details p {
    font-size:15px
  }
  .visit-details {
    flex-direction:column;
    align-items:start
  }
  .form-error {
    font-size:12px!important
  }
}
@media(max-width:380px) {
  .site-shell {
    width:calc(100% - 28px)
  }
  .brand {
    width:116px;
    height:54px
  }
  .brand img {
    width:148px;
    left:-15px;
    top:-20px
  }
  .header-bar {
    gap:6px
  }
  .header-contact {
    gap:6px
  }
  .header-phone {
    font-size:12px
  }
  .visit-button {
    font-size:12px;
    padding-inline:9px
  }
  .visit-button .icon {
    display:none
  }
  .primary-nav {
    font-size:12px
  }
  .hero-actions {
    gap:15px
  }
  .hero-actions .button {
    font-size:17px;
    padding:9px 18px;
    gap:14px
  }
  .hero-actions .text-link {
    font-size:13px
  }
  .market {
    padding:20px 14px
  }
  .spot-table td {
    font-size:12px;
    padding-left:5px
  }
  .trend {
    font-size:10px
  }
  .spot-table {
    font-size:14px
  }
  .spot-table thead th {
    font-size:11px
  }
  .market--compact .spot-table td {
    font-size:11px
  }
  .market--compact .spot-table tr {
    padding-right:7px
  }
  .page-heading h1 {
    font-size:43px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  * {
    transition:none!important
  }
}
@media print {
  body,html {
    background:white;
    color:black
  }
  .site-header,.site-footer,.refresh,.bottom-action {
    display:none
  }
  .site-shell {
    width:100%
  }
  .market,.product-group,.calculator-panel {
    border:1px solid #aaa
  }
  h1,h2,h3,p {
    color:black
  }
  .inventory-grid {
    display:block
  }
  .product-group {
    break-inside:avoid;
    margin-bottom:20px
  }
}
/* Keep money readable on narrow screens instead of compressing numeric columns. */
@media (max-width: 760px) {
  .market--compact .spot-table thead {
    position: static;
    width: auto;
    height: auto;
    clip: auto;
  }
  .market--compact .spot-table tbody {
    display: table-row-group;
  }
  .market--compact .spot-table tr {
    display: table-row;
    padding: 0;
    border: 0;
  }
  .market--compact .spot-table th, .market--compact .spot-table td {
    padding: 12px 4px;
    border-bottom: 1px solid var(--paper-line);
  }
  .market--compact .spot-table thead th {
    font-size: 11px;
    font-weight: 400;
  }
  .market--compact .spot-table td {
    text-align: right;
    font-size: 12px;
  }
  .market--compact .spot-table td:before {
    display: none;
  }
  .market--compact .spot-table th:first-child {
    padding-left: 0;
  }
  .market--compact .spot-table td:last-child {
    padding-right: 0;
  }
  .calculator-table {
    min-width: 0;
    display: block;
  }
  .calculator-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
  }
  .calculator-table tbody {
    display: block;
  }
  .calculator-table tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    border-bottom: 1px solid var(--paper-line);
    padding: 12px 0;
  }
  .calculator-table th, .calculator-table td {
    border: 0;
    padding: 8px 0;
  }
  .calculator-table input {
    width: 110px;
  }
  .calculator-table td[data-melt] {
    text-align: left;
  }
  .calculator-table td[data-melt]:before, .calculator-table td[data-estimate]:before {
    display: block;
    color: #606257;
    font-size: 11px;
    margin-bottom: 4px;
  }
  .calculator-table td[data-melt]:before {
    content: 'Metal value';
  }
  .calculator-table td[data-estimate]:before {
    content: 'Estimated offer';
  }
  .table-hint {
    display: block;
    color: #63655b;
    font-size: 11px;
    margin-top: 12px;
  }
}
@media (min-width: 761px) {
  .table-hint {
    display: none;
  }
}
@media (max-width: 380px) {
  .market--compact .spot-table td {
    font-size: 11px;
    padding-inline: 3px;
  }
  .market--compact .spot-table th {
    font-size: 12px;
  }
  .market--compact .trend {
    font-size: 10px;
  }
}

/* September 29 feedback: intact supplied logo and item-level images/provenance. */
.brand img { position:static; width:100%; height:100%; max-width:100%; object-fit:contain; }
.product-photo { width:100px; height:100px; object-fit:contain; margin:0 auto 12px; border-radius:6px; background:white; }
.product-updates td { font:11px/1.45 var(--sans); white-space:normal; min-width:110px; max-width:190px; color:#55584f; }
.product-updates th { font-size:11px; }
.product-image-note { font-size:11px; line-height:1.5; color:#55584f; margin-top:12px; }
@media(max-width:600px) { .product-photo { width:76px; height:76px; } }

.photo-description { display:block; max-width:190px; margin:7px auto 0; font:11px/1.4 var(--sans); font-weight:400; white-space:normal; }

/* Blend near-black raster background into the site ink; retain gold artwork. */
.brand img { mix-blend-mode:lighten; transform:scale(1.32); transform-origin:center; }

/* A compact gold spot-price panel, coordinated with the headline. */
.market { background:var(--gold-panel); --paper-line:#a68a51; }
/* Give the DGX artwork more height within its existing responsive header column. */
.brand { height:115px; }
@media(max-width:1200px) { .brand { height:100px; } }
@media(max-width:760px) { .brand { height:82px; } }
@media(max-width:380px) { .brand { height:68px; } }

/* Gold review: denomination rows and one reference photo per product. */
.gold-product-detail { display:grid; grid-template-columns:minmax(0,1fr) 120px; gap:20px; align-items:center; }
.gold-price-table { border-collapse:collapse; width:100%; font-size:15px; font-variant-numeric:tabular-nums; }
.gold-price-table th,.gold-price-table td { padding:12px 5px; border-bottom:1px solid var(--paper-line); text-align:right; white-space:nowrap; }
.gold-price-table th:first-child { text-align:left; }
.gold-price-table thead th { font-size:12px; font-weight:600; text-transform:uppercase; }
.gold-price-table tbody th { font-weight:400; }
.gold-price-table td { font-weight:600; }
.gold-product-image { margin:0; text-align:center; }
.gold-product-image .product-photo { width:110px; height:110px; margin:0 auto; }
.gold-product-image figcaption { font-size:10px; line-height:1.4; margin-top:8px; color:#55584f; }
.gold-price-updates { margin-top:16px; font:11px/1.5 var(--sans); color:#55584f; }
.gold-price-updates p { margin:3px 0; color:#55584f; }
@media(max-width:1100px) { .gold-inventory { grid-template-columns:1fr; } }
@media(max-width:600px) {
  .gold-product { padding:20px 16px 16px; }
  .gold-product-detail { grid-template-columns:minmax(0,1fr) 82px; gap:10px; }
  .gold-product-image .product-photo { width:80px; height:80px; }
  .gold-price-table { font-size:13px; }
  .gold-price-table th,.gold-price-table td { padding:10px 3px; }
  .gold-price-table thead th { font-size:10px; }
}

.gold-product { background:var(--gold-panel); --paper-line:#a68a51; }
.gold-product .product-photo { background:transparent; border-radius:0; }
/* Keep small labels readable on the deeper logo-gold panels. */
.gold-product .product-spec,.gold-product .source-note,.gold-product figcaption,.gold-price-updates,.gold-price-updates p,
.market .market-notes p,.market .metal-name small,.market .spot-table thead th,.market .spot-table td:before { color:#414439; }
.market .positive { color:#215634; }
.market .negative { color:#852d29; }

/* Compact gold catalog: keep all denominations and one photo per product. */
.gold-inventory { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:start; }
.gold-product { padding:12px; }
.gold-product h2 { font-size:20px; margin-bottom:8px; line-height:1.15; }
.gold-product-detail { grid-template-columns:minmax(0,1fr) 60px; gap:8px; }
.gold-product-image .product-photo { width:60px; height:60px; }
.gold-product-image figcaption { font-size:9px; margin-top:4px; }
.gold-price-table { font-size:13px; }
.gold-price-table th,.gold-price-table td { padding:6px 2px; }
.gold-price-table thead th { font-size:10px; }
.gold-quote-details { font:11px/1.4 var(--sans); color:#414439; margin-top:8px; }
.gold-quote-details summary { cursor:pointer; min-height:24px; padding:4px 0; }
.gold-quote-details .product-spec { margin:8px 0; color:#414439; }
.gold-quote-details .gold-price-updates { margin-top:8px; }
.gold-image-note { color:var(--muted); margin-top:12px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .page-heading { margin:20px 0 16px; align-items:center; gap:20px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .page-heading h1 { font-size:44px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .page-heading h2 { font-size:23px; margin-bottom:5px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .page-heading p { font-size:13px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market { padding:12px 18px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market-heading { margin-bottom:8px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market-heading h2 { font-size:25px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market-notes { margin-top:8px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market-notes p { font-size:11px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .pricing-legend { margin-top:12px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .pricing-legend p { font-size:12px; margin-bottom:4px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .bottom-action { margin-top:16px; padding-top:14px; }

@media(max-width:950px) { .gold-inventory { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
  .gold-inventory { grid-template-columns:1fr; }
  .gold-product-detail { grid-template-columns:minmax(0,1fr) 70px; }
  .gold-product-image .product-photo { width:70px; height:70px; }
  .gold-price-table { font-size:14px; }
  .gold-price-table th,.gold-price-table td { padding:8px 3px; }
  .gold-price-table thead th { font-size:11px; }
  .gold-quote-details summary { min-height:44px; padding:12px 0; }
  :is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .page-heading { gap:10px; }
}
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .page-heading h1 { color:var(--gold-panel); }
@media(min-width:951px) {
  :is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .spot-table tr { padding-top:0; padding-bottom:0; }
  :is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .market-notes { margin-top:6px; padding-top:6px; }
  :is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .source-note { flex-basis:auto; }
  .gold-price-table { line-height:1.25; }
  .gold-price-table th,.gold-price-table td { padding-top:4px; padding-bottom:4px; }
  .gold-product h2 { font-size:18px; margin-bottom:6px; }
  .gold-product { padding:10px; }
}

/* Smaller spot panel on metal pages, with the existing quotes still visible. */
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact { padding:10px 16px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .market-heading { margin-bottom:6px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .market-heading h2 { font-size:21px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .market-notes { margin-top:6px; padding-top:5px; gap:4px 16px; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .source-note { flex-basis:auto; }
@media(min-width:951px) {
  :is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact { display:grid; grid-template-columns:115px minmax(0,1fr); gap:0 20px; }
  :is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .market-heading { display:block; margin:0; }
  :is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .refresh { margin-top:5px; }
  :is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .market-notes { grid-column:1/-1; }
  :is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .spot-table th { font-size:13px; padding:2px 0 5px; }
}
@media(max-width:760px) {
  :is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .spot-table th,
  :is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .spot-table td { padding-block:5px; }
}

/* Larger left-hand product image, with compact price columns to its right. */
.gold-product { display:grid; grid-template-columns: minmax(108px,28%) minmax(0,1fr); column-gap:14px; row-gap:5px; padding:10px; align-items:center; }
.gold-product h2 { grid-column:2; align-self:end; font-size:20px; margin:0; }
.gold-product-detail { display:contents; }
.gold-price-table { grid-column:2; grid-row:2; width:100%; max-width:340px; line-height:1.25; font-size:14px; align-self:start; }
.gold-price-table th,.gold-price-table td { padding:4px 5px; }
.gold-price-table thead th { font-size:11px; }
.gold-price-table th:first-child { white-space:normal; }
.gold-product-image { grid-column:1; grid-row:1 / span 2; position:static; transform:none; width:100%; height:100%; min-height:112px; margin:0; display:grid; place-items:center; padding:8px; background:radial-gradient(ellipse at 50% 43%,#77796f 0%,#42463d 48%,#171b17 100%); border:1px solid #eee6c580; border-radius:12px; }
.gold-product-image .product-photo { width:128px; height:128px; max-width:100%; margin:0; object-fit:contain; }
@media(max-width:1100px) {
  .gold-product { column-gap:10px; grid-template-columns:100px minmax(0,1fr); }
  .gold-product h2 { font-size:18px; }
  .gold-price-table { font-size:13px; }
  .gold-product-image .product-photo { width:88px; height:88px; }
}
@media(max-width:640px) {
  .gold-product { grid-template-columns:90px minmax(0,1fr); padding:8px; }
  .gold-product h2 { font-size:18px; }
  .gold-product-image { min-height:96px; padding:5px; }
  .gold-product-image .product-photo { width:80px; height:80px; }
  .gold-price-table th,.gold-price-table td { padding:6px 3px; }
}
@media(max-width:380px) {
  .gold-product { grid-template-columns:72px minmax(0,1fr); gap:5px 8px; }
  .gold-product-image .product-photo { width:64px; height:64px; }
  .gold-price-table { font-size:12px; }
  .gold-price-table th,.gold-price-table td { padding:5px 2px; }
  .gold-price-table thead th { font-size:10px; }
}

/* Final-appearance gold heading and price strip without the label/control block. */
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .page-heading h1 { font-size:clamp(56px,6vw,80px); }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact .market-heading { display:none; }
:is(.page-home,.page-gold,.page-silver,.page-platinum,.page-copper,.page-scrap,.page-questions,.page-specials) .market--compact { grid-template-columns:minmax(0,1fr); }

/* Match the Silver heading to the gold panels. */
.page-silver .page-heading h1 { color:var(--gold-panel); }

/* Scrap calculator: purity columns and weights fixed to troy ounces. */
.scrap-entry-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.scrap-entry { display:grid; gap:10px; align-content:start; min-width:0; }
.scrap-entry label { font-weight:600; font-size:16px; }
.scrap-entry input { width:100%; min-width:0; font-size:16px; }
.scrap-entry input[aria-invalid=true] { border-color:#963726; outline-color:#963726; }
.scrap-estimate-label { color:#55584f; font-size:11px; }
.scrap-entry output { display:block; font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
@media(max-width:950px) { .scrap-entry-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 16px; } }
@media(max-width:540px) { .scrap-entry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px; } }

/* Consistent approved gold palette across the remaining page surfaces. */
.hero-copy h1,.selling>div h2,.visit-details h2 { color:var(--gold-panel); }
.specials-panel,.calculator-panel { background:var(--gold-panel); --paper-line:#a68a51; }
.specials-panel p,.calculator-panel p,.scrap-estimate-label { color:#414439; }
/* Readable small text and controls on the shared gold surfaces. */
.market .positive { color:#194628; }
.market .negative { color:#70221f; }
.market .neutral,.market .refresh,.gold-product .quote-call,
.specials-panel .text-button,.calculator-panel .text-button { color:#493714; }
.calculator-total span { color:#414439; }
.form-error { color:#7c241f!important; }
/* The homepage uses the shared market strip followed by full-width copy. */
.page-home .home-main { display:block; padding:12px 0 50px; }
.home-main .hero-copy { margin-top:24px; width:100%; }
.home-main .hero-copy>p { max-width:none; }


/* A gold statement and the existing four-step selling process on Home. */
.home-process { margin-top:32px; padding-top:32px; border-top:3px solid var(--gold-panel); }
.process-statement { padding:0; text-align:left; background:transparent; }
.process-statement h2 { color:var(--gold-panel); font-size:clamp(30px,4vw,60px); margin-bottom:14px; }
.process-statement p { color:var(--muted); font-size:17px; }
.home-process .steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin-top:14px; border-top:0; }
.home-process .steps li { padding:24px 0; }
.home-process .steps h3 { color:var(--gold-panel); }
.home-process .steps li>span { color:var(--gold-panel); }
@media(max-width:760px) {
  .home-process { margin-top:28px; padding-top:28px; }
  .process-statement { padding:0; }
  .process-statement p { font-size:15px; }
  .home-process .steps { grid-template-columns:minmax(0,1fr); }
}
.opening-banner {
  background:var(--gold-panel);
  color:var(--ink);
  text-align:center;
  padding:10px 16px;
  font-size:16px;
  line-height:1.4
}
.opening-banner p {
  color:var(--ink)
}
.opening-banner strong {
  font-family:var(--serif);
  font-weight:400;
  font-size:19px;
  margin-right:6px
}
.opening-banner a {
  text-decoration:underline;
  text-underline-offset:3px;
  white-space:nowrap
}
@media (max-width: 760px) {
  .opening-banner span {
    display:block;
    font-size:14px
  }
}
.coming-soon-sign {
  display:inline-block;
  margin:0 0 4px;
  padding:10px 26px;
  background:var(--ink);
  border:1px solid var(--ink);
  outline:1px solid var(--gold-light);
  outline-offset:-6px;
  color:var(--gold-light)!important;
  font:28px var(--serif)!important;
  letter-spacing:.04em
}
/* Home page "Text us" block, with the carrier-required SMS disclosure beside the number. */
.text-us {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  margin:28px 0 50px;
  padding:22px 26px;
  border:1px solid var(--line)
}
.text-us h2 {
  color:var(--gold-panel);
  font-size:24px;
  margin-bottom:6px
}
.text-us>div>p:first-of-type {
  color:var(--muted);
  font-size:15px
}
.sms-disclosure {
  max-width:820px;
  margin-top:10px;
  font-size:13px;
  line-height:1.55
}
.sms-disclosure a {
  text-decoration:underline;
  text-underline-offset:3px;
  overflow-wrap:anywhere
}
.text-us .button {
  flex-shrink:0;
  white-space:nowrap;
  min-height:42px;
  padding:8px 20px;
  gap:14px;
  font-size:16px
}
/* Privacy Policy and Terms pages. */
.legal {
  max-width:820px;
  margin:10px 0 60px
}
.legal h2 {
  color:var(--gold-light);
  font-size:27px;
  margin:38px 0 12px
}
.legal p,.legal li {
  color:var(--muted);
  font-size:17px;
  line-height:1.65
}
.legal p+p {
  margin-top:12px
}
.legal strong {
  color:var(--text);
  font-weight:600
}
.legal ul {
  margin:0;
  padding-left:22px
}
.legal li+li {
  margin-top:8px
}
.legal a {
  color:var(--gold-light);
  text-decoration:underline;
  text-underline-offset:3px;
  overflow-wrap:anywhere
}
.footer-links {
  display:flex;
  flex-wrap:wrap;
  gap:6px 22px
}
.footer-links a {
  text-decoration:underline;
  text-underline-offset:4px
}
.footer-links a:hover,.footer-business>a:hover {
  color:var(--gold-light)
}
@media (max-width: 760px) {
  .text-us {
    flex-direction:column;
    align-items:stretch;
    gap:24px;
    padding:24px 20px
  }
  .text-us .button {
    white-space:normal
  }
  .legal h2 {
    font-size:23px
  }
  .legal p,.legal li {
    font-size:16px
  }
}
/* Phones: heading, question, full-width button, then the SMS disclosure as fine print (12px floor for carrier legibility). */
@media (max-width: 760px) {
  .text-us {
    gap:0
  }
  .text-us>div {
    display:contents
  }
  .text-us h2 {
    order:1
  }
  .text-us>div>p:first-of-type {
    order:2
  }
  .text-us .button {
    order:3;
    width:100%;
    margin-top:16px
  }
  .sms-disclosure {
    order:4;
    margin-top:14px;
    font-size:12px;
    line-height:1.45
  }
}
.footer-license {
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:12px
}
/* Legal links must stand apart from surrounding text (Carbonell v. SeatGeek, D. Nev. 2025): gold, bold, underlined. */
.sms-disclosure {
  color:#d9d6cc
}
.sms-disclosure a,.footer-links a {
  color:var(--gold-light);
  font-weight:700
}
.footer-links a:hover,.sms-disclosure a:hover {
  color:#fff
}
@media (max-width: 760px) {
  .sms-disclosure {
    font-size:13px
  }
}
/* Footer: address with a map pin and phone in gold, both without a resting underline (only the legal links keep one). */
.footer-business>a {
  display:inline-flex;
  align-items:flex-start;
  gap:8px;
  text-decoration:none
}
.footer-business>a .icon {
  width:16px;
  height:16px;
  margin-top:1px;
  color:var(--gold)
}
.footer-business>a:hover>span,.footer-phone:hover,.faq-contact a:hover {
  text-decoration:underline;
  text-underline-offset:4px
}
.footer-license {
  margin-left:24px
}
.footer-phone {
  color:var(--gold-light)
}
/* Questions page: a next step after the last answer. */
.faq-contact {
  margin-top:34px;
  padding:22px 26px;
  border:1px solid var(--line)
}
.faq-contact h3 {
  color:var(--gold-panel);
  font-size:24px;
  margin-bottom:6px
}
.faq-contact p {
  font-size:17px;
  color:var(--muted)
}
.faq-contact a {
  color:var(--gold-light);
  overflow-wrap:anywhere
}
/* Page menu: shading on hover only; the current page gets a gold bar and bold text; focus ring inset in bronze for the cream panel. */
.page-menu a[aria-current] {
  background:transparent;
  font-weight:700;
  box-shadow:inset 3px 0 0 var(--gold)
}
.page-menu a:hover {
  background:#e7dfce
}
.page-menu a:last-child {
  border-bottom:0
}
.page-menu a:focus-visible {
  outline:2px solid #6e5426;
  outline-offset:-2px
}
/* Learn guides on the Questions page and their own pages. */
.learn {
  max-width:950px;
  margin:0 auto 50px
}
.learn>h2 {
  font-size:38px;
  margin-bottom:6px
}
.learn-intro {
  font-size:17px;
  margin-bottom:8px
}
.learn-group h3 {
  color:var(--gold-panel);
  font-size:24px;
  margin:30px 0 14px
}
.learn-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:14px
}
.learn-card {
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:20px 22px;
  border:1px solid var(--line);
  transition:border-color .15s,background .15s
}
.learn-card:hover {
  border-color:var(--gold);
  background:#191b18
}
.learn-card strong {
  font:400 21px/1.25 var(--serif);
  color:var(--text)
}
.learn-card span:last-child {
  color:var(--muted);
  font-size:15px;
  line-height:1.5
}
.learn-meta {
  color:var(--gold);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase
}
.breadcrumb {
  display:flex;
  gap:10px;
  margin:6px 0 4px;
  font-size:14px;
  color:var(--muted)
}
.breadcrumb a {
  color:var(--gold-light)
}
.breadcrumb a:hover {
  text-decoration:underline;
  text-underline-offset:4px
}
.page-learn .page-heading h1 {
  font-size:clamp(36px,4.6vw,58px)
}
.guide-short {
  margin-top:6px;
  padding:16px 20px;
  border-left:3px solid var(--gold);
  background:#191b18
}
.guide ol {
  margin:0;
  padding-left:22px
}
.guide ol li+li {
  margin-top:8px
}
.guide table {
  width:100%;
  max-width:560px;
  border-collapse:collapse;
  margin-top:6px
}
.guide th,.guide td {
  padding:10px 12px;
  border-bottom:1px solid var(--line);
  text-align:left;
  font-size:16px;
  color:var(--muted)
}
.guide thead th {
  color:var(--gold-panel);
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase
}
.guide tbody th {
  color:var(--text)
}
.guide-note {
  font-size:14px!important;
  margin-top:24px!important
}
.guide .faq-contact {
  margin-top:40px
}
.learn-related {
  margin-top:10px
}
.learn-related>h2 {
  font-size:30px;
  margin-bottom:16px
}
@media (max-width: 760px) {
  .learn>h2 {
    font-size:30px
  }
  .learn-card {
    padding:18px
  }
  .guide th,.guide td {
    padding:9px 8px;
    font-size:15px
  }
}
.page-learn .page-heading {
  display:block
}
.page-learn .page-heading p {
  margin-top:10px;
  color:var(--gold);
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase
}
/* Phones put the city on its own line, so drop the separator dot there. */
@media (max-width: 760px) {
  .footer-business .addr-sep {
    display:none
  }
}
/* ===== Header (2026-10 redesign): utility bar, one main row, gold rule; mobile buttons + toggled menu below 1180px. ===== */
.hdr {
  background:#0e0f0d;
  color:var(--text)
}
.hdr .icon {
  width:18px;
  height:18px
}
.hdr-inner {
  width:min(1340px,calc(100% - 96px));
  margin:0 auto
}
.hdr-utility {
  background:#1c1d1a;
  font-size:14px;
  color:var(--muted)
}
.hdr-utility .hdr-inner {
  display:flex;
  align-items:center;
  gap:18px;
  min-height:40px
}
.hdr-status,.hdr-hours {
  display:inline-flex;
  align-items:center;
  gap:10px
}
.hdr-status {
  color:var(--text);
  font-weight:600
}
.hdr-status .icon,.hdr-hours .icon {
  color:var(--gold)
}
.hdr-status+.hdr-hours {
  padding-left:18px;
  border-left:1px solid var(--line)
}
.hdr-main {
  border-bottom:2px solid var(--gold-panel)
}
.hdr-row {
  display:flex;
  align-items:center;
  gap:28px;
  min-height:96px
}
.hdr-logo {
  flex-shrink:0;
  display:block
}
.hdr-logo img {
  display:block;
  height:64px;
  width:auto;
  mix-blend-mode:lighten
}
.hdr-nav {
  flex:1;
  display:flex;
  justify-content:center;
  gap:clamp(18px,2.4vw,40px)
}
.hdr-nav a {
  padding:8px 0;
  font-size:17px;
  color:var(--text);
  border-bottom:2px solid transparent;
  white-space:nowrap
}
.hdr-nav a:hover {
  color:var(--gold-light)
}
.hdr-nav a[aria-current] {
  color:var(--gold-panel);
  border-color:var(--gold-panel)
}
.hdr-actions {
  display:flex;
  align-items:center;
  gap:20px;
  flex-shrink:0
}
.hdr-phone {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:17px;
  white-space:nowrap
}
.hdr-phone .icon,.hdr-btn--outline .icon {
  color:var(--gold-panel)
}
.hdr-phone:hover span {
  color:var(--gold-light)
}
.hdr-divider {
  width:1px;
  height:40px;
  background:var(--line)
}
.hdr-visit,.hdr-btn--solid {
  background:var(--gold-panel);
  color:var(--ink);
  font-weight:600
}
.hdr-visit {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 24px;
  font-size:17px;
  white-space:nowrap;
  transition:background .15s
}
.hdr-visit:hover,.hdr-btn--solid:hover {
  background:var(--gold-light)
}
.hdr-toggle,.hdr-ctas,.hdr-menu {
  display:none
}
.hdr a:focus-visible,.hdr button:focus-visible {
  outline:2px solid var(--gold-light);
  outline-offset:3px
}
@media (max-width:1180px) {
  .hdr-inner {
    width:calc(100% - 48px)
  }
  .hdr-nav,.hdr-divider,.hdr-visit {
    display:none
  }
  .hdr-row {
    justify-content:space-between;
    min-height:78px;
    gap:16px
  }
  .hdr-logo img {
    height:52px
  }
  .hdr-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    padding:0;
    background:none;
    border:0;
    color:var(--text)
  }
  .hdr-toggle .icon {
    width:28px;
    height:28px
  }
  .hdr-toggle[aria-expanded="false"] .icon-close,.hdr-toggle[aria-expanded="true"] .icon-open {
    display:none
  }
  .hdr-toggle[aria-expanded="true"] .icon-close {
    color:var(--gold-light)
  }
  .hdr-ctas {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding-bottom:16px
  }
  .hdr-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    padding:8px 12px;
    font-size:16px;
    border:1px solid var(--gold-panel);
    text-align:center
  }
  .hdr-btn--outline {
    color:var(--text)
  }
  .hdr-btn--outline:hover {
    background:#1c1d1a
  }
  .hdr-menu:not([hidden]) {
    display:block;
    background:#121310;
    border-bottom:1px solid var(--line)
  }
  .hdr-menu .hdr-inner {
    display:flex;
    flex-direction:column
  }
  .hdr-menu a {
    display:block;
    padding:14px 16px;
    font-size:17px;
    color:var(--text);
    border-bottom:1px solid var(--line)
  }
  .hdr-menu a:last-child {
    border-bottom:0
  }
  .hdr-menu a:hover {
    background:#1c1d1a
  }
  .hdr-menu a[aria-current] {
    color:var(--gold-panel);
    font-weight:600;
    background:#1c1d1a;
    box-shadow:inset 3px 0 0 var(--gold-panel)
  }
  .hdr-menu a:focus-visible {
    outline-offset:-2px
  }
}
@media (max-width:560px) {
  .hdr-inner {
    width:calc(100% - 32px)
  }
  .hdr-utility {
    font-size:13px
  }
  .hdr-utility .hdr-inner {
    gap:14px
  }
  .hdr-status+.hdr-hours {
    padding-left:14px
  }
  .hdr-hours-more {
    display:none
  }
  .hdr-logo img {
    height:44px
  }
  .hdr-row {
    min-height:70px;
    gap:10px
  }
  .hdr-actions {
    gap:8px
  }
  .hdr-phone {
    font-size:15px;
    gap:8px
  }
}
@media (max-width:359px) {
  .hdr-phone span {
    display:none
  }
}
/* Home: one clear call to action, and the H2 kept well below the H1. */
.hero-copy h1 {
  font-size:clamp(38px,4.2vw,62px)
}
.process-statement h2 {
  font-size:clamp(26px,2.8vw,40px)
}
.hero-cta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 24px;
  margin-top:28px;
  color:var(--muted);
  font-size:16px
}
.hero-cta .button {
  font-size:19px;
  gap:22px;
  padding:10px 26px
}
/* Contact page. */
.contact-layout {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
  gap:48px;
  margin:10px 0 60px;
  align-items:start
}
.contact-form {
  display:grid;
  gap:18px;
  min-width:0
}
.cf-field {
  display:grid;
  gap:6px
}
.cf-field label {
  font-size:15px;
  color:var(--text)
}
.cf-req,.cf-opt {
  margin-left:6px;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--gold)
}
.cf-opt {
  color:var(--muted)
}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form select,.contact-form textarea {
  width:100%;
  padding:12px 14px;
  font-size:16px;
  color:var(--text);
  background:#1a1c18;
  border:1px solid var(--line);
  border-radius:0
}
.contact-form textarea {
  resize:vertical;
  min-height:140px
}
.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible {
  outline:2px solid var(--gold-light);
  outline-offset:1px;
  border-color:var(--gold)
}
.contact-form [aria-invalid="true"] {
  border-color:#e08a7a
}
.cf-hint {
  font-size:13px
}
.cf-error {
  font-size:14px;
  color:#f0a593;
  min-height:0
}
.cf-error:empty {
  display:none
}
.cf-trap {
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden
}
.cf-agree {
  display:flex;
  gap:12px;
  align-items:flex-start;
  font-size:15px;
  color:var(--text)
}
.cf-agree input {
  width:20px;
  height:20px;
  margin:2px 0 0;
  flex-shrink:0;
  accent-color:var(--gold)
}
.cf-agree a {
  color:var(--gold-light);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px
}
.cf-submit {
  justify-self:start;
  font-size:19px;
  gap:22px;
  padding:10px 26px
}
.cf-submit:disabled {
  opacity:.45;
  cursor:not-allowed
}
.cf-status {
  font-size:15px;
  color:var(--gold-light)
}
.cf-done h2 {
  color:var(--gold-panel);
  margin-bottom:8px
}
.contact-aside {
  border:1px solid var(--line);
  padding:24px 26px
}
.contact-aside h2 {
  font-size:24px;
  color:var(--gold-panel);
  margin-bottom:14px
}
.contact-aside dl {
  margin:0;
  display:grid;
  gap:16px
}
.contact-aside dt {
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold)
}
.contact-aside dd {
  margin:4px 0 0;
  color:var(--muted);
  overflow-wrap:anywhere
}
.page-contact .page-heading {
  display:block
}
.page-contact .page-heading p {
  margin-top:10px
}
/* 404 page. */
.notfound {
  margin:10px 0 70px;
  display:grid;
  gap:16px
}
.notfound ul {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:0;
  max-width:420px;
  border-top:1px solid var(--line)
}
.notfound li a {
  display:flex;
  justify-content:space-between;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  color:var(--text)
}
.notfound li a:hover {
  color:var(--gold-light)
}
.page-notfound .page-heading {
  display:block
}
@media (max-width:760px) {
  .contact-layout {
    grid-template-columns:1fr;
    gap:32px
  }
}
.hdr-hours {
  gap:0
}
.hdr-hours .icon {
  margin-right:10px
}
/* Cookie banner: fixed to the bottom, equal-weight Accept and Decline. */
.cookie-banner {
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:50;
  background:#1c1d1a;
  border-top:2px solid var(--gold-panel);
  box-shadow:0 -12px 30px #0009;
  padding-bottom:env(safe-area-inset-bottom,0px)
}
.cookie-inner {
  width:min(1340px,calc(100% - 96px));
  margin:0 auto;
  padding:18px 0;
  display:flex;
  align-items:center;
  gap:24px 36px;
  justify-content:space-between
}
.cookie-inner p {
  color:var(--text);
  font-size:15px;
  max-width:760px
}
.cookie-inner a {
  color:var(--gold-light);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px
}
.cookie-actions {
  display:flex;
  gap:12px;
  flex-shrink:0
}
.cookie-btn {
  min-width:130px;
  min-height:46px;
  padding:10px 20px;
  font:600 16px var(--sans);
  border:1px solid var(--gold-panel);
  cursor:pointer
}
.cookie-reject {
  background:transparent;
  color:var(--text)
}
.cookie-accept {
  background:var(--gold-panel);
  color:var(--ink)
}
.cookie-reject:hover {
  background:#2a2b27
}
.cookie-accept:hover {
  background:var(--gold-light)
}
.cookie-btn:focus-visible,.cookie-settings:focus-visible {
  outline:2px solid var(--gold-light);
  outline-offset:3px
}
.cookie-settings {
  padding:0;
  background:none;
  border:0;
  color:var(--gold-light);
  font-family:inherit;
  font-weight:700;
  font-size:inherit;
  line-height:inherit;
  text-decoration:underline;
  text-underline-offset:4px;
  cursor:pointer
}
@media (max-width:760px) {
  .cookie-inner {
    width:calc(100% - 32px);
    flex-direction:column;
    align-items:stretch;
    padding:16px 0
  }
  .cookie-actions .cookie-btn {
    flex:1;
    min-width:0
  }
}
/* Cookie preferences panel (Customize). */
.cookie-main {
  display:grid;
  gap:14px;
  min-width:0
}
.cookie-prefs {
  display:grid;
  gap:10px;
  max-width:760px
}
.cookie-pref {
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 14px;
  border:1px solid var(--line);
  background:#151614
}
.cookie-pref input {
  width:20px;
  height:20px;
  margin:2px 0 0;
  flex-shrink:0;
  accent-color:var(--gold)
}
.cookie-pref label {
  display:grid;
  gap:2px;
  font-size:14px;
  color:var(--muted)
}
.cookie-pref strong {
  color:var(--text);
  font-size:15px
}
.cookie-customize,.cookie-save {
  background:transparent;
  color:var(--text)
}
.cookie-customize:hover,.cookie-save:hover {
  background:#2a2b27
}
.cookie-save {
  color:var(--gold-light)
}
@media (max-width:760px) {
  .cookie-actions {
    flex-wrap:wrap
  }
  .cookie-actions .cookie-btn {
    padding:10px 8px
  }
}
/* Home: Browse by metal tiles. Five across on desktop; two across on phones with Specials full width. */
.browse {
  margin:34px 0 10px
}
.browse h2 {
  color:var(--gold-panel);
  font-size:clamp(26px,2.8vw,40px);
  margin-bottom:18px
}
.browse-grid {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px
}
.browse-tile {
  height:100%;
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:12px;
  padding:16px 16px 14px;
  border:1px solid var(--line);
  background:#151614;
  transition:border-color .15s,background .15s
}
.browse-tile:hover {
  border-color:var(--gold);
  background:#1b1c19
}
.browse-tile img {
  width:96px;
  height:96px;
  border-radius:50%;
  object-fit:cover;
  background:#0e0f0d
}
.browse-copy {
  display:grid;
  gap:4px
}
.browse-copy strong {
  font:400 24px/1.15 var(--serif);
  color:var(--gold-light)
}
.browse-copy span {
  font-size:14px;
  line-height:1.45;
  color:var(--muted)
}
.browse-arrow {
  color:var(--gold);
  justify-self:start
}
.browse-tile:hover .browse-arrow {
  color:var(--gold-light)
}
@media (max-width:1000px) {
  .browse-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}
@media (max-width:760px) {
  .browse-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
  }
  .browse-grid li:last-child {
    grid-column:1/-1
  }
  .browse-grid li:last-child .browse-tile {
    grid-template-columns:auto 1fr auto;
    grid-template-rows:none;
    align-items:center
  }
  .browse-tile {
    padding:14px
  }
  .browse-tile img {
    width:72px;
    height:72px
  }
  .browse-copy strong {
    font-size:21px
  }
  .browse-copy span {
    font-size:13px
  }
}
/* Page links: words in the paragraph color, spread across the bar, on phones and tablets (where the header nav is hidden).
   Home also shows photo tiles on computers. */
.page-links { display:none; }
@media (max-width:1180px) {
  .page-links { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 24px; padding:12px 0; border-bottom:1px solid var(--line); font-size:16px; }
  .page-links a { padding:8px 0; color:var(--muted); border-bottom:2px solid transparent; white-space:nowrap; }
  .page-links a:hover { color:var(--gold-light); border-color:var(--gold-panel); }
  .page-links a[aria-current] { color:var(--gold-panel); border-color:var(--gold-panel); }
  .page-links a:focus-visible { outline:2px solid var(--gold-light); outline-offset:3px; }
  .browse { display:none; }
}
@media (max-width:560px) {
  .page-links { gap:2px 10px; font-size:14px; }
}
/* Seven words (Home plus six pages) fit one row down to 360px phones. */
@media (max-width:440px) {
  .page-links { gap:2px 6px; font-size:13px; }
}
