/* Fonts are served from this site (/fonts), not Google. SIL Open Font License, see /fonts/LICENSE.txt */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/archivo-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/archivo-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/archivo-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/archivo-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/fonts/archivo-latin-ext-700-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/fonts/archivo-latin-700-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(/fonts/archivo-latin-ext-800-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(/fonts/archivo-latin-800-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/ibm-plex-mono-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/ibm-plex-mono-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/source-serif-4-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/source-serif-4-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/source-serif-4-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/source-serif-4-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
    --ground:#EFF1EC;
    --surface:#F8F9F5;
    --surface-2:#E3E7DE;
    --ink:#151E19;
    --ink-2:#4A574F;
    --ink-3:#77837A;
    --line:#D3D9CE;
    --line-strong:#B6BFB2;
    --accent:#8A6320;
    --accent-ink:#6E4E17;
    --deep:#24544A;
    --deep-solid:#24544A;
    --ok:#2F6B4F;
    --warn:#8A6320;
    --flag:#8C3A2E;

    --display:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --body:"Source Serif 4",Georgia,"Times New Roman",serif;
    --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;

    --max:1400px;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --ground:#0F1613;
      --surface:#151E1A;
      --surface-2:#1E2A25;
      --ink:#E6EAE2;
      --ink-2:#A9B4AB;
      --ink-3:#7E8A81;
      --line:#2A3631;
      --line-strong:#3A4842;
      --accent:#CFA257;
      --accent-ink:#DDB673;
      --deep:#6FB3A2;
      --deep-solid:#16302B;
      --ok:#63B489;
      --warn:#CFA257;
      --flag:#D98A7C;
    }
  }
  :root[data-theme="dark"]{
    --ground:#0F1613;
    --surface:#151E1A;
    --surface-2:#1E2A25;
    --ink:#E6EAE2;
    --ink-2:#A9B4AB;
    --ink-3:#7E8A81;
    --line:#2A3631;
    --line-strong:#3A4842;
    --accent:#CFA257;
    --accent-ink:#DDB673;
    --deep:#6FB3A2;
    --deep-solid:#16302B;
    --ok:#63B489;
    --warn:#CFA257;
    --flag:#D98A7C;
  }

  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;background:var(--ground);color:var(--ink);
    font-family:var(--body);font-size:16.5px;line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%}
  [hidden]{display:none!important}
  .wrap{max-width:var(--max);margin:0 auto;padding-inline:20px}
  h1,h2,h3,h4{font-family:var(--display);text-wrap:balance;margin:0;letter-spacing:-.018em}
  p{margin:0}
  a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:2px}
  :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}

  .skip{position:absolute;left:-9999px}
  .skip:focus{left:20px;top:10px;z-index:9;background:var(--surface);padding:10px 14px;border:1px solid var(--accent)}

  .eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}

  /* masthead */
  .masthead{border-bottom:1px solid var(--line-strong);background:var(--surface)}
  .masthead-inner{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:baseline;justify-content:space-between;padding-block:26px 20px}
  .wordmark{font-family:var(--display);font-weight:800;font-size:clamp(34px,6.6vw,60px);line-height:.98;letter-spacing:-.038em}
  .wordmark span{color:var(--deep)}
  .tagline{font-size:15px;color:var(--ink-2);max-width:36ch;margin-top:8px}
  .stamp{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);text-align:right;line-height:1.7}
  .stamp b{color:var(--ink-2);font-weight:500}
  .nav{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:0 26px;padding-block:11px}
  .nav a{
    font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
    color:var(--ink-2);text-decoration:none;padding-block:4px;border-bottom:2px solid transparent;
  }
  .nav a:hover{color:var(--accent-ink);border-bottom-color:var(--accent)}


  /* hero */
  .hero{
    position:relative;overflow:hidden;background:#101C18;
    min-height:clamp(400px,52vw,600px);display:flex;align-items:flex-end;
  }
  .hero-frames{position:absolute;inset:0}
  .frame{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease-in-out}
  .frame.is-on{opacity:1}
  .frame img{width:100%;height:100%;object-fit:cover;display:block}
  .frame img{will-change:transform;object-position:50% 50%;transform-origin:50% 50%}
  /* focal points: people frames framed on the faces, landscapes on the horizon */
  .frame:nth-child(1) img{object-position:50% 24%;transform-origin:50% 24%}
  .frame:nth-child(2) img{object-position:50% 28%;transform-origin:50% 28%}
  .frame:nth-child(3) img{object-position:50% 40%;transform-origin:50% 40%}
  .frame:nth-child(4) img{object-position:50% 46%;transform-origin:50% 46%}
  .frame:nth-child(5) img{object-position:50% 46%;transform-origin:50% 46%}
  .frame:nth-child(6) img{object-position:50% 44%;transform-origin:50% 44%}
  .frame:nth-child(7) img{object-position:50% 48%;transform-origin:50% 48%}
  .frame:nth-child(8) img{object-position:50% 46%;transform-origin:50% 46%}
  @keyframes kb-in{from{transform:scale(1.005) translate3d(0,0,0)}to{transform:scale(1.055) translate3d(-1.1%,0,0)}}
  @keyframes kb-out{from{transform:scale(1.055) translate3d(1.1%,0,0)}to{transform:scale(1.005) translate3d(0,0,0)}}
  .frame.is-on img{animation:kb-in 9s ease-out forwards}
  .frame:nth-child(even).is-on img{animation-name:kb-out}
  @keyframes kb-in-sm{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.03) translate3d(-0.7%,0,0)}}
  @keyframes kb-out-sm{from{transform:scale(1.03) translate3d(0.7%,0,0)}to{transform:scale(1) translate3d(0,0,0)}}
  @media (max-width:620px){
    .frame.is-on img{animation-name:kb-in-sm}
    .frame:nth-child(even).is-on img{animation-name:kb-out-sm}
    .frame:nth-child(1) img,.frame:nth-child(2) img{object-position:50% 18%;transform-origin:50% 18%}
    .frame:nth-child(3) img{object-position:50% 34%;transform-origin:50% 34%}
  }
  @media (prefers-reduced-motion:reduce){
    .frame img,.frame.is-on img{animation:none!important;transform:none!important}
    .frame{transition:none}
  }

  .hero-tint{position:absolute;inset:0;background:#1C4740;opacity:.13;mix-blend-mode:multiply;pointer-events:none}
  .hero-scrim{
    position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(to top,rgba(9,20,16,.86) 0%,rgba(9,20,16,.52) 36%,rgba(9,20,16,.06) 72%,rgba(9,20,16,.18) 100%);
  }
  .hero-inner{position:relative;width:100%;padding-block:44px 30px;color:#F3F6F1}
  .hero .wordmark{color:#F5F8F2;text-shadow:0 2px 18px rgba(6,16,12,.55)}
  .hero .wordmark span{color:#D9A94F}
  .hero-tag{
    margin:15px 0 0;max-width:46ch;font-size:clamp(17px,2.5vw,22px);
    font-family:var(--body);font-weight:400;letter-spacing:0;line-height:1.45;
    color:#E2EAE2;text-shadow:0 1px 12px rgba(6,16,12,.6);
  }
  .hero-chip{
    display:inline-block;margin-top:16px;font-family:var(--mono);font-size:10.5px;
    letter-spacing:.14em;text-transform:uppercase;color:#F0DDB8;
    border:1px solid rgba(217,169,79,.55);padding:6px 11px;background:rgba(9,20,16,.35);
  }
  .dots{position:absolute;right:20px;bottom:22px;display:flex;gap:7px;z-index:2}
  .dot{
    width:8px;height:8px;padding:0;border-radius:50%;cursor:pointer;
    border:1px solid rgba(243,246,241,.75);background:transparent;
  }
  .dot[aria-current="true"]{background:#D9A94F;border-color:#D9A94F}
  .dot:focus-visible{outline:2px solid #D9A94F;outline-offset:3px}

  .navbar{background:var(--surface);border-bottom:1px solid var(--line-strong)}
  .navbar-inner{display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center;justify-content:space-between;padding-block:11px}
  .navbar .stamp{text-align:right;font-size:11px}

  /* figures */
  .strip{background:var(--deep-solid);color:#F3F6F1}
  .strip-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(243,246,241,.18);border-inline:1px solid rgba(243,246,241,.18)}
  .fig{background:var(--deep-solid);padding:16px 18px}
  .fig dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;opacity:.72}
  .fig dd{margin:5px 0 0;font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
  .fig .delta{font-family:var(--mono);font-size:11.5px;font-weight:500;opacity:.8;margin-left:7px;letter-spacing:0}
  .strip-note{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;opacity:.7;padding:9px 0 11px}

  section{padding-block:clamp(38px,6vw,64px);scroll-margin-top:12px}
  .section-head{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:baseline;margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid var(--line)}
  .section-head h2{font-size:clamp(20px,3vw,26px);font-weight:700}
  .section-head .eyebrow{margin-left:auto}

  /* briefs */
  .briefs{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:28px 38px;align-items:start}
  .brief h3{font-size:17px;font-weight:600;line-height:1.3;margin-bottom:7px}
  .brief p{font-size:15px;color:var(--ink-2)}
  .brief .tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--deep);border-bottom:2px solid var(--deep);padding-bottom:3px;margin-bottom:11px}
  .brief .num{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}

  /* register panel */
  .panel{display:grid;grid-template-columns:1.15fr 1fr;gap:34px;align-items:start}
  .panel-lead h3{font-size:clamp(19px,2.6vw,23px);font-weight:700;margin-bottom:12px}
  .panel-lead p{color:var(--ink-2);margin-bottom:14px;max-width:60ch}
  .classes{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
  .classes li{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);align-items:baseline}
  .classes .k{font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--deep);border:1px solid currentColor;padding:3px 7px;white-space:nowrap}
  .classes .v{font-size:14.5px;color:var(--ink-2)}
  .gate{background:var(--surface);border:1px solid var(--line-strong);border-left:3px solid var(--accent);padding:18px 20px}
  .gate h4{font-size:15px;font-weight:700;margin-bottom:10px}
  .gate ol{margin:0;padding-left:19px;display:grid;gap:7px}
  .gate li{font-size:14.5px;color:var(--ink-2)}

  /* form */
  .form-wrap{background:var(--surface);border:1px solid var(--line);padding:20px;margin-top:30px}
  .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px 16px}
  .field{display:flex;flex-direction:column;gap:5px;min-width:0}
  .field.wide{grid-column:1 / -1}
  .field label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
  .field label .req{color:var(--flag)}
  .field input,.field select,.field textarea{
    font-family:var(--display);font-size:14px;font-weight:500;color:var(--ink);
    background:var(--ground);border:1px solid var(--line-strong);border-radius:0;padding:9px 10px;width:100%;min-width:0;
  }
  .field textarea{font-family:var(--body);font-weight:400;font-size:15px;resize:vertical;min-height:76px}
  .field .hint{font-family:var(--body);font-size:12.5px;color:var(--ink-3);line-height:1.45}
  .field.invalid input,.field.invalid select{border-color:var(--flag)}
  .field .err{font-family:var(--mono);font-size:11px;color:var(--flag);letter-spacing:.02em}
  .check{display:flex;gap:9px;align-items:center;font-size:14px;color:var(--ink-2)}
  .check input{width:16px;height:16px;accent-color:var(--deep)}
  .form-foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
  .submit-btn{font-family:var(--display);font-size:14px;font-weight:700;background:var(--deep-solid);color:#F3F6F1;border:1px solid var(--deep-solid);padding:11px 22px;cursor:pointer}
  :root[data-theme="dark"] .submit-btn,
  :root:not([data-theme="light"]) .submit-btn{color:#F3F6F1}
  .submit-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--ground)}
  .form-msg{font-size:14px;color:var(--ink-2)}
  .form-msg.ok{color:var(--ok)}
  .form-msg.bad{color:var(--flag)}
  .privacy{font-size:13px;color:var(--ink-3);margin-top:12px;max-width:76ch}


  /* register board */
  .board-note{
    display:flex;gap:12px;align-items:flex-start;
    border:1px solid var(--line-strong);border-left:3px solid var(--ok);
    background:var(--surface);padding:13px 16px;margin-bottom:20px;font-size:14.5px;color:var(--ink-2);
  }
  .controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;background:var(--surface);border:1px solid var(--line);padding:16px}
  .ctl{display:flex;flex-direction:column;gap:5px;min-width:0}
  .ctl label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
  .ctl select,.ctl input{
    font-family:var(--display);font-size:14px;font-weight:500;color:var(--ink);
    background:var(--ground);border:1px solid var(--line-strong);border-radius:0;padding:8px 9px;width:100%;min-width:0;
  }
  .ctl input::placeholder{color:var(--ink-3);font-weight:400}
  .bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 0 14px;border-bottom:1px solid var(--line-strong)}
  .count{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--ink-2);font-variant-numeric:tabular-nums}
  .count b{color:var(--ink);font-weight:600}
  .reset{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:none;border:1px solid var(--line-strong);color:var(--ink-2);padding:7px 12px;cursor:pointer}
  .reset:hover{border-color:var(--accent);color:var(--accent-ink)}
  .bar-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-left:auto}
  .toggle{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:none;border:1px solid var(--line-strong);color:var(--ink-2);padding:7px 12px;cursor:pointer;display:inline-flex;gap:7px;align-items:center}
  .toggle:hover{border-color:var(--accent);color:var(--accent-ink)}
  .toggle[aria-pressed="true"]{border-color:var(--accent);color:var(--accent-ink);background:var(--surface)}
  .toggle .n{font-variant-numeric:tabular-nums}
  .searches{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 0 0;width:100%}
  .searches label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
  .searches select,.searches input{font-family:var(--display);font-size:13px;font-weight:500;color:var(--ink);background:var(--ground);border:1px solid var(--line-strong);padding:6px 8px;min-width:150px}
  .searches input::placeholder{color:var(--ink-3);font-weight:400}
  .searches .reset{padding:6px 10px}

  .head-row,.lot{
    display:grid;
    grid-template-columns:94px minmax(160px,2fr) 92px 128px 72px 98px 114px 116px 34px;
    gap:4px 16px;
  }
  .head-row{padding:10px 16px;font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line-strong)}
  #boardWrap{margin-bottom:34px}
  .register-list{list-style:none;margin:0;padding:0}
  .lot{align-items:baseline;padding:15px 16px 15px 13px;border-bottom:1px solid var(--line);border-left:3px solid var(--line-strong);background:var(--surface)}
  .lot:hover{background:var(--surface-2)}
  .lot[data-status="verified"]{border-left-color:var(--ok)}
  .lot[data-status="inspection"]{border-left-color:var(--warn)}
  .lot[data-status="unverified"]{border-left-color:var(--flag)}
  .lot .ref{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--ink-3)}
  .lot .name{font-family:var(--display);font-size:16px;font-weight:600;line-height:1.28;letter-spacing:-.012em}
  .lot .loc{font-size:13.5px;color:var(--ink-2);display:block;margin-top:2px}
  .lot .cell{font-family:var(--mono);font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
  .lot .meta{display:contents}
  .lot .price{font-family:var(--display);font-size:15px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
  .lot .price.poa{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--ink-3);letter-spacing:.06em}
  .chip{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;padding:3px 7px;border:1px solid currentColor;white-space:nowrap}
  .chip.commodity{color:var(--deep)}
  .chip.st-verified{color:var(--ok)}
  .chip.deal{color:var(--ink-2,inherit);opacity:.85}
  .chip.st-papers{color:var(--warn)}
  .chip.st-inspection{color:var(--warn)}
  .chip.st-unverified{color:var(--flag)}
  .star-cell{display:flex;justify-content:flex-end}
  .star{background:none;border:1px solid transparent;cursor:pointer;width:28px;height:28px;padding:0;color:var(--ink-3);display:flex;align-items:center;justify-content:center}
  .star:hover{color:var(--accent-ink);border-color:var(--line-strong)}
  .star[aria-pressed="true"]{color:var(--accent-ink)}
  .star svg{width:15px;height:15px;display:block}
  .no-match{padding:40px 16px;text-align:center;color:var(--ink-2);background:var(--surface);border-bottom:1px solid var(--line)}
  .no-match b{font-family:var(--display);display:block;margin-bottom:5px;color:var(--ink)}
  .opening{
    background:var(--surface);border:1px solid var(--line-strong);border-left:3px solid var(--deep);
    padding:22px 24px;margin-bottom:30px;
  }
  .opening h3{font-size:clamp(18px,2.4vw,21px);font-weight:700;margin-bottom:10px}
  .opening p{color:var(--ink-2);max-width:62ch}
  .opening .cta{display:inline-block;margin-top:14px;font-family:var(--display);font-weight:700;font-size:14px;color:var(--accent-ink)}

  /* document chain */
  .chain{list-style:none;margin:0;padding:0;counter-reset:step;display:grid;gap:0}
  .chain li{counter-increment:step;display:grid;grid-template-columns:44px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);align-items:start}
  .chain li::before{content:counter(step,decimal-leading-zero);font-family:var(--mono);font-size:12px;font-weight:600;color:var(--accent-ink);letter-spacing:.05em;padding-top:2px}
  .chain h3{font-size:16px;font-weight:600;margin-bottom:4px}
  .chain p{font-size:15px;color:var(--ink-2)}
  .chain .doc{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);display:block;margin-top:6px;letter-spacing:.02em}

  footer{border-top:1px solid var(--line-strong);background:var(--surface);padding-block:30px 36px}
  .foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px 34px}
  footer h2{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-bottom:9px}
  footer p,footer li{font-size:14px;color:var(--ink-2)}
  footer ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
  .disclaimer{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3);max-width:82ch}
  .colophon{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-3)}

  @media (max-width:900px){
    .strip-inner{grid-template-columns:repeat(2,1fr)}
    .panel{grid-template-columns:1fr;gap:26px}
    .head-row{display:none}
    .lot{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:15px 15px 15px 12px}
    .lot .ref{order:1}
    .lot .star-cell{order:2;margin-left:auto}
    .lot .name-cell{order:3;flex:1 1 100%}
    .lot .commodity-cell{order:4}
    .lot .status-cell{order:5}
    .lot .meta{order:6;flex:1 1 100%;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}
    .lot .price-cell{order:7;flex:1 1 100%;margin-top:3px;padding-top:9px;border-top:1px dotted var(--line-strong)}
    .searches{flex:1 1 100%}
  }
  @media (max-width:520px){
    .strip-inner{grid-template-columns:1fr}
    .stamp{text-align:left}
    .nav{gap:0 18px}
    .hero{min-height:340px}
    .hero-inner{padding-block:30px 24px}
    .dots{right:16px;bottom:16px}
    .navbar .stamp{text-align:left}
  }
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}


/* ---------- compact header for inner pages ---------- */
.subhead{background:var(--surface);border-bottom:1px solid var(--line-strong)}
.subhead-inner{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;justify-content:space-between;padding-block:18px 14px}
.subhead .wordmark{font-size:clamp(25px,4vw,34px);text-decoration:none;color:var(--ink);display:inline-block}
.subhead .wordmark span{color:var(--deep)}
.nav a[aria-current="page"]{color:var(--accent-ink);border-bottom-color:var(--accent)}

/* ---------- breadcrumb ---------- */
.crumbs{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-block:16px 0}
.crumbs a{color:var(--ink-3);text-decoration:none}
.crumbs a:hover{color:var(--accent-ink)}
.crumbs span{margin-inline:7px;opacity:.55}

/* ---------- page opener ---------- */
.opener{padding-block:24px 6px}
.opener .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--deep);margin-bottom:11px}
.opener h1{font-size:clamp(27px,5vw,42px);font-weight:800;letter-spacing:-.028em;line-height:1.08}
.opener .stand{margin-top:14px;font-size:clamp(16.5px,2.1vw,19px);color:var(--ink-2);max-width:58ch}

/* ---------- article prose ---------- */
.prose{max-width:68ch}
.prose h2{font-size:clamp(19px,2.8vw,24px);font-weight:700;margin:34px 0 10px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.prose h3{font-size:17.5px;font-weight:600;margin:24px 0 7px}
.prose p{margin-bottom:14px;color:var(--ink-2)}
.prose p strong,.prose li strong{color:var(--ink);font-weight:600}
.prose ul,.prose ol{margin:0 0 16px;padding-left:21px;display:grid;gap:7px}
.prose li{color:var(--ink-2)}
.prose .lead{font-size:17.5px;color:var(--ink)}
.callout{background:var(--surface);border:1px solid var(--line-strong);border-left:3px solid var(--deep);padding:16px 19px;margin:22px 0}
.callout p{margin:0;color:var(--ink-2);font-size:15px}
.callout p + p{margin-top:9px}
.callout b{font-family:var(--display);color:var(--ink)}
.warnout{border-left-color:var(--flag)}
.numbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:22px 0}
.numbers div{background:var(--surface);padding:14px 16px}
.numbers dt{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.numbers dd{margin:6px 0 0;font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.numbers dd small{font-family:var(--mono);font-weight:500;font-size:11px;color:var(--ink-3);letter-spacing:0;margin-left:6px}

/* ---------- related links ---------- */
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:10px}
.related a{background:var(--surface);padding:16px 18px;text-decoration:none;display:block}
.related a:hover{background:var(--surface-2)}
.related .t{font-family:var(--display);font-weight:600;font-size:15.5px;color:var(--ink);display:block}
.related .d{font-size:13.5px;color:var(--ink-2);display:block;margin-top:4px}

/* ---------- faq ---------- */
.faq{margin-top:10px}
.faq details{border-bottom:1px solid var(--line);padding:13px 0}
.faq summary{cursor:pointer;font-family:var(--display);font-weight:600;font-size:16px;list-style:none;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+ ";color:var(--accent-ink);font-family:var(--mono)}
.faq details[open] summary::before{content:"\2013 "}
.faq details p{margin-top:9px;font-size:15px;color:var(--ink-2);max-width:68ch}
.faq details p + p{margin-top:9px}

/* ---------- page hero for inner pages ---------- */
.pagehero{position:relative;overflow:hidden;background:#101C18;display:flex;align-items:flex-end;min-height:clamp(290px,30vw,400px)}
.pagehero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pagehero .tint{position:absolute;inset:0;background:#1C4740;opacity:.16;mix-blend-mode:multiply}
.pagehero .scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(9,20,16,.92) 0%,rgba(9,20,16,.66) 40%,rgba(9,20,16,.16) 78%,rgba(9,20,16,.30) 100%)}
.pagehero .inner{position:relative;width:100%;padding-block:38px 30px;color:#F3F6F1}
.pagehero .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#E3C892;margin-bottom:10px}
.pagehero h1{font-size:clamp(30px,5.4vw,52px);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:#F5F8F2;text-shadow:0 2px 18px rgba(6,16,12,.5)}
.pagehero .stand{margin-top:15px;font-size:clamp(17px,2.3vw,21px);line-height:1.45;color:#E2EAE2;max-width:52ch;text-shadow:0 1px 12px rgba(6,16,12,.55)}
.pagehero.pg-gold img{object-position:50% 24%}
.pagehero.pg-guide img{object-position:50% 38%}
.pagehero.pg-lithium img{object-position:50% 46%}
.pagehero.pg-chrome img{object-position:50% 48%}
.pagehero.pg-platinum img{object-position:50% 44%}
@media (max-width:620px){
  .pagehero{min-height:230px}
  .pagehero .inner{padding-block:26px 22px}
  .pagehero.pg-gold img{object-position:50% 18%}
  .pagehero.pg-guide img{object-position:50% 34%}
}

/* ======================================================================
   CHARTS — plain HTML/CSS charts. Data lives in the markup; charts.js only
   adds the hover/focus tooltip. Colours follow the entity, not the rank:
   gold = gold, green = PGMs, blue = lithium, stone grey = everything else. Chart cards sit on a soft sage background.
   Palette validated for colour-blind separation in light and dark mode.
   ====================================================================== */
:root{
  --c-gold:#BA882E;--c-teal:#0B6F49;--c-blue:#4984BF;--c-other:#A9A796;
  --c-track:#D3DACD;--c-grid:#CDD5C7;--c-card:#E4E9E0;--c-card-line:#CFD7C9;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){--c-gold:#BA882E;--c-teal:#0B7D5C;--c-blue:#5590CC;--c-other:#5E655C;--c-track:#25312B;--c-grid:#26322D;--c-card:#18221E;--c-card-line:#2A3631}
}
:root[data-theme="dark"]{--c-gold:#BA882E;--c-teal:#0B7D5C;--c-blue:#5590CC;--c-other:#5E655C;--c-track:#25312B;--c-grid:#26322D;--c-card:#18221E;--c-card-line:#2A3631}

.chart{margin:22px 0;padding:18px 20px 14px;background:var(--c-card);border:1px solid var(--c-card-line);border-top:3px solid var(--c-gold);min-width:0}
.chart figcaption{margin-bottom:14px}
.chart .ch-title{display:block;font-family:var(--display);font-weight:700;font-size:16px;line-height:1.3;color:var(--ink);letter-spacing:-.01em}
.chart .ch-sub{display:block;margin-top:3px;font-size:13.5px;color:var(--ink-2);line-height:1.45}
.chart .ch-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 12px;padding:0;list-style:none;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-2)}
.chart .ch-legend li{display:inline-flex;align-items:center;gap:7px}
.chart .ch-legend i{width:12px;height:12px;border-radius:2px;display:inline-block}
.chart .ch-foot{margin-top:12px;padding-top:10px;border-top:1px solid var(--c-card-line);display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;justify-content:space-between}
.chart .ch-source{font-size:12.5px;color:var(--ink-3);line-height:1.5}
.chart .ch-source a{color:var(--ink-2)}
.chart details{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-2)}
.chart summary{cursor:pointer;text-transform:uppercase;letter-spacing:.1em;list-style:none}
.chart summary::-webkit-details-marker{display:none}
.chart summary::before{content:"+ ";color:var(--accent-ink)}
.chart details[open] summary::before{content:"\2013 "}
.chart details[open]{flex:1 1 100%}
.chart table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12.5px;letter-spacing:0}
.chart th,.chart td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--c-card-line);font-weight:500;color:var(--ink-2)}
.chart th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.chart td.n,.chart th.n{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}
.chart .ch-note{font-family:var(--body);font-size:12.5px;color:var(--ink-3);margin-top:8px;letter-spacing:0}
.fill-gold{background:var(--c-gold)}.fill-teal{background:var(--c-teal)}.fill-blue{background:var(--c-blue)}.fill-other{background:var(--c-other)}
.fill-forecast{background:repeating-linear-gradient(45deg,var(--c-teal) 0 3px,transparent 3px 7px);box-shadow:inset 0 0 0 1px var(--c-teal)}
[data-tip]{cursor:default}
[data-tip]:hover,[data-tip]:focus-visible{filter:brightness(1.12)}
[data-tip]:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* horizontal bars */
.hbars{display:grid;gap:9px}
.hbar{display:grid;grid-template-columns:minmax(96px,30%) 1fr auto;gap:12px;align-items:center}
.hbar .lab{font-family:var(--display);font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.25}
.hbar .track{height:22px;position:relative}
.hbar .bar{position:absolute;left:0;top:0;bottom:0;border-radius:0 4px 4px 0;min-width:3px}
.hbar .val{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;min-width:62px;text-align:right}

/* 100% stacked bars */
.stacks{display:grid;gap:12px}
.stack-row .lab{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px;display:flex;justify-content:space-between;gap:10px}
.stack{display:flex;gap:2px;height:26px}
.stack .seg{height:100%;min-width:3px;position:relative;display:flex;align-items:center;justify-content:center;overflow:visible}
.stack .seg:first-child{border-radius:4px 0 0 4px}
.stack .seg:last-child{border-radius:0 4px 4px 0}
.stack .seg b{font-family:var(--mono);font-size:11px;font-weight:600;color:#fff;white-space:nowrap;pointer-events:none}
.stack .seg.fill-gold b,.stack .seg.fill-other b{color:#16201B}

/* columns */
.cols{position:relative;display:grid;grid-template-columns:34px 1fr;gap:8px}
.cols .yaxis{position:relative;height:190px;font-family:var(--mono);font-size:10.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.cols .yaxis span{position:absolute;right:0;transform:translateY(50%)}
.cols .plot{position:relative;height:190px;border-bottom:1px solid var(--line-strong)}
.cols .grid{position:absolute;left:0;right:0;border-top:1px solid var(--c-grid)}
.cols .bars{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-around;gap:2px}
.cols .col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.cols .col .bar{width:min(24px,70%);border-radius:4px 4px 0 0;position:relative}
.cols .col .cap{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink);margin-bottom:4px;white-space:nowrap;font-variant-numeric:tabular-nums}
.cols .xaxis{grid-column:2;display:flex;justify-content:space-around;gap:2px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--ink-3);text-transform:uppercase}
.cols .xaxis span{flex:1 1 0;text-align:center;min-width:0}

/* meter */
.meter .m-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.meter .m-big{font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:-.02em;color:var(--ink)}
.meter .m-big small{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--ink-3);margin-left:6px;letter-spacing:0}
.meter .m-track{position:relative;height:16px;background:var(--c-track);border-radius:4px}
.meter .m-fill{position:absolute;left:0;top:0;bottom:0;border-radius:4px}
.meter .m-mark{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--ink)}
.meter .m-scale{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;color:var(--ink-3);margin-top:7px}
.meter .m-key{font-size:13px;color:var(--ink-2);margin-top:8px}
.meter .m-key i{display:inline-block;width:2px;height:12px;background:var(--ink);vertical-align:-1px;margin-right:7px}

/* chart grid on the home page */
.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;align-items:start}
.chart-grid .chart{margin:0}
.prose .chart{max-width:none}

/* tooltip */
.ch-tip{position:fixed;z-index:50;pointer-events:none;background:var(--ink);color:var(--ground);padding:7px 10px;font-family:var(--mono);font-size:12px;line-height:1.4;max-width:260px;border-radius:3px;box-shadow:0 4px 18px rgba(0,0,0,.18)}
.ch-tip b{display:block;font-family:var(--display);font-size:14px;font-weight:700}

@media (max-width:520px){
  .chart{padding:14px 14px 12px}
  .hbar{grid-template-columns:1fr auto;gap:4px 10px}
  .hbar .lab{grid-column:1 / -1}
  .hbar .track{grid-column:1}
  .cols .yaxis,.cols .plot{height:160px}
  .cols .col .cap{font-size:10px}
  .stack .seg b{display:none}
}
@media (forced-colors:active){.fill-gold,.fill-teal,.fill-blue,.fill-other,.bar,.seg,.m-fill{forced-color-adjust:none;border:1px solid CanvasText}}

/* ---------- news ---------- */
.brief h3 a{color:inherit;text-decoration:none}
.brief h3 a:hover{color:var(--accent-ink);text-decoration:underline}
.brief .more{display:inline-block;margin-top:9px;font-family:var(--display);font-weight:700;font-size:14px}
.brief time,.byline time{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-left:10px}
.byline{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#CFD8CF;margin-top:14px}
.byline time{color:inherit;margin-left:0}
.sources{margin-top:30px;padding-top:14px;border-top:1px solid var(--line-strong)}
.sources h2{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:500;border:0;margin:0 0 10px;padding:0}
.sources ol{font-size:14px}
.newslist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.newslist li{padding:20px 0;border-bottom:1px solid var(--line);display:grid;gap:6px}
.newslist .meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.newslist .meta .tag{color:var(--deep);margin-right:10px}
.newslist h2{font-size:clamp(19px,2.6vw,23px);font-weight:700;line-height:1.25}
.newslist h2 a{color:var(--ink);text-decoration:none}
.newslist h2 a:hover{color:var(--accent-ink);text-decoration:underline}
.newslist p{color:var(--ink-2);max-width:70ch;font-size:15.5px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .stack .seg.fill-other b{color:#E6EAE2}}
:root[data-theme="dark"] .stack .seg.fill-other b{color:#E6EAE2}
/* chart text on the softer card: keep small text at readable contrast */
.chart .ch-source,.chart th,.chart .ch-note,.stack-row .lab,.cols .yaxis,.cols .xaxis,.meter .m-scale,.meter .m-big small{color:var(--ink-2)}

/* ======================================================================
   HOME PAGE — green / dark / green (option 2, revised)
   Top: the green figures strip fades into dark. Middle: everything from the
   charts down sits on dark. Bottom: fades back into the same green for the
   footer. The two green ends mirror each other. Header, hero and strip untouched.
   ====================================================================== */
body.home-green{background:#24544A}
body.home-green main,body.home-green footer{
  --ground:#0F1613;--surface:#151E1A;--surface-2:#1E2A25;
  --ink:#E6EAE2;--ink-2:#B4BFB6;--ink-3:#8E9A91;
  --line:#2A3631;--line-strong:#3A4842;
  --accent:#CFA257;--accent-ink:#DDB673;--deep:#6FB3A2;--deep-solid:#16302B;
  --ok:#63B489;--warn:#CFA257;--flag:#D98A7C;
  --c-gold:#BA882E;--c-teal:#0B7D5C;--c-blue:#5590CC;--c-other:#5E655C;
  --c-track:#25312B;--c-grid:#26322D;--c-card:#18221E;--c-card-line:#2A3631;
  color:var(--ink);
}
body.home-green main{background:#0F1613}
body.home-green .field input,body.home-green .field select,body.home-green .field textarea,
body.home-green .ctl input,body.home-green .ctl select,body.home-green .searches input,body.home-green .searches select{background:#0F1613;color:var(--ink)}
body.home-green .submit-btn{background:#D9A94F;border-color:#D9A94F;color:#16201B}
body.home-green .submit-btn:hover{background:#E6EAE2;border-color:#E6EAE2;color:#16302B}
body.home-green .stack .seg.fill-other b{color:#E6EAE2}

/* top green: strip fades into dark over 180px */
#numbers.zm-dark{
  max-width:none;padding-inline:0;padding-top:clamp(38px,6vw,64px);padding-bottom:0!important;
  background:linear-gradient(180deg,#24544A 0,#0F1613 180px,#0F1613 100%);
}
#numbers.zm-dark > *{max-width:var(--max);margin-inline:auto;padding-inline:20px}
#numbers.zm-dark .chart-grid{align-items:stretch}
/* bottom green: mirrors the top exactly — 180px fade, then a solid green band
   the same height as the figures strip (about 142px) */
body.home-green footer{
  border-top:1px solid #2A3631;padding-bottom:40px;
  background:linear-gradient(180deg,#0F1613 0,#0F1613 calc(100% - 322px),#24544A calc(100% - 142px),#24544A 100%);
  --ink-2:#C4CEC6;--ink-3:#A7B5AC;--accent-ink:#E0BA6E;
}

/* ======================================================================
   ONE COLOUR SCHEME, EVERY PAGE  (reference: the home page charts slide)
   Green figures band at the top fading into dark, everything on dark,
   flat dark chart cards with a gold top rule, footer fading back to green.
   Same in light and dark mode. No light backgrounds anywhere.
   ====================================================================== */
body{
  --ground:#0F1613;--surface:#151E1A;--surface-2:#1E2A25;
  --ink:#E6EAE2;--ink-2:#B4BFB6;--ink-3:#8E9A91;
  --line:#2A3631;--line-strong:#3A4842;
  --accent:#CFA257;--accent-ink:#DDB673;--deep:#6FB3A2;--deep-solid:#24544A;
  --ok:#63B489;--warn:#CFA257;--flag:#D98A7C;
  --c-gold:#BA882E;--c-teal:#0B7D5C;--c-blue:#5590CC;--c-other:#5E655C;
  --c-track:#25312B;--c-grid:#26322D;--c-card:#18221E;--c-card-line:#2A3631;
  background:#0F1613;color:var(--ink);
}
body.home-green{background:#24544A}
.subhead,.navbar{background:#151E1A;border-bottom-color:#2A3631}
.nav a{color:#B4BFB6}

/* chart cards: exactly the home cards */
.chart{background:#18221E;border:1px solid #2A3631;border-top:3px solid #BA882E;color:var(--ink)}
.stack .seg.fill-gold b{color:#16201B}
.stack .seg.fill-other b{color:#E6EAE2}
.fill-forecast{background:repeating-linear-gradient(45deg,var(--c-teal) 0 3px,transparent 3px 7px)}

/* key-figure table = home figures strip */
.numbers{background:rgba(243,246,241,.18);border:0;border-inline:1px solid rgba(243,246,241,.18);margin:0}
.numbers div{background:#24544A}
.numbers dt{color:rgba(243,246,241,.72)}
.numbers dd{color:#F3F6F1}
.numbers dd small{color:rgba(243,246,241,.72)}

/* top of every inner page: the first section under the photo is the green band
   that fades into dark over 180px — the same move as the home strip */
.pagehero + section,main > .opener{
  border-image:linear-gradient(180deg,#24544A 0,#24544A var(--band,0px),#0F1613 calc(var(--band,0px) + 180px),#0F1613 100%) fill 0 // 0 100vw;
}
.pagehero + section:has(> .numbers){--band:96px;padding-block:18px 180px!important}
.pagehero + section:has(> .numbers) + section{padding-top:0}
.pagehero + section:not(:has(> .numbers)){padding-top:clamp(56px,7vw,90px)}
main > .opener{padding-top:40px}
.crumbs{background:#0F1613;margin:0;max-width:none;padding-inline:max(20px,calc((100% - var(--max))/2 + 20px));padding-bottom:12px}

/* callouts, related links, faq, sources on dark */
.callout{background:#18221E;border-color:#2A3631}
.related{background:#2A3631;border-color:#2A3631}
.related a{background:#18221E}
.related a:hover{background:#1E2A25}

/* footer on every page mirrors the top: dark, fades to the strip green */
footer{
  border-top:1px solid #2A3631;padding-bottom:40px;
  background:linear-gradient(180deg,#0F1613 0,#0F1613 calc(100% - 322px),#24544A calc(100% - 142px),#24544A 100%);
  --ink-2:#C4CEC6;--ink-3:#A7B5AC;--accent-ink:#E0BA6E;
}
.subhead .wordmark{color:#F5F8F2}
.subhead .wordmark span{color:#D9A94F}
/* every "numbers, charted" slide lays out like the home one: three equal cards */
@media (min-width:900px){#numbers .chart-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* bars everywhere use the bright gold of the home monthly chart */
.fill-forecast{background:repeating-linear-gradient(45deg,#BA882E 0 3px,transparent 3px 7px)!important;box-shadow:inset 0 0 0 1px #BA882E}
.foot-links{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px 22px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.foot-links a{color:#E0BA6E;text-decoration:none}
.foot-links a:hover{text-decoration:underline}
.prose ol{padding-left:22px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.submit-btn[disabled]{opacity:.6;cursor:wait}
body > main{min-height:calc(100vh - 480px)}

/* ======================================================================
   NEWS PAGE  (/news/) — posts come from news.js, drawn by news-page.js.
   Uses only the site's existing colours: dark ground, strip green,
   gold accent, teal tags.
   ====================================================================== */
.news-hero{min-height:clamp(320px,36vw,470px)}
.news-hero .hero-frames{position:absolute;inset:0}
.news-hero .frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.news-hero .frame:nth-child(1) img{object-position:50% 46%;transform-origin:50% 46%}
.news-hero .frame:nth-child(8) img{object-position:50% 24%;transform-origin:50% 24%}
.news-hero .inner{z-index:1}
.news-hero .dots{z-index:2}
.news-hero .byline:empty{display:none}
.strip-note a{color:#F0DDB8}

#newsroom.zm-dark{
  max-width:none;padding-inline:0;padding-top:clamp(38px,6vw,64px);
  background:linear-gradient(180deg,#24544A 0,#0F1613 180px,#0F1613 100%);
  border-image:none;
}
#newsroom.zm-dark > *{max-width:var(--max);margin-inline:auto;padding-inline:20px}

.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* shared post bits */
.post-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.post-tag{color:var(--deep);border-bottom:2px solid var(--deep);padding-bottom:2px}
.post-badge{color:#16201B;background:#D9A94F;padding:2px 6px;letter-spacing:.1em}
.post-foot{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;justify-content:space-between;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.post-src{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-3)}
.post-more{font-family:var(--display);font-weight:700;font-size:14px;color:var(--accent-ink);text-decoration:none;white-space:nowrap}
.post-more:hover{text-decoration:underline}

/* lead story */
.lead-story{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:0;margin-bottom:clamp(34px,5vw,54px)}
.lead-story > *{min-width:0}
.lead-media{display:block;position:relative;overflow:hidden;background:#101C18;min-height:300px;border:1px solid #2A3631;border-right:0}
.lead-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.lead-story:hover .lead-media img{transform:scale(1.03)}
.lead-body{background:#18221E;border:1px solid #2A3631;border-top:3px solid #BA882E;padding:clamp(20px,3vw,34px);display:flex;flex-direction:column;gap:14px}
.lead-body h2{font-size:clamp(23px,3.2vw,34px);font-weight:800;line-height:1.12;letter-spacing:-.025em}
.lead-body h2 a{color:var(--ink);text-decoration:none}
.lead-body h2 a:hover{color:var(--accent-ink)}
.lead-body > p:not(.post-meta):not(.post-foot){color:var(--ink-2);font-size:clamp(15.5px,1.6vw,17px)}

/* tools */
.news-head{margin-bottom:16px}
.news-tools{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;margin-bottom:24px}
.nchips{display:flex;flex-wrap:wrap;gap:8px}
.nchip{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:none;border:1px solid var(--line-strong);color:var(--ink-2);padding:7px 11px;cursor:pointer}
.nchip .n{opacity:.6;margin-left:3px;font-variant-numeric:tabular-nums}
.nchip:hover{border-color:var(--accent);color:var(--accent-ink)}
.nchip[aria-pressed="true"]{border-color:#D9A94F;background:#D9A94F;color:#16201B}
.nchip[aria-pressed="true"] .n{opacity:.75}
.nsearch input{font-family:var(--display);font-size:14px;font-weight:500;color:var(--ink);background:#0F1613;border:1px solid var(--line-strong);border-radius:0;padding:8px 11px;width:min(260px,100%)}
.nsearch input::placeholder{color:var(--ink-3);font-weight:400}
.nsearch{flex:0 1 260px}

/* grid */
.news-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}
.ncard{display:flex;flex-direction:column;background:#18221E;border:1px solid #2A3631;min-width:0;transition:border-color .2s}
.ncard:hover{border-color:#3A4842}
.ncard.is-analysis{border-top:3px solid #BA882E}
.ncard-media{display:block;aspect-ratio:3/2;overflow:hidden;background:#101C18}
.ncard-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.ncard:hover .ncard-media img{transform:scale(1.04)}
.ncard-body{display:flex;flex-direction:column;gap:9px;padding:16px 18px 14px;flex:1}
.ncard h3{font-size:17.5px;font-weight:700;line-height:1.28}
.ncard h3 a{color:var(--ink);text-decoration:none}
.ncard h3 a:hover{color:var(--accent-ink);text-decoration:underline}
.ncard-body > p:not(.post-meta):not(.post-foot){font-size:14.5px;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.news-more-wrap{display:flex;justify-content:center;margin-top:26px}
#newsroom .no-match{background:#18221E;border:1px solid #2A3631;margin-top:6px}
#newsroom > .news-tip{margin-top:clamp(34px,5vw,54px)}

@media (max-width:820px){
  .lead-story{grid-template-columns:1fr}
  .lead-media{min-height:0;aspect-ratio:16/10;border-right:1px solid #2A3631;border-bottom:0}
  .nsearch,.nsearch input{flex:1 1 100%;width:100%}
}
@media (max-width:520px){
  .news-grid{grid-template-columns:1fr}
  .nchips{flex-wrap:nowrap;overflow-x:auto;margin-inline:-20px;padding-inline:20px;scrollbar-width:none}
  .nchips::-webkit-scrollbar{display:none}
  .nchip{flex:0 0 auto}
}
@media (prefers-reduced-motion:reduce){.lead-media img,.ncard-media img{transition:none}.lead-story:hover .lead-media img,.ncard:hover .ncard-media img{transform:none}}

/* ======================================================================
   CHARTS BESIDE THE STORY (design option 2) — each section of text sits
   next to the chart that goes with it. Used on the commodity pages and
   every news story. Colours are the site's: gold #BA882E, green #0B7D5C,
   grey #5E655C on the dark card #18221E.
   ====================================================================== */
#numbers.o2{padding-bottom:10px}
.o2-step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center;padding-block:clamp(26px,4vw,44px);border-bottom:1px solid #2A3631}
.o2-step.flip{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.o2-step.flip > figure{order:-1}
.o2-step > .prose{max-width:62ch}
.o2-step > .prose h2{margin-top:0}
.o2-step > .prose > p{font-size:17px}
.o2-step > .prose > p.lead{font-size:18px}
.o2-step > figure.chart{margin:0}
.o2-text{padding-block:clamp(26px,4vw,44px);border-bottom:1px solid #2A3631}
.o2-text > .prose h2:first-child{margin-top:0}
.o2-end{padding-block:clamp(20px,3vw,30px) 0}
.o2-end > .prose > .sources{margin-top:0}
.o2-num{display:inline-block;font-family:var(--mono);font-size:.86em;font-weight:600;color:#16201B;background:#D9A94F;padding:0 5px;border-radius:3px;white-space:nowrap;line-height:1.45}
.o2-num.g{background:#0B7D5C;color:#F3F6F1}
.prose .o2-num{color:#16201B}
.prose .o2-num.g{color:#F3F6F1}
@media (max-width:900px){.o2-step,.o2-step.flip{grid-template-columns:1fr}.o2-step.flip > figure{order:0}}

/* waffle: 100 squares, one square = 1% */
.o2-waffle{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.waffle{display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(10,1fr);gap:4px;aspect-ratio:1;width:190px}
.waffle i{display:block;border-radius:3px}
.o2-waffle .big{font-family:var(--display);font-weight:800;font-size:56px;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.o2-waffle .big span{font-size:.4em;font-weight:600;margin-left:6px;letter-spacing:0}
.o2-waffle p{color:var(--ink-2);font-size:14.5px;margin-top:8px}
@media (max-width:520px){.o2-waffle{grid-template-columns:1fr}}

/* columns with an optional reference line */
.zc{display:grid;grid-template-columns:30px 1fr;gap:0 10px}
.zc-y{position:relative;height:var(--h);font-family:var(--mono);font-size:10.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.zc-y span{position:absolute;right:0;transform:translateY(50%)}
.zc-plot{position:relative;height:var(--h);border-bottom:1px solid #3A4842}
.zc-grid{position:absolute;left:0;right:0;border-top:1px solid #26322D}
.zc-bars{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-around;gap:2px}
.zc-col{flex:1 1 0;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.zc-bar{width:min(24px,62%);border-radius:4px 4px 0 0;display:block}
.zc-bar:hover,.zc-bar:focus-visible{filter:brightness(1.18)}
.zc-cap{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink);margin-bottom:4px;white-space:nowrap;font-variant-numeric:tabular-nums}
.zc-note{font-family:var(--body);font-size:12px;line-height:1.3;color:var(--ink-2);text-align:center;margin-bottom:6px;max-width:120px}
.zc-ref{position:absolute;left:0;right:0;border-top:1px solid #E6EAE2;z-index:1;pointer-events:none}
.zc-ref em{position:absolute;right:0;bottom:4px;font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--ink);background:#18221E;padding:1px 6px}
.zc-x{grid-column:2;display:flex;justify-content:space-around;gap:2px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);padding-top:6px}
.zc-x span{flex:1 1 0;text-align:center}

/* split bar */
.sp-total{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px}
.sp{display:flex;gap:2px;height:34px}
.sp-seg{display:flex;align-items:center;padding-inline:9px;min-width:3px}
.sp-seg:first-child{border-radius:4px 0 0 4px}.sp-seg:last-child{border-radius:0 4px 4px 0}
.sp-seg:hover,.sp-seg:focus-visible{filter:brightness(1.15)}
.sp-seg b{font-family:var(--mono);font-size:11.5px;font-weight:600;color:#16201B;white-space:nowrap}
.sp-seg[style*="#0B7D5C"] b,.sp-seg[style*="#5E655C"] b{color:#F3F6F1}
.sp + .sp-total{margin-top:18px}

/* timeline */
.tl{position:relative;height:190px;margin:6px 10px 0}
.tl-line{position:absolute;left:0;right:0;top:50%;border-top:2px solid #3A4842}
.tl-ev{position:absolute;top:50%;width:0}
.tl-dot{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:#BA882E;box-shadow:0 0 0 3px #18221E;z-index:2}
.tl-dot::after{content:"";position:absolute;inset:-7px}
.tl-ev.future .tl-dot{background:#18221E;box-shadow:inset 0 0 0 2px #BA882E,0 0 0 3px #18221E}
.tl-ev.deadline .tl-dot{background:#E6EAE2;border-radius:2px;transform:rotate(45deg)}
.tl-lab{position:absolute;width:150px;font-size:13px;line-height:1.35;color:var(--ink-2)}
.tl-lab b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:2px}
.tl-ev.up .tl-lab{bottom:16px}
.tl-ev.down .tl-lab{top:16px}
.tl-ev.a-c .tl-lab{left:-75px;text-align:center}
.tl-ev.a-l .tl-lab{left:-8px}
.tl-ev.a-r .tl-lab{right:-8px;text-align:right}
.tl-today{position:absolute;top:calc(50% - 9px);height:18px;border-left:1px solid #8E9A91}
.tl-today span{position:absolute;top:-16px;left:4px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);display:none}
.tl-ticks{position:absolute;left:0;right:0;bottom:-4px;height:0}
.tl-ticks span{position:absolute;transform:translateX(-50%);font-family:var(--mono);font-size:10px;color:var(--ink-3)}
.tl-key{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:0 0 6px;padding:0;font-family:var(--mono);font-size:11px;color:var(--ink-2)}
.tl-key li{display:inline-flex;align-items:center;gap:7px}
.tl-key i{width:10px;height:10px;border-radius:50%;background:#BA882E;display:inline-block}
.tl-key i.f{background:transparent;box-shadow:inset 0 0 0 2px #BA882E}
.tl-key i.d{background:#E6EAE2;border-radius:1px;transform:rotate(45deg);width:9px;height:9px}
.tl-key i.t{width:0;height:12px;border-radius:0;background:none;border-left:1px solid #8E9A91}

/* dumbbell */
.db{display:grid;gap:18px}
.db-lab{display:flex;justify-content:space-between;gap:12px;font-family:var(--display);font-size:14px;font-weight:600;color:var(--ink);margin-bottom:8px}
.db-lab span{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.db-track{position:relative;height:16px;border-bottom:1px solid #26322D}
.db-line{position:absolute;top:7px;height:2px;background:#8E9A91}
.db-dot{position:absolute;top:2px;width:12px;height:12px;margin-left:-6px;border-radius:50%;box-shadow:0 0 0 2px #18221E}
.db-dot::after{content:"";position:absolute;inset:-8px}
.db-dot.old{background:#18221E;box-shadow:inset 0 0 0 2px #8E9A91,0 0 0 2px #18221E}
.db-dot.new{background:#BA882E}
.db-scale{position:relative;height:14px;font-family:var(--mono);font-size:10.5px;color:var(--ink-2)}
.db-scale span{position:absolute;transform:translateX(-50%)}

/* running-total line */
.cl{width:100%;height:auto;display:block;overflow:visible}
.cl .ax{font-family:var(--mono);font-size:10.5px;fill:#B4BFB6}
.cl .lab{font-family:var(--mono);font-size:11px;fill:#E6EAE2}
.cl .val{font-family:var(--display);font-size:14px;font-weight:700;fill:#E6EAE2}
.cl circle[data-tip]:focus-visible{outline:none;stroke:#E6EAE2;stroke-width:1}
.ch-legend i.line{height:2px;width:16px;border-radius:1px}

/* flow diagram */
.fl{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:0}
.fl-step{border:1px solid #3A4842;border-left:3px solid #BA882E;background:#151E1A;padding:11px 14px;display:grid;gap:2px}
.fl-step b{font-family:var(--display);font-size:15px;color:var(--ink)}
.fl-step span{font-size:13.5px;color:var(--ink-2)}
.fl-step.blocked{border-left-color:#D98A7C;opacity:.9}
.fl-step.blocked b{text-decoration:line-through;text-decoration-color:#D98A7C;text-decoration-thickness:2px}
.fl-arrow{display:block;height:18px;position:relative;margin-left:22px}
.fl-arrow::before{content:"";position:absolute;left:0;top:0;bottom:6px;border-left:2px solid #3A4842}
.fl-arrow::after{content:"";position:absolute;left:-4px;bottom:0;border:5px solid transparent;border-top:6px solid #3A4842;border-bottom:0}

/* two small stats under a chart */
.o2-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:#2A3631;border:1px solid #2A3631;margin-top:16px}
.o2-stats div{background:#151E1A;padding:10px 12px}
.o2-stats dt{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.o2-stats dd{margin:4px 0 0;font-family:var(--display);font-weight:700;font-size:18px;color:var(--ink)}
.o2-sub{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:18px 0 8px;padding-top:14px;border-top:1px solid #2A3631}

/* dot plot for narrow ranges (gold prices by grade) */
.pd{display:grid;gap:10px}
.pd-row,.pd-scale{display:grid;grid-template-columns:minmax(120px,34%) 1fr 70px;gap:12px;align-items:center}
.pd-lab{font-family:var(--display);font-size:13.5px;font-weight:500;color:var(--ink)}
.pd-track{position:relative;height:18px;border-bottom:1px solid #26322D}
.pd-dot{position:absolute;top:3px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#BA882E;box-shadow:0 0 0 2px #18221E}
.pd-dot::after{content:"";position:absolute;inset:-8px}
.pd-dot.top{background:#E0BA6E}
.pd-val{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.pd-scale .pd-val{font-weight:500;color:var(--ink-3);font-size:10.5px}
.pd-axis{position:relative;height:14px;font-family:var(--mono);font-size:10.5px;color:var(--ink-2)}
.pd-axis span{position:absolute;transform:translateX(-50%)}
.ch-legend i.half{background:#BA882E;opacity:.5}
.o2-step.last,.o2-text.last{border-bottom:0}
@media (max-width:520px){.pd-row,.pd-scale{grid-template-columns:1fr 64px}.pd-lab{grid-column:1 / -1}.pd-scale .pd-lab{display:none}}

/* ---------- health and safety page ---------- */
.pagehero.pg-safety img{object-position:50% 40%}
.hbars.inc .hbar{grid-template-columns:minmax(150px,44%) 1fr auto}
.inc-when{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-right:6px}
.o2-stats.big dd{font-size:24px}
.o2-stats dd small{font-family:var(--mono);font-size:10.5px;font-weight:500;color:var(--ink-3);margin-left:4px}
.ch-plain{font-size:14px;color:var(--ink-2);line-height:1.5}
.ms{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid #2A3631}
.ms li{display:grid;grid-template-columns:92px 1fr;gap:2px 14px;padding:12px 0;border-bottom:1px solid #2A3631;align-items:baseline}
.ms b{font-family:var(--display);font-size:15px;color:var(--ink);grid-column:2}
.ms li > span:not(.ms-tag){grid-column:2;font-size:13.5px;color:var(--ink-2)}
.ms-tag{grid-row:1 / span 2;align-self:start;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border:1px solid #3A4842;color:var(--ink-2);text-align:center}
.ms-tag.announced{border-color:#BA882E;color:#E0BA6E}
.ms-tag.proposed,.ms-tag.stated{border-style:dashed}
.hs-note{font-size:13px;color:var(--ink-3);margin-top:18px}
@media (max-width:520px){.hbars.inc .hbar{grid-template-columns:1fr auto}.ms li{grid-template-columns:1fr}.ms b,.ms li > span:not(.ms-tag){grid-column:1}.ms-tag{grid-row:auto;justify-self:start}}


/* ======================================================================
   SITE POLISH — September 2026
   Accessibility, mobile menu, readable small text on phones, stacked
   timelines on phones, jump links, latest-news cards on the home page.
   ====================================================================== */

/* contrast: the home page submit button keeps dark text on gold (7.7:1) */
body.home-green .submit-btn,
:root:not([data-theme="light"]) body.home-green .submit-btn,
:root[data-theme="dark"] body.home-green .submit-btn{color:#16201B}
body.home-green .submit-btn:hover{color:#16302B}
/* contrast: source link in the green figures band */
.strip-note a{color:#FFFFFF}
/* green segments carry white labels */
.stack .seg.fill-teal b,.sp-seg[style*="#0B7D5C"] b{color:#FFFFFF}
.gate h3{font-size:15px;font-weight:700;margin-bottom:10px}

/* tap targets: slider dots keep their 8px look inside a 24px button */
.dots{gap:0}
.dot{width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;position:relative;cursor:pointer}
.dot::before{content:"";position:absolute;left:8px;top:8px;width:8px;height:8px;border-radius:50%;box-sizing:border-box;border:1px solid rgba(243,246,241,.75);background:transparent}
.dot[aria-current="true"]{background:transparent;border:0}
.dot[aria-current="true"]::before{background:#D9A94F;border-color:#D9A94F}
.dot:focus-visible{outline:2px solid #D9A94F;outline-offset:-2px}

/* compact menu on phones (menu.js adds the button; without JS the nav stays visible) */
.menu-btn{display:none}
@media (max-width:760px){
  .menu-ready{flex-wrap:wrap}
  .menu-ready .menu-btn{display:inline-flex;align-items:center;gap:9px;margin-left:auto;min-height:40px;padding:8px 12px;
    font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#E6EAE2;
    background:transparent;border:1px solid #3A4842;cursor:pointer}
  .menu-ready .menu-btn:hover,.menu-ready .menu-btn[aria-expanded="true"]{border-color:#D9A94F;color:#E0BA6E}
  .menu-ic,.menu-ic::before,.menu-ic::after{display:block;width:16px;height:2px;background:currentColor;border-radius:1px}
  .menu-ic{position:relative}
  .menu-ic::before,.menu-ic::after{content:"";position:absolute;left:0}
  .menu-ic::before{top:-5px}.menu-ic::after{top:5px}
  .menu-open .menu-ic{background:transparent}
  .menu-open .menu-ic::before{top:0;transform:rotate(45deg)}
  .menu-open .menu-ic::after{top:0;transform:rotate(-45deg)}
  .menu-ready .nav{display:none}
  .menu-ready.menu-open .nav{display:flex;flex-direction:column;flex:1 1 100%;gap:0;margin-top:6px;border-top:1px solid #2A3631}
  .menu-ready.menu-open .nav a{padding:13px 0;border-bottom:1px solid #2A3631;font-size:13px}
  .menu-ready.menu-open .nav a[aria-current="page"]{border-bottom-color:#D9A94F}
  .navbar-inner.menu-ready{justify-content:space-between}
  .navbar-inner.menu-ready .stamp{order:-1;flex:1 1 60%;text-align:left}
  .foot-links a{padding-block:8px;display:inline-block}
}

/* timelines stack vertically on phones so labels never collide */
@media (max-width:620px){
  .tl{height:auto;margin:10px 0 0;padding-left:26px}
  .tl-line{left:6px;right:auto;top:6px;bottom:6px;border-top:0;border-left:2px solid #3A4842}
  .tl-ev,.tl-ev.up,.tl-ev.down{position:relative;left:auto!important;top:auto;width:auto;padding:0 0 16px}
  .tl-dot{left:-26px;top:3px}
  .tl-ev .tl-lab,.tl-ev.up .tl-lab,.tl-ev.down .tl-lab,.tl-ev.a-c .tl-lab,.tl-ev.a-l .tl-lab,.tl-ev.a-r .tl-lab{position:static;width:auto;text-align:left;left:auto;right:auto;top:auto;bottom:auto}
  .tl-ticks,.tl-today,.tl-key li:has(.t){display:none}
}

/* "On this page" links */
.toc{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;padding-bottom:6px}
.toc-h{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#CFD8CF;margin-right:4px}
.toc a{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#E6EAE2;text-decoration:none;border:1px solid rgba(243,246,241,.28);padding:7px 10px;background:rgba(9,20,16,.25)}
.toc a:hover{border-color:#D9A94F;color:#E0BA6E}
[id]{scroll-margin-top:16px}
@media (max-width:620px){
  .toc{flex-wrap:nowrap;overflow-x:auto;margin-inline:-20px;padding-inline:20px;scrollbar-width:none}
  .toc::-webkit-scrollbar{display:none}
  .toc a{flex:0 0 auto}
}

/* readable small labels on phones: nothing below 12px */
@media (max-width:620px){
  .eyebrow,.byline,.byline time,.brief .tag,.brief time,.chip,.classes .k,.colophon,.ctl label,.field label,.field .err,.fig dt,.fig .delta,.foot-links,.hero-chip,.meter .m-scale,.ms-tag,.nav a,.navbar .stamp,.stamp,.nchip,.newslist .meta,.numbers dt,.numbers dd small,.o2-stats dt,.o2-stats dd small,.o2-sub,.opener .kicker,.pagehero .kicker,.post-meta,.post-src,.reset,.searches label,.sources h2,.strip-note,.tl-key,.tl-lab b,.toggle,.crumbs,.sp-total,footer h2,.chart .ch-legend,.chart details,.chart th,.stack-row .lab,.inc-when,.chain .doc,.toc a,.toc-h,.menu-btn{font-size:12px}
}

/* latest news on the home page: four cards in a row */
.home-news{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.home-news{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.home-news{grid-template-columns:1fr}}
/* slider dots sit at the top right on phones, clear of the headline and chip */
@media (max-width:620px){.hero .dots,.news-hero .dots{top:10px;right:8px;bottom:auto}}

/* ---------- guides ---------- */
.pagehero.pg-guide .byline{margin-top:10px}
.guide .strip .toc{padding-top:4px;padding-bottom:14px}
.guide .toc-h{white-space:nowrap}
.guide .prose h3{font-size:17px;font-weight:600;margin:22px 0 6px}
.guide .chain{margin-top:6px;max-width:900px}
.guide .chain p + p{margin-top:8px}
.guide .chain .doc{margin-top:8px}
.guide .prose sup,.guide .chain sup,.guide .faq sup{font-size:.68em;line-height:0;margin-left:1px}
.guide .prose sup a,.guide .chain sup a,.guide .faq sup a{text-decoration:none;color:var(--accent-ink)}
.guide .callout{max-width:68ch}
.ftable-wrap{margin:18px 0 8px;overflow-x:auto;border:1px solid var(--line);background:var(--surface)}
.guide .prose .ftable-wrap{width:min(900px,calc(100vw - 40px))}
.ftable-wrap:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}
.ftable{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}
.ftable caption{text-align:left;font-family:var(--display);font-weight:600;font-size:15.5px;color:var(--ink);padding:13px 14px 4px;caption-side:top}
.ftable thead th{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:8px 14px;border-bottom:1px solid var(--line-strong)}
.ftable tbody th,.ftable td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--line);color:var(--ink-2);font-weight:400}
.ftable tbody th{font-family:var(--display);font-weight:600;color:var(--ink)}
.ftable tbody tr:last-child th,.ftable tbody tr:last-child td{border-bottom:0}
.ftable td.fee{font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums;color:var(--ink);min-width:9.5em}
.ftable tbody th{min-width:11em}
.ftable .flag{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--accent-ink);margin-top:3px}
.guide-updated{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-3);margin-top:14px}
.guide .chart{max-width:760px}
.guides-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:10px}
.guides-list a{display:grid;grid-template-columns:1fr auto;gap:4px 18px;background:var(--surface);padding:18px 20px;text-decoration:none}
.guides-list a:hover{background:var(--surface-2)}
.guides-list .t{font-family:var(--display);font-weight:700;font-size:18px;color:var(--ink)}
.guides-list .d{grid-column:1;font-size:15px;color:var(--ink-2)}
.guides-list .go{grid-row:1 / span 2;grid-column:2;align-self:center;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}
@media (max-width:620px){
  .guide .prose .ftable-wrap{width:auto}
  .ftable{min-width:0;font-size:14px}
  .ftable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ftable,.ftable tbody,.ftable tr,.ftable th,.ftable td{display:block}
  .ftable caption{display:block;padding:12px 14px 8px;border-bottom:1px solid var(--line-strong)}
  .ftable tbody tr{padding:11px 14px;border-bottom:1px solid var(--line)}
  .ftable tbody tr:last-child{border-bottom:0}
  .ftable tbody th,.ftable td{padding:0;border:0;min-width:0}
  .ftable tbody th{margin-bottom:6px}
  .ftable td{display:grid;grid-template-columns:7em 1fr;gap:10px;padding:3px 0}
  .ftable td::before{content:attr(data-label);font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding-top:2px}
  .ftable td.fee{min-width:0}
}
@media (max-width:620px){.ftable{font-size:14px}.guides-list a{grid-template-columns:1fr}.guides-list .go{grid-row:auto;grid-column:1}}

/* ---------- women in mining ---------- */
.pagehero.pg-women img{object-position:50% 38%}
.pagehero.pg-women .scrim{background:linear-gradient(to top,rgba(9,20,16,.94) 0%,rgba(9,20,16,.80) 42%,rgba(9,20,16,.42) 78%,rgba(9,20,16,.50) 100%)}
.pagehero.pg-women .tint{opacity:.22}
.photo{margin:0;min-width:0}
.photo img{width:100%;height:auto;display:block;border:1px solid var(--c-card-line)}
.photo figcaption{font-family:var(--body);font-size:13px;line-height:1.45;color:var(--ink-3);margin-top:9px;max-width:60ch}
.o2-step .chart + .photo{margin-top:22px}
.ms-tag.in{border-color:#0B7D5C;color:#63B489}
.ms-tag.working{border-color:#BA882E;color:#E0BA6E}
.ms-tag.proposed{border-style:dashed}

/* ---- "List a lot": the supply side needs to be the loudest thing in the menu ---- */
.nav a.nav-cta{
    color:#F8F9F5;background:var(--deep);border-bottom:2px solid transparent;
    border-radius:999px;padding:6px 14px;letter-spacing:.1em;
  }
  .nav a.nav-cta:hover{background:var(--accent-ink);color:#fff;border-bottom-color:transparent}
  .btn-primary{
    display:inline-block;font-family:var(--display);font-weight:700;font-size:14px;
    background:var(--deep);color:#F8F9F5;padding:11px 18px;border-radius:4px;text-decoration:none;
  }
  .btn-primary:hover{background:var(--accent-ink);color:#fff}
  .pagehero .hero-cta{margin-top:16px}
  .pagehero .hero-cta .btn-primary{background:#F8F9F5;color:var(--deep)}
  .pagehero .hero-cta .btn-primary:hover{background:#fff;color:var(--accent-ink)}
  .list-band{background:var(--surface-2);border-block:1px solid var(--line);padding:20px 0;margin-block:32px}
  .list-band-inner{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .list-band p{margin:0;max-width:62ch;font-family:var(--body);color:var(--ink)}
  .list-band strong{font-family:var(--display)}
  @media (max-width:620px){
    .nav a.nav-cta{display:inline-block;margin-top:10px;text-align:center;border-bottom:0}
    .list-band-inner{flex-direction:column;align-items:flex-start}
  }

/* ---------- zimbabwefarming.com additions ---------- */
/* price unit under an asking price in the marketplace */
.price small{display:block;font-size:11px;font-weight:500;letter-spacing:.02em;opacity:.75}
a[href^="mailto"]{overflow-wrap:anywhere;word-break:break-word}
/* photo panels beside the text on section pages */
.chart.ph{padding:0;overflow:hidden}
.chart.ph img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.chart.ph .ph-cap{display:block;padding:12px 16px 14px;font-size:14px;line-height:1.5;color:var(--ink-2)}

/* ---------- hero: focal point per photo, so heads are never cut off ---------- */
@media (min-width:621px){.hero{min-height:clamp(420px,50vw,680px)}}
.frame:nth-child(1) img{object-position:50% 20%;transform-origin:50% 20%}
.frame:nth-child(2) img{object-position:50% 45%;transform-origin:50% 45%}
.frame:nth-child(3) img{object-position:50% 12%;transform-origin:50% 12%}
.frame:nth-child(4) img{object-position:50% 18%;transform-origin:50% 18%}
.frame:nth-child(5) img{object-position:50% 22%;transform-origin:50% 22%}
.frame:nth-child(6) img{object-position:50% 15%;transform-origin:50% 15%}
.frame:nth-child(7) img{object-position:50% 55%;transform-origin:50% 55%}
.frame:nth-child(8) img{object-position:50% 45%;transform-origin:50% 45%}
.frame:nth-child(9) img{object-position:50% 10%;transform-origin:50% 10%}
.frame:nth-child(10) img{object-position:50% 35%;transform-origin:50% 35%}
.frame:nth-child(11) img{object-position:50% 12%;transform-origin:50% 12%}
.frame:nth-child(12) img{object-position:50% 25%;transform-origin:50% 25%}
@media (max-width:620px){
  .frame:nth-child(1) img{object-position:30% 20%;transform-origin:30% 20%}
  .frame:nth-child(2) img{object-position:50% 45%;transform-origin:50% 45%}
  .frame:nth-child(3) img{object-position:20% 12%;transform-origin:20% 12%}
  .frame:nth-child(4) img{object-position:25% 18%;transform-origin:25% 18%}
  .frame:nth-child(5) img{object-position:45% 22%;transform-origin:45% 22%}
  .frame:nth-child(6) img{object-position:35% 15%;transform-origin:35% 15%}
  .frame:nth-child(7) img{object-position:65% 55%;transform-origin:65% 55%}
  .frame:nth-child(8) img{object-position:40% 45%;transform-origin:40% 45%}
  .frame:nth-child(9) img{object-position:50% 10%;transform-origin:50% 10%}
  .frame:nth-child(10) img{object-position:50% 35%;transform-origin:50% 35%}
  .frame:nth-child(11) img{object-position:35% 12%;transform-origin:35% 12%}
  .frame:nth-child(12) img{object-position:35% 25%;transform-origin:35% 25%}
}
/* brighter photos: no green multiply tint, lighter scrim at the top */
.hero-tint{opacity:0}
.hero-scrim{background:linear-gradient(to top,rgba(9,20,16,.80) 0%,rgba(9,20,16,.42) 32%,rgba(9,20,16,0) 62%,rgba(9,20,16,0) 100%)}
.pagehero .tint{opacity:0}
.pagehero .scrim{background:linear-gradient(to top,rgba(9,20,16,.88) 0%,rgba(9,20,16,.55) 38%,rgba(9,20,16,.05) 75%,rgba(9,20,16,.10) 100%)}

/* ---------- marketplace: listing details panel ---------- */
.lot .lot-open{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
.lot .lot-open:hover{text-decoration-color:currentColor}
.lot.is-open{background:var(--surface-2)}
.lot-more{grid-column:1/-1;flex:1 1 100%;order:20;margin-top:12px;padding-top:12px;border-top:1px dotted var(--line-strong)}
.lot-photos{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.lot-photos img{width:150px;height:110px;object-fit:cover;display:block;border:1px solid var(--line)}
.lot-notes{font-size:15px;line-height:1.55;color:var(--ink-2);max-width:70ch;margin:0 0 10px;white-space:pre-line}
.lot-contact{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:0 0 8px}
.lot-contact .lc-h{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.lot-contact a{font-family:var(--display);font-weight:700;font-size:14px}
.lot-meta{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);margin:0 0 6px}
.lot-warn{font-size:13.5px;color:var(--ink-2);margin:0}
@media (max-width:620px){.lot-photos img{width:calc(50% - 4px);height:auto;aspect-ratio:4/3}}

/* ---------- auctions ---------- */
.auc-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.auc{display:grid;grid-template-columns:200px 1fr;gap:18px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent-ink,#D9A94F)}
.auc-list.past .auc{border-left-color:var(--line-strong);opacity:.88}
.auc-when{display:flex;flex-direction:column;gap:6px}
.auc-when time{font-family:var(--display);font-weight:700;font-size:17px;line-height:1.25}
.auc-kind{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.auc-tbc{align-self:flex-start;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line-strong);padding:3px 7px;color:var(--ink-2)}
.auc-body h3{font-family:var(--display);font-size:18px;font-weight:700;margin:0 0 10px;letter-spacing:-.01em}
.auc-body dl{display:grid;gap:6px;margin:0 0 10px}
.auc-body dl div{display:grid;grid-template-columns:110px 1fr;gap:10px}
.auc-body dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);padding-top:3px}
.auc-body dd{margin:0;font-size:15px;line-height:1.5;color:var(--ink-2)}
.auc-link{font-family:var(--display);font-weight:700;font-size:14px}
.auc-c{font-family:var(--mono);font-size:12px;color:var(--ink-3)}
@media (max-width:700px){.auc{grid-template-columns:1fr;gap:10px}.auc-body dl div{grid-template-columns:1fr;gap:2px}}
/* auctions: venue names are long, so stack them above their description */
#venues .panel-lead .classes li{grid-template-columns:1fr;gap:6px}
#venues .panel-lead .classes .k{justify-self:start;white-space:normal}
.auc-c{overflow-wrap:anywhere}
@media (max-width:620px){#venues .classes li{grid-template-columns:1fr;gap:6px}#venues .classes .k{justify-self:start;white-space:normal}}

/* ---------- auctions everywhere ---------- */
/* ribbon above inner pages */
.auc-ribbon{background:#D9A94F;color:#1B1304;font-size:13.5px;line-height:1.4}
.auc-ribbon .wrap{padding-block:8px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.auc-ribbon .ab-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:600}
.auc-ribbon b{font-family:var(--display);font-weight:800}
.auc-ribbon a{color:#1B1304;font-family:var(--display);font-weight:700;text-decoration:underline;text-underline-offset:3px;margin-left:auto}
@media (max-width:620px){.auc-ribbon a{margin-left:0}}
/* Auctions in the menu stands out */
.nav a[href="/auctions/"]{color:#E8BC66}
.nav a[href="/auctions/"][aria-current="page"]{color:#E8BC66}

/* search bar over the home hero (same design as zimbabwemines.com) */
.hero-find{position:absolute;z-index:3;left:50%;transform:translateX(-50%);top:clamp(30px,6vw,58px);width:min(720px,calc(100% - 44px));text-align:center}
.hero-find .hf-form{margin:0}
.hf-bar{display:flex;align-items:stretch;background:#F8F9F5;border-radius:6px;overflow:hidden;box-shadow:0 14px 44px rgba(6,16,12,.5),0 2px 6px rgba(6,16,12,.3)}
.hf-q{flex:1 1 auto;min-width:0;border:0;background:transparent;font-family:var(--body);font-size:16.5px;color:#16201B;padding:15px 18px;appearance:none;text-align:left}
.hf-q::placeholder{color:#5E6A62;opacity:1}
.hf-q:focus{outline:0;background:#fff}
.hf-cat{flex:0 0 auto;border:0;border-left:1px solid #D5DBD3;background:transparent;font-family:var(--display);font-weight:700;font-size:13px;color:#33413A;padding:0 32px 0 14px;cursor:pointer;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%234A574F' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:11px}
.hf-cat:focus{outline:0;background-color:#fff}
.hf-go{flex:0 0 auto;border:0;cursor:pointer;font-family:var(--display);font-weight:700;font-size:14.5px;padding:0 26px;background:#24544A;color:#F8F9F5}
.hf-go:hover{background:#1B4038}
.hero-find .hf-sell{margin:13px 0 0;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.hero-find .hf-list,.hero-find .hf-next{display:inline-block;text-decoration:none;font-family:var(--display);font-weight:700;font-size:13.5px;padding:9px 17px;border-radius:5px;box-shadow:0 8px 24px rgba(6,16,12,.38)}
.hero-find .hf-next{background:#D9A94F;color:#1B1304;border:1px solid #D9A94F}
.hero-find .hf-next:hover{background:#E8BC66;color:#140E02}
.hero-find .hf-list{background:rgba(9,20,16,.55);color:#F3F6F1;border:1px solid rgba(243,246,241,.55)}
.hero-find .hf-list:hover{background:rgba(9,20,16,.75)}
.home-green .hero-scrim{background:linear-gradient(to top,rgba(9,20,16,.80) 0%,rgba(9,20,16,.42) 32%,rgba(9,20,16,0) 60%,rgba(9,20,16,.35) 100%)}
@media (max-width:620px){
  .hero-find{width:calc(100% - 28px);top:clamp(22px,7vw,34px)}
  .hero-find .hf-cat{display:none}
  .hf-q{font-size:16px;padding:13px 14px}
  .hf-go{padding:0 16px;font-size:14px}
  .home-green .hero .dots{top:auto;bottom:14px;right:12px}
  .hero-find .hf-next,.hero-find .hf-list{font-size:12.5px;padding:8px 12px}
}
@media (max-width:620px){.hero{min-height:470px}}

/* search bar on the Auctions page */
.auc-find{margin:0 0 30px}
.auc-find .hf-bar{border:1px solid var(--line-strong)}
.auc-count{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin:10px 0 0;min-height:1em}
@media (max-width:620px){.auc-find .hf-cat{max-width:120px}}

/* home "Upcoming auctions" */
.auc-home{padding-top:40px}
.auc-more{margin:18px 0 0;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.auc-tip{font-family:var(--display);font-weight:700;font-size:14px}
@media (max-width:620px){.home-green .hero .dots{display:none}}

/* ---------- share buttons ---------- */
.auc-actions{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:4px 0 0}
.share{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.share-h{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.share a{font-family:var(--display);font-weight:700;font-size:13px;text-decoration:none;padding:5px 11px;border-radius:4px;border:1px solid var(--line-strong);color:var(--ink)}
.share a.sh-wa{background:#1F7A4D;border-color:#1F7A4D;color:#fff}
.share a.sh-wa:hover{background:#25925C}
.share a.sh-fb:hover{border-color:var(--ink-2)}
.auc.is-target{outline:2px solid #D9A94F;outline-offset:2px}

/* ---------- copy-link button, contact links, alerts, social, landing chips ---------- */
.share .sh-copy,.lot-meta .sh-copy{font-family:var(--display);font-weight:700;font-size:13px;padding:5px 11px;border-radius:4px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer}
.lot-meta .sh-copy{font-size:inherit;padding:0 4px;border:0;text-decoration:underline}
.share .sh-copy:hover{border-color:var(--ink-2)}
.ct-links{display:inline-flex;gap:10px;flex-wrap:wrap}
.ct-links a{font-weight:700}
.per-ha{display:block;color:var(--ink-3);font-size:12px}
.alerts{display:grid;grid-template-columns:1fr 2fr;gap:28px;border:1px solid var(--line-strong);border-radius:6px;padding:24px;margin-block:32px}
.alerts h2{margin:0 0 8px}
.alerts-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}
.alerts .field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.alerts input,.alerts select{width:100%;padding:9px 10px;border:1px solid var(--line-strong);border-radius:4px;font:inherit}
.alerts .privacy{font-size:13px;color:var(--ink-2);margin-top:10px}
.alerts-or{display:flex;gap:8px;align-items:center}
@media (max-width:820px){.alerts{grid-template-columns:1fr}.alerts-grid{grid-template-columns:1fr}}
.foot-follow{margin-block:20px}
.social-links{display:flex;gap:14px;flex-wrap:wrap;list-style:none;padding:0}
.sf-link{display:inline-flex;gap:6px;align-items:center}
.browse{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:8px 0 18px}
.browse a{display:inline-block;padding:6px 12px;border:1px solid var(--line-strong);border-radius:999px;font-family:var(--display);font-weight:700;font-size:13px;text-decoration:none;color:var(--ink)}
.browse a[aria-current]{background:var(--ink);color:#fff}
