/* Sheet metal design guidelines — the material-series layout on the warm
   graphite surface the carbon steel feature uses, with the reference-entry
   components this page needs: held term names, notes, formulas, and figures. */
.smd-page { --sg-bg:#282725; --sg-muted:#c8c3bc; --sg-ink:#f4f1eb; --sg-line:#ffffff2e; --smd-accent:#d4b796; }
.smd-page #main-nav,.smd-page .sg-index { background:#282725f5; }
.smd-page .sg-kicker,.smd-page .sg-cites { color:#c6b99f; }
.smd-page :focus-visible { outline:2px solid #e2cbaa; outline-offset:5px; }
.smd-page main a:hover { color:#f0ddc3; }
.smd-page .sg-hero h1 { font-size:clamp(78px,9.1vw,140px); }
.smd-page .sg-hero-title a { border-bottom-color:#96887a; }
.smd-page .sg-prose a:not(.smd-map a) { text-decoration-color:#8d8172; }
.smd-page .sg-section-top > p { color:#c3beb6; }

/* The term map: the catalog grid, split by process. */
.smd-map { display:grid; grid-template-columns:1fr 1fr; gap:0 8vw; border-top:1px solid var(--sg-line); }
.smd-map-col { padding:30px 0 10px; }
.smd-map-col + .smd-map-col { padding-left:8vw; border-left:1px solid var(--sg-line); margin-left:-8vw; }
.smd-map-col h3 { margin:0 0 22px; font-size:27px; font-weight:400; letter-spacing:-.05em; }
.smd-map-col h3 a { text-decoration:none; }
.smd-map-list { list-style:none; margin:0; padding:0; counter-reset:none; }
.smd-map-list li { border-top:1px solid #ffffff1c; }
.smd-map-list li:first-child { border-top:0; }
.smd-map-list a { display:flex; align-items:baseline; gap:18px; padding:13px 0; font-size:15px; line-height:1.45; letter-spacing:-.015em; text-decoration:none; color:#ded8d0; transition:color .2s ease,padding-left .25s ease; }
.smd-map-list a:hover { color:#fff; padding-left:6px; }
.smd-map-list a span { flex:none; width:38px; font:10px 'Share Tech Mono',monospace; letter-spacing:.09em; color:#a89b89; }

/* A reference entry: the term is held on the left while its rules scroll. */
.smd-entry { display:grid; grid-template-columns:1fr 1.45fr; gap:6.5vw; padding:52px 0; border-bottom:1px solid var(--sg-line); }
/* Grid items default to min-width:auto, which lets a wide spec table push the
   column past the viewport instead of scrolling inside its own wrapper. */
.smd-entry > *,.smd-map > * { min-width:0; }
.smd-entry:last-child { border-bottom:0; padding-bottom:10px; }
.smd-entry-id { position:sticky; top:150px; align-self:start; }
.smd-entry-id h3 { margin:0 0 18px; font-size:clamp(30px,3.4vw,54px); font-weight:400; line-height:1.1; letter-spacing:-.055em; }
.smd-entry-id > p { margin:0; max-width:300px; }
.smd-ref { display:block; font:10px 'Share Tech Mono',monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--smd-accent); }
.smd-qualifier { display:block; margin-top:14px; font-size:13px; line-height:1.7; color:#b6afa6; }
.smd-entry .sg-prose > h3 { font-size:21px; margin:34px 0 16px; letter-spacing:-.025em; }
.smd-entry .sg-prose > h3:first-child { margin-top:0; }
.smd-entry .sg-prose > p:last-child { margin-bottom:0; }

/* Notes carry the rule that decides the part. */
.smd-note { border-left:2px solid #7f7566; padding:2px 0 2px 22px; margin:26px 0; font-size:15px; line-height:1.78; color:#c9c3ba; }
.smd-note strong { display:block; margin-bottom:7px; font-size:13px; font-weight:500; letter-spacing:.01em; color:var(--sg-ink); }
.smd-note--warning { border-left-color:var(--smd-accent); }
.smd-note--warning strong { color:#eed9bc; }
.smd-note--danger { border-left-color:#c98a72; }
.smd-note--danger strong { color:#f0c3b1; }

.smd-formula { margin:28px 0; padding:22px 24px; background:#ffffff08; border-left:2px solid #7f7566; font:16px/1.85 'Share Tech Mono',monospace; color:#ece5da; overflow-wrap:anywhere; }
.smd-formula .comment { display:block; margin-top:10px; font-size:12px; color:#a99d8b; }

.smd-list { margin:22px 0; padding-left:20px; }
.smd-list li { margin:12px 0; padding-left:6px; font-size:16px; line-height:1.8; color:#c6c0b7; }
.smd-list li::marker { color:#93897a; }
.smd-list strong { color:var(--sg-ink); font-weight:500; }
.smd-list--labelled { list-style:none; padding-left:0; }
.smd-list--labelled li { display:flex; align-items:baseline; gap:14px; padding-left:0; }
.smd-page .lbl { flex:none; font:11px 'Share Tech Mono',monospace; letter-spacing:.06em; color:#2a2724; background:var(--smd-accent); padding:3px 9px; white-space:nowrap; }

.smd-figure { margin:30px 0; }
.smd-figure-img { display:block; width:100%; height:auto; background:#1f1e1c; border:1px solid #ffffff1f; }
.smd-figure figcaption { padding:11px 0 0; font-size:11px; line-height:1.65; color:#a9a197; }
.smd-figure--side { float:right; max-width:360px; margin:6px 0 22px 34px; }

/* These tables carry numbers, not prose, so they sit tighter than the grade tables. */
.smd-page .sg-table-wrap { scrollbar-color:#8b8073 #282725; }
.smd-page .smd-table { min-width:620px; font-size:14px; background:#2e2d2a; color:#e6e0d6; }
.smd-page .smd-table th,.smd-page .smd-table td { padding:15px 18px; border-color:#5e574d; }
.smd-page .smd-table thead th { background:#201f1d; color:#eee7dc; font-size:12px; font-weight:500; letter-spacing:.04em; text-transform:uppercase; }
.smd-page .smd-table tbody tr { background:#2e2d2a; }
.smd-page .smd-table tbody tr:nth-child(even) { background:#363430; }
.smd-page .smd-table tbody tr:hover { background:#443f38; }
.smd-page .smd-table th:first-child,.smd-page .smd-table th:nth-child(2) { width:auto; }
.smd-page .smd-table .mono { font-family:'Share Tech Mono',monospace; color:#ecd9bd; }

.smd-page .sg-ending > p > span { color:#b0a79b; }
.smd-page .sg-action { border-bottom-color:#8a7f70; }

@media(max-width:1050px) {
  .smd-entry { grid-template-columns:1fr; gap:26px; }
  .smd-entry-id { position:static; }
  .smd-entry-id > p { max-width:none; }
  .smd-qualifier { margin-top:10px; }
  .smd-map { gap:0 5vw; }
  .smd-map-col + .smd-map-col { padding-left:5vw; margin-left:-5vw; }
}
@media(max-width:700px) {
  .smd-page .sg-hero h1 { font-size:clamp(62px,17vw,112px); }
  .smd-map { grid-template-columns:1fr; gap:0; }
  .smd-map-col { padding:24px 0 6px; border-top:1px solid var(--sg-line); }
  .smd-map-col:first-child { border-top:0; }
  .smd-map-col + .smd-map-col { padding-left:0; margin-left:0; border-left:0; }
  .smd-map-col h3 { font-size:24px; }
  .smd-entry { padding:38px 0; }
  .smd-entry-id h3 { font-size:30px; }
  .smd-figure--side { float:none; max-width:none; margin:30px 0; }
  .smd-formula { padding:18px 20px; font-size:14px; }
  .smd-list li { font-size:15px; }
  .smd-note { font-size:14px; padding-left:18px; }
  .smd-page .smd-table { min-width:520px; font-size:13px; }
  .smd-page .smd-table th,.smd-page .smd-table td { padding:12px 14px; }
}
@media(prefers-reduced-motion:reduce) { .smd-map-list a { transition:none; } .smd-map-list a:hover { padding-left:0; } }
@media print {
  .smd-page { background:#fff; color:#111; }
  .smd-entry-id { position:static; }
  .smd-entry,.smd-formula,.smd-figure,.smd-note { break-inside:avoid; }
  .smd-page .smd-table,.smd-page .smd-table tbody tr:nth-child(n),.smd-page .smd-table thead th { background:#fff; color:#111; }
  .smd-formula { background:#f2f2f0; color:#111; }
  .smd-page .lbl { background:#ddd; color:#111; }
  .smd-ref,.smd-qualifier,.smd-note,.smd-list li,.smd-figure figcaption,.smd-map-list a { color:#111 !important; }
  .smd-figure--side { float:none; max-width:60%; margin:20px 0; }
}
