/* ==========================================================================
   theme.css — WordPress content layer for the Altamira theme.

   Loads after site.css / responsive.css. Contains:
   1. Base defaults for block content (low-specificity, utility classes win)
   2. Spacing / layout utilities used by templates + converted content
   3. Hero band (template + pattern variants)
   4. Section grid helpers for block content (wc-*)
   5. News templates (index / archive / single release)
   6. Page-widget styles consolidated from the static pages' <style> blocks
   ========================================================================== */

/* ---------------------------------------------------------------------
   1. Block-content defaults — :where() keeps specificity at zero so the
      am-* utility classes and block inline styles always win.
   --------------------------------------------------------------------- */
body { margin: 0; background: var(--am-dark); -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
a { transition: color .15s ease, border-color .15s ease, background .15s ease, opacity .15s ease; }

:where(.am-canvas, .am-release-content) :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--am-sans);
  color: var(--am-ink);
  letter-spacing: -.02em;
  line-height: 1.15;
  margin: 0 0 20px;
}
:where(.am-canvas, .am-release-content) :where(h2) { font-size: 40px; font-weight: 800; }
:where(.am-canvas, .am-release-content) :where(h3) { font-size: 24px; font-weight: 700; }
:where(.am-canvas, .am-release-content) :where(h4) { font-size: 18px; font-weight: 700; }
:where(.am-canvas, .am-release-content) :where(p, li) {
  font-family: var(--am-sans);
  font-size: 16px;
  line-height: 1.62;
  color: var(--am-body);
}
:where(.am-canvas, .am-release-content) :where(p) { margin: 0 0 18px; }
:where(.am-canvas) :where(a:not([class])) { color: var(--am-blue); }
:where(.am-release-content) :where(a:not([class])) { color: var(--am-blue); }

/* Buttons: core button blocks look like the design system's filled button */
.am-canvas .wp-block-button__link,
.am-btn-blue {
  font-family: var(--am-sans); font-size: 14px; font-weight: 600; color: #fff;
  background: var(--am-blue); padding: 13px 24px; border-radius: 2px;
  text-decoration: none; display: inline-block;
}
.am-btn-lg { padding: 14px 26px; white-space: nowrap; }
.am-canvas .is-style-outline .wp-block-button__link {
  background: transparent; color: var(--am-ink); border: 1px solid var(--am-ink);
}
.am-canvas .am-btn-light-block .wp-block-button__link,
.am-btn-light { background: #fff; color: var(--am-ink); }

/* Hover / active for core button BLOCKS. The .am-btn* hover system in
   responsive.css only targets the static markup; block buttons render as
   .wp-block-button__link, so mirror the same lift + colour + shadow feedback. */
.am-canvas .wp-block-button__link {
  transition: transform .2s cubic-bezier(.22,.61,.36,1), background-color .2s ease, box-shadow .2s ease, color .2s ease, border-color .2s ease;
}
.am-canvas .wp-block-button:not(.am-btn-light-block):not(.is-style-outline) .wp-block-button__link:hover {
  background-color: #4d7cc0;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -8px rgba(58,107,176,.6), 0 3px 8px -3px rgba(11,18,30,.32);
}
.am-canvas .wp-block-button:not(.am-btn-light-block):not(.is-style-outline) .wp-block-button__link:active {
  transform: translateY(0) scale(.985); box-shadow: 0 4px 10px -6px rgba(58,107,176,.55);
}
.am-canvas .am-btn-light-block .wp-block-button__link:hover {
  color: #3A6BB0;
  transform: translateY(-3px);
  box-shadow: 0 16px 32px -10px rgba(0,0,0,.5), 0 4px 10px -4px rgba(0,0,0,.32);
}
.am-canvas .am-btn-light-block .wp-block-button__link:active {
  transform: translateY(-1px) scale(.985); box-shadow: 0 6px 14px -8px rgba(0,0,0,.45);
}
.am-canvas .wc-hero-btns .am-btn-light-block .wp-block-button__link:hover {
  background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.5); color: #fff;
  box-shadow: 0 10px 24px -10px rgba(0,0,0,.5);
}
.am-canvas .is-style-outline .wp-block-button__link:hover { background: var(--am-ink); color: #fff; }
.am-canvas .wp-block-button__link:focus-visible { outline: 2px solid #7AA0D4; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .am-canvas .wp-block-button__link { transition: none; }
  .am-canvas .wp-block-button__link:hover, .am-canvas .wp-block-button__link:active { transform: none; }
}

/* Tables in release/page content */
:where(.am-canvas, .am-release-content) :where(table) {
  width: 100%; border-collapse: collapse;
  font-family: var(--am-sans); font-size: 14px; color: var(--am-body);
}
:where(.am-canvas, .am-release-content) :where(th) {
  font-family: var(--am-mono); font-size: 11px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--am-muted); text-align: left;
  padding: 12px 16px; border-bottom: 2px solid var(--am-ink);
}
:where(.am-canvas, .am-release-content) :where(td) {
  padding: 13px 16px; border-bottom: 1px solid var(--am-line);
}

/* ---------------------------------------------------------------------
   2. Utilities (margins used by templates and converted content)
   --------------------------------------------------------------------- */
.am-m0 { margin: 0 !important; }
.am-mt6 { margin-top: 6px; } .am-mt8 { margin-top: 8px; } .am-mt10 { margin-top: 10px; }
.am-mt13 { margin-top: 13px; } .am-mt14 { margin-top: 14px; } .am-mt16 { margin-top: 16px; }
.am-mt18 { margin-top: 18px; } .am-mt22 { margin-top: 22px; } .am-mt28 { margin-top: 28px; }
.am-mt34 { margin-top: 34px; } .am-mt-auto { margin-top: auto; }
.am-mb8 { margin-bottom: 8px; } .am-mb12 { margin-bottom: 12px; } .am-mb14 { margin-bottom: 14px; }
.am-mb16 { margin-bottom: 16px; } .am-mb18 { margin-bottom: 18px; } .am-mb22 { margin-bottom: 22px; }
.am-mb24 { margin-bottom: 24px; } .am-mb28 { margin-bottom: 28px; } .am-mb30 { margin-bottom: 30px; } .am-mb34 { margin-bottom: 34px; } .am-mb52 { margin-bottom: 52px; }
.am-mb36 { margin-bottom: 36px; } .am-mb50 { margin-bottom: 50px; } .am-mb56 { margin-bottom: 56px; }
.am-m0-t { margin-top: 0; } .am-m0-b { margin-bottom: 0; }
.am-mb12-o { margin-bottom: 12px; } .am-mb22-h { margin-bottom: 22px; } .am-mb50-h { margin-bottom: 50px; }
.am-mb20-h { margin-bottom: 20px; } .am-mb24-h { margin-bottom: 24px; } .am-mb28-h { margin-bottom: 28px; }
.am-mb56-h { margin-bottom: 56px; } .am-mb32 { margin-bottom: 32px; } .am-mb26 { margin-bottom: 26px; }
.am-mb40 { margin-bottom: 40px; } .am-mb44 { margin-bottom: 44px; } .am-mb48 { margin-bottom: 48px; }
.wc-max300 { max-width: 300px; } .wc-max450 { max-width: 450px; } .wc-max520 { max-width: 520px; }
.wc-max620 { max-width: 620px; } .wc-max640 { max-width: 640px; } .wc-max760 { max-width: 760px; }
.am-featcard-h { margin: 0 0 6px; } .am-card-h { margin: 0 0 5px; } .am-card-line { margin: 0 0 4px; }

/* ---------------------------------------------------------------------
   3. Hero band — used by archive/single templates and page hero patterns.
      The overlay header floats over the first section, so heroes keep the
      static site's 150px top padding.
   --------------------------------------------------------------------- */
.am-site-body { position: relative; background: #fff; }
.am-hero-scrim { position: absolute; inset: 0; pointer-events: none; }
.am-hero-scrim-base { background: #14181F; }
.am-hero-scrim-v { background: linear-gradient(180deg, rgba(20,24,31,.5) 0%, rgba(20,24,31,.12) 30%, rgba(20,24,31,.2) 70%, rgba(20,24,31,.66) 100%); }
.am-hero-scrim-h { background: linear-gradient(90deg, rgba(20,24,31,.78) 0%, rgba(20,24,31,.34) 46%, rgba(20,24,31,0) 74%); }
.am-hero-inner { position: relative; z-index: 4; }
.am-crumbs { margin-bottom: 36px; }
.am-hero-kicker { margin-bottom: 24px; }
.am-hero-title { margin: 0; max-width: 920px; text-wrap: balance; }
.am-hero-lede { margin: 28px 0 0; max-width: 640px; }

/* Block-pattern heroes — a group carrying .am-hero-band; scrims via ::after
   so the whole hero stays ordinary editable blocks. Add .am-has-photo when a
   full-bleed image block (.am-hero-photo) sits inside. */
.am-hero-band { position: relative; background: var(--am-ink); overflow: hidden; }
.am-hero-band::after {
  content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(20,24,31,.5) 0%, rgba(20,24,31,.12) 30%, rgba(20,24,31,.2) 70%, rgba(20,24,31,.66) 100%),
    linear-gradient(90deg, rgba(20,24,31,.78) 0%, rgba(20,24,31,.34) 46%, rgba(20,24,31,0) 74%);
}
.am-hero-band > * { position: relative; z-index: 4; }
/* z-index:1 (not 0) so the full-bleed photo paints above the band's own opaque
   ink background; the ::after scrim (z2) still overlays it, text sits at z4. */
.am-hero-band > .am-hero-photo { position: absolute; inset: 0; margin: 0; z-index: 1; }
.am-hero-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Full-bleed hero covers render as a CSS background on the front end (see
   altamira_hero_photo_bg) so they always composite as a backdrop; an <img> at a
   low z-index can fail to paint on first load in some engines. */
.am-hero-photo.am-hero-photo-bg { background-size: cover; background-position: center; }

/* Full-bleed photo section (dark bands with a background image + copy).
   Same technique, softer scrim (matches the static CTA/sustainability bands). */
.am-photo-band { position: relative; background: var(--am-ink); overflow: hidden; }
.am-photo-band::after {
  content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(90deg, rgba(20,24,31,.92) 0%, rgba(20,24,31,.64) 52%, rgba(20,24,31,.5) 100%), linear-gradient(0deg, rgba(20,24,31,.62) 0%, rgba(20,24,31,0) 46%);
}
.am-photo-band > * { position: relative; z-index: 4; }
.am-photo-band > .am-band-photo { position: absolute; inset: 0; margin: 0; z-index: 0; opacity: .5; }
.am-band-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* kicker line: mono label with the sky dash drawn by ::before */
.am-kicker::before {
  content: ''; display: inline-block; width: 28px; height: 1px;
  background: var(--am-sky); vertical-align: middle; margin-right: 14px;
  transform: translateY(-1px);
}

/* Neutralise WordPress flow-layout gap margins on grid/flex containers.
   Every group block gets `is-layout-flow`, which adds margin-block-start:<gap>
   to non-first children — harmless in a vertical stack, but in a horizontal
   grid/flex row it pushes columns 2+ DOWN, misaligning them. Reset it on the
   direct children of all our layout containers (spacing comes from `gap`). */
:is(
  .wc-grid-2, .wc-grid-3, .wc-grid-4, .wc-grid-5,
  .wc-split, .wc-split-rev, .wc-split-narrow, .wc-split-even,
  .wc-cta-grid, .wc-mpgrid, .wc-timeline, .wc-thesis-grid, .wc-metrics-grid,
  .wc-comm-grid, .wc-esg-grid, .wc-pipeline, .wc-tools-grid, .wc-trade-grid,
  .wc-sus-stats, .wc-hero-stats, .wc-quote-stats, .am-team-grid, .am-home-shelf,
  .wc-featcard, .wc-report-feature, .wc-deckfeat, .wc-results-2col, .wc-reports-2col,
  .wc-events-2col, .wc-events-side, .wc-fin-layout, .wc-hero-2col, .wc-hero-btns,
  .wc-statrow, .wc-badges, .wc-rowhead, .wc-row-sb, .wc-col-gap20, .wc-avatar-row,
  .am-side-layout, .am-cta-tile, .am-cardbody, .am-thesisstep, .am-rulehead-ink,
  .wc-assetcard, .wc-assetcard-body, .wc-assetcard-foot, .wc-comcard, .wc-suscard,
  .wc-cmt-rows, .wc-cmtrow, .wc-milestone, .wc-datarow, .wc-datarow-sm, .wc-rr-head,
  .wc-rr-row, .wc-frame-head, .wc-panel-404, .wc-panel-430, .am-frame,
  .wc-listing-card, .wc-listing-head, .wc-listing-row, .am-datarow-b, .am-tool,
  .wc-result-card, .wc-result-head, .wc-result-body, .wc-result-stats, .wc-result-links,
  .wc-newshead, .wc-newsitem, .wc-newslist, .am-dimgroup, .wc-deckcard-dark, .wc-deckcard-body,
  .wc-alertcard-dark, .wc-eventrow, .wc-eventrow-dark, .wc-eventdate, .wc-events-band, .wc-report-fbody,
  .wc-report-cta, .wc-deckbody, .wc-deckcta, .wc-tags, .wc-table-foot, .wc-quote-head,
  .wc-quote-foot, .wc-quote-body, .wc-yearhead, .wc-yeargroup, .am-band, .wc-metric,
  .wc-officecard, .wc-infocard, .wc-contactrow, .wc-alertcard, .wc-cmtcard, .wc-boardsec,
  .wc-lead-sec, .wc-panel-pad, .wc-prodfoot, .wc-mega2col, .am-side-layout
) > * { margin-block-start: 0; }

/* ---------------------------------------------------------------------
   4b. Content components (class ports of the static pages' inline styles)
   --------------------------------------------------------------------- */
/* arrow links: plain rich-text links; the arrow is drawn by ::after so the
   text stays safely editable */
.wc-arlink a, .wc-viewall a {
  font-family: var(--am-sans); font-size: 14px; font-weight: 600;
  color: var(--am-blue); text-decoration: none; white-space: nowrap;
}
.wc-arlink a { border-bottom: 1px solid var(--am-blue); padding-bottom: 3px; }
.wc-arlink a::after, .wc-viewall a::after, .am-shelf-cta a::after, .wc-ctalink a::after {
  content: '\2192'; display: inline-block; margin-left: 8px;
  transition: transform .18s ease;
}
.wc-arlink a:hover, .wc-viewall a:hover { filter: brightness(.8); }
.wc-arlink a:hover::after, .wc-viewall a:hover::after,
.am-shelf-cta a:hover::after, .wc-ctalink a:hover::after { transform: translateX(5px); }
.wc-arlink-white a { color: #fff; border-color: rgba(255,255,255,.5); }
.wc-ctalink a {
  font-family: var(--am-mono); font-size: 11px; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: var(--am-blue); white-space: nowrap; text-decoration: none;
}
.wc-ctalink-sky a { color: var(--am-sky); }

/* section header row: kicker+heading left, view-all link right */
.wc-rowhead { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 38px; }
.wc-rowhead > * { margin-block-start: 0; }

/* headline sizes that only exist inline in the static pages */
.wc-h-46 { font-family: var(--am-sans); font-size: 46px; font-weight: 800; line-height: 1.06; letter-spacing: -.025em; color: var(--am-ink); margin: 0; }
.wc-h-42-white { font-family: var(--am-sans); font-size: 42px; font-weight: 800; line-height: 1.08; letter-spacing: -.025em; color: #fff; margin: 0; }
.wc-h-58-white { font-family: var(--am-sans); font-size: 58px; font-weight: 800; line-height: 1.04; letter-spacing: -.03em; color: #fff; margin: 0; }
.wc-p-17-silver { font-family: var(--am-sans); font-size: 17px; line-height: 1.62; color: #C7CDD4; }
.wc-serif-38 { font-family: Newsreader, serif; font-size: 38px; font-weight: 500; line-height: 1.26; letter-spacing: -.01em; color: var(--am-ink); text-wrap: balance; margin: 0; }
.wc-serif-33 { font-family: Newsreader, serif; font-size: 33px; font-weight: 500; line-height: 1.32; letter-spacing: -.01em; color: var(--am-ink); text-wrap: balance; margin: 0; }
.wc-serif-sig { font-family: Newsreader, serif; font-style: italic; font-size: 27px; color: var(--am-ink); margin: 0; }
@media (max-width: 720px) {
  .wc-h-58-white { font-size: 33px; line-height: 1.08; }
  .wc-h-46, .wc-h-42-white { font-size: 28px; line-height: 1.12; }
  .wc-serif-38 { font-size: 26px; }
  .wc-serif-33 { font-size: 23px; }
}

/* badges / chips */
.wc-badges { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; }
.wc-badges > * { margin-block-start: 0; }
.wc-badge, .am-shelf-badge { align-self: flex-start; display: inline-block; background: #F0F2F5; padding: 5px 10px; border-radius: 2px; margin-bottom: 0; }
.wc-badge.is-blue, .am-shelf-badge.is-blue { background: rgba(58,107,176,.1); }
.wc-badge.is-green { background: rgba(70,176,131,.12); }
.wc-badge.is-solid-blue { background: var(--am-blue); }

/* stat tiles */
.wc-stat { font-family: var(--am-sans); font-size: 52px; font-weight: 800; letter-spacing: -.03em; line-height: 1; color: var(--am-ink); margin: 0; }
.wc-stat-label { margin: 14px 0 0; }
.wc-stat-white { font-family: var(--am-sans); font-size: 38px; font-weight: 800; letter-spacing: -.02em; color: #fff; margin: 0; }
@media (max-width: 720px) { .wc-stat { font-size: 33px; } }

/* image helpers */
.wc-img-cover { margin: 0; }
.wc-img-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wc-img-h152 { margin: 0; } .wc-img-h152 img { width: 100%; height: 152px; object-fit: cover; display: block; }
.am-img-badge { position: absolute; top: 20px; left: 20px; z-index: 3; margin: 0; color: #fff; background: var(--am-blue); padding: 6px 11px; border-radius: 2px; }

/* ---------------------------------------------------------------------
   4c. Homepage
   --------------------------------------------------------------------- */
.am-home-hero { position: relative; background: var(--am-ink); height: 664px; overflow: hidden; }
.am-home-hero > * { position: relative; z-index: 4; }
.am-home-hero > .am-hero-photo { position: absolute; inset: 0; margin: 0; z-index: 0; }
.am-home-hero::after {
  content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background-image:
    linear-gradient(180deg, rgba(20,24,31,.6) 0%, rgba(20,24,31,.26) 48%, rgba(20,24,31,0) 100%),
    linear-gradient(90deg, rgba(20,24,31,.72) 0%, rgba(20,24,31,.34) 42%, rgba(20,24,31,0) 70%),
    linear-gradient(180deg, rgba(20,24,31,.28) 0%, rgba(20,24,31,.08) 22%, rgba(20,24,31,0) 48%, rgba(20,24,31,.62) 100%);
  background-size: 100% 170px, auto, auto;
  background-repeat: no-repeat;
}
.am-home-copy { position: absolute; left: var(--am-gutter); bottom: 226px; z-index: 4; max-width: 680px; }
.am-home-kick { margin: 0 0 22px; }
.am-home-title { margin: 0; font-family: var(--am-sans); font-size: 58px; font-weight: 800; line-height: 1.04; letter-spacing: -.03em; color: #fff; }
.am-home-lede { margin: 22px 0 0; max-width: 520px; }
.am-home-shelf {
  position: absolute; left: var(--am-gutter); right: var(--am-gutter); bottom: 38px; z-index: 4;
  background: #fff; box-shadow: 0 22px 50px -24px rgba(0,0,0,.55);
  display: grid; grid-template-columns: repeat(3, 1fr);
}
.am-home-shelf > * { margin-block-start: 0; }
.am-shelf-card { position: relative; display: flex; flex-direction: column; padding: 20px 30px; border-left: 1px solid var(--am-line); }
.am-shelf-card:first-child { border-left: 0; }
.am-shelf-card.is-featured::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--am-blue); }
.am-shelf-card .am-shelf-badge { margin-bottom: 12px; margin-right: auto; }
.am-shelf-title { margin: 0; }
.am-shelf-sub { margin: 4px 0 12px; }
.am-shelf-cta { margin: auto 0 0; }
.am-shelf-cta a { font-family: var(--am-mono); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--am-blue); text-decoration: none; }
@media (max-width: 1024px) {
  .am-home-hero::after {
    background: linear-gradient(180deg, rgba(20,24,31,.72) 0%, rgba(20,24,31,.5) 20%, rgba(20,24,31,.64) 40%, rgba(20,24,31,.74) 54%, rgba(20,24,31,.7) 66%, rgba(20,24,31,.55) 100%);
  }
  .am-hero-band::after {
    background: linear-gradient(180deg, rgba(20,24,31,.66) 0%, rgba(20,24,31,.5) 26%, rgba(20,24,31,.52) 50%, rgba(20,24,31,.6) 75%, rgba(20,24,31,.72) 100%);
  }
}
@media (max-width: 720px) {
  .am-home-hero { height: auto; }
  .am-home-hero .am-hero-photo img { object-position: 68% center; }
  .am-home-hero::after {
    background: linear-gradient(180deg, rgba(20,24,31,.84) 0%, rgba(20,24,31,.64) 24%, rgba(20,24,31,.62) 46%, rgba(20,24,31,.66) 64%, rgba(20,24,31,.55) 100%);
  }
  .am-home-copy, .am-home-shelf {
    position: relative; left: auto; right: auto; top: auto; bottom: auto; max-width: none;
  }
  .am-home-copy { padding: 128px 20px 8px; }
  .am-home-shelf { margin: 26px 20px 0; }
  .am-shelf-card { border-left: none; padding: 16px 24px; }
  .am-shelf-card:not(:first-child) { border-top: 1px solid var(--am-line); }
  .am-shelf-card .am-shelf-sub { display: none; }
  .am-shelf-cta { margin-top: 10px; }
  .am-shelf-card.is-featured::before { top: 0; right: 0; bottom: auto; left: 0; width: auto; height: 3px; }
  .am-home-hero + .wp-block-group { padding-top: 32px; }
}

/* homepage flagship feature card */
.wc-featcard { position: relative; display: grid; grid-template-columns: 1.12fr 1fr; border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; margin-bottom: 24px; }
.wc-featcard > * { margin-block-start: 0; }
.wc-featcard-img { margin: 0; position: relative; min-height: 392px; }
.wc-featcard-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wc-featcard-body { padding: 48px; }
@media (max-width: 900px) { .wc-featcard { grid-template-columns: 1fr; } .wc-featcard-img { min-height: 240px; } .wc-featcard-body { padding: 28px 24px; } }
.wc-statrow { display: flex; gap: 40px; flex-wrap: wrap; margin-bottom: 32px; }
.wc-statrow > * { margin-block-start: 0; }
.wc-stat-26 { font-family: var(--am-sans); font-size: 26px; font-weight: 800; color: var(--am-ink); margin: 0; }

/* asset cards (image-top) */
.wc-card-body { padding: 22px 22px 26px; }
.wc-max600 { max-width: 600px; }
.wc-max720 { max-width: 720px; }
.wc-max1000 { max-width: 1000px; }

/* sustainability band (homepage) */
.wc-sus-band::after {
  background: linear-gradient(100deg, rgba(20,24,31,.96) 0%, rgba(20,24,31,.88) 40%, rgba(20,24,31,.55) 72%, rgba(20,24,31,.42) 100%), linear-gradient(180deg, rgba(20,24,31,0) 48%, rgba(20,24,31,.55) 100%);
}
.wc-sus-band > .am-band-photo { opacity: 1; }
.wc-sus-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 70px; border-top: 1px solid rgba(255,255,255,.2); }
.wc-sus-stats > * { margin-block-start: 0; padding: 26px 30px 0 0; }
@media (max-width: 720px) { .wc-sus-stats { grid-template-columns: 1fr 1fr; } }

/* pillars (corporate strategy) — number beside title on phones */
.wc-pillar-num { font-family: var(--am-sans); font-size: 46px; font-weight: 800; letter-spacing: -.02em; line-height: 1; color: #D2D9E0; margin: 0; }
.am-pillar h3 { margin: 18px 0 10px; }
.am-pillar p:not(.wc-pillar-num) { margin: 0; }
@media (max-width: 720px) {
  .am-pillar { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-items: baseline; }
  .am-pillar > .wc-pillar-num { grid-area: 1 / 1; }
  .am-pillar > h3 { grid-area: 1 / 2; margin: 0 0 8px; }
  .am-pillar > p:not(.wc-pillar-num) { grid-area: 2 / 2; }
}

/* ---------------------------------------------------------------------
   4d. Interior-page components (corporate / governance / shared)
   --------------------------------------------------------------------- */
.am-mb54 { margin-bottom: 54px; } .am-mb64 { margin-bottom: 64px; }
.am-mt9 { margin-top: 9px; }

/* framed fact panel ("Altamira at a glance") */
.wc-frame-head { background: var(--am-ink); padding: 18px 28px; }
.wc-frame-head > p { margin: 0; }
.wc-datarow { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; padding: 18px 28px; border-top: 1px solid var(--am-line); }
.wc-datarow > p { margin: 0; }

/* value-chain dark band */
.wc-chain-band::after {
  background: linear-gradient(90deg, rgba(20,24,31,.85) 0%, rgba(20,24,31,.62) 45%, rgba(20,24,31,.58) 100%), linear-gradient(0deg, rgba(20,24,31,.66) 0%, rgba(20,24,31,0) 58%);
}
.wc-chain-band > .am-band-photo { opacity: .55; }
.wc-chainstep { border-top: 2px solid var(--am-blue); padding: 22px 26px 0 0; }
.wc-chainstep h3 { margin: 12px 0 10px; }
.wc-chainstep p { margin: 0; }
.wc-chainstep p:first-child { margin: 0; }

/* CEO portrait + signature */
.wc-portrait { margin: 0; height: 100%; }
.wc-portrait img { width: 100%; height: 100%; min-height: 460px; object-fit: cover; border-radius: 3px; }
@media (max-width: 720px) { .wc-portrait img { min-height: 0; height: auto; } }
.wc-sig { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--am-line); }
.wc-sig > p { margin: 0; }
.wc-sig > p + p { margin-top: 9px; }

/* leadership reference cards */
.wc-col-gap20 { display: flex; flex-direction: column; gap: 20px; }
.wc-col-gap20 > * { margin-block-start: 0; }
.wc-teamcard { display: block; background: #fff; border: 1px solid var(--am-line); border-radius: 3px; padding: 26px 28px; }
.wc-avatar-row { display: flex; gap: 7px; margin-bottom: 18px; }
.wc-avatar-row > * { margin-block-start: 0; }
.wc-avatar { margin: 0; }
.wc-avatar img { width: 34px; height: 34px; object-fit: cover; border-radius: 2px; border: 1px solid var(--am-line); }
.wc-row-sb { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.wc-row-sb > p { margin: 0; }
.wc-teamcard-p { margin: 9px 0 16px; }

/* governance document links */
.wc-gap-64x { gap: 0 64px; }
.wc-doclink { display: block; padding: 30px 0; border-top: 1px solid var(--am-line); }
.wc-doclink > p { margin: 0; }
.wc-doclink > p:nth-child(2) { margin: 8px 0 16px; }

/* history milestones */
.wc-milestone { display: grid; grid-template-columns: 120px 1fr; gap: 36px; align-items: start; padding: 26px 0; border-top: 1px solid #DDE2E7; }
.wc-milestone > p { margin: 0; }
.wc-milestone > p:last-child { padding-top: 3px; }
@media (max-width: 720px) { .wc-milestone { grid-template-columns: 1fr; gap: 6px; } }

/* dark "Explore" CTA tile grid */
/* align-items:start avoids a Chrome quirk where margin-top:auto on the CTA
   inflates only the first grid item's track (leaving tiles mismatched); every
   tile keeps its equal min-height and the CTA still pins to the bottom. */
.wc-cta-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.12); align-items: start; }
.wc-cta-grid.wc-cta-n3 { grid-template-columns: repeat(3, 1fr); }
.wc-cta-grid.wc-cta-n2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 1024px) { .wc-cta-grid, .wc-cta-grid.wc-cta-n3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) { .wc-cta-grid, .wc-cta-grid.wc-cta-n3 { grid-template-columns: 1fr; } }
.am-cta-tile { display: flex; flex-direction: column; gap: 10px; min-height: 188px; padding: 34px 30px; background: var(--am-ink); }
.am-cta-tile > * { margin: 0 !important; }
.am-cta-tile > p:last-child { margin-top: auto !important; }
.am-cta-tile:hover { box-shadow: inset 0 0 0 1.5px var(--am-blue); }

/* generic side-nav page layout (mirrors the 236px 1fr IR layout) */
.am-side-layout { display: grid; grid-template-columns: 236px 1fr; gap: 52px; align-items: start; }
@media (max-width: 1024px) { .am-side-layout { grid-template-columns: 1fr; } }
.am-side-layout > * { margin-block-start: 0; }
.wc-aside { position: sticky; top: 24px; }
.wc-main { min-width: 0; }

/* ---------------------------------------------------------------------
   4e. Side navigation, document rows, and IR page components
   --------------------------------------------------------------------- */
.wc-aside-label { padding: 0 0 14px; border-bottom: 1px solid var(--am-line); margin: 0 0 8px; }
.wc-sidelink { margin: 0; position: relative; }
.wc-sidelink a {
  display: block; position: relative;
  font-family: var(--am-sans); font-size: 14px; font-weight: 500; color: var(--am-body);
  text-decoration: none; padding: 12px 0 12px 16px; border-bottom: 1px solid var(--am-line-faint);
}
.wc-sidelink a::before {
  content: ''; position: absolute; left: 0; top: 50%; width: 3px; height: 18px;
  background: var(--am-blue); border-radius: 2px;
  transform: translateY(-50%) scaleY(0); transform-origin: center; transition: transform .18s ease;
}
.wc-sidelink a:hover::before { transform: translateY(-50%) scaleY(1); }
.wc-sidelink a:hover { color: var(--am-ink); }
.wc-sidelink.is-active a { font-weight: 700; color: var(--am-ink); }
.wc-sidelink.is-active a::before { transform: translateY(-50%) scaleY(1); }
.am-sidecard p { margin: 0; }
.am-sidecard p + p { margin-top: 6px; }
.am-sidecard .wc-ctalink { margin-top: 13px; }
div.am-sidecard:hover, a.am-sidecard:hover { border-color: var(--am-blue); }
.am-dot-pulse { animation: amPulse 1.8s infinite; }

/* document download rows (fully-clickable, arrow + chip drawn by CSS) */
.wc-dlrow { margin: 0; border-top: 1px solid var(--am-line); }
.am-frame > .wc-dlrow:first-child { border-top: 0; }
.wc-dlrow a {
  display: grid; grid-template-columns: 38px 1fr 40px; gap: 2px 18px; align-items: center;
  padding: 18px 26px; text-decoration: none; background: #fff; transition: background .15s ease;
}
.wc-dlrow a::before {
  content: 'PDF'; grid-column: 1; grid-row: 1 / 3;
  display: flex; align-items: center; justify-content: center; width: 38px; height: 38px;
  border: 1px solid var(--am-line); border-radius: 2px; background: var(--am-line-faint);
  font-family: var(--am-mono); font-size: 9px; font-weight: 600; color: var(--am-blue);
}
.wc-dlrow.is-xlsx a::before { content: 'XLSX'; }
.wc-dlrow.is-green a::before { color: var(--am-green); }
.wc-dlrow a::after {
  content: '\2193'; grid-column: 3; grid-row: 1 / 3;
  display: flex; align-items: center; justify-content: center; width: 40px; height: 40px;
  border-radius: 50%; border: 1px solid var(--am-line); color: var(--am-blue); background: #fff;
  font-size: 15px; transition: background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.wc-dlrow a:hover { background: #EFF4FC; }
.wc-dlrow a:hover::after { background: var(--am-blue); border-color: var(--am-blue); color: #fff; box-shadow: 0 6px 14px -6px rgba(58,107,176,.6); }
.wc-dltitle { grid-column: 2; grid-row: 1; font-family: var(--am-sans); font-size: 15px; font-weight: 600; color: var(--am-ink); }
.wc-dlmeta { grid-column: 2; grid-row: 2; font-family: var(--am-mono); font-size: 10px; letter-spacing: .04em; color: var(--am-muted); }

/* governance: board composition panel + committees */
.wc-sec-pb56 { padding: 0 0 56px; }
.wc-panel-404 { width: 404px; max-width: 100%; flex-shrink: 0; border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; }
.wc-panel-404 > * { margin-block-start: 0; }
.wc-panel-pad { padding: 8px 28px 22px; }
.wc-datarow-sm { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 15px 0; border-top: 1px solid var(--am-line-soft); }
.wc-datarow-sm > p { margin: 0; }
.wc-panel-pad > .wc-datarow-sm:first-child { border-top: 0; }
.wc-panel-link { margin: 0; }
.wc-panel-link a { display: block; padding: 16px 28px; border-top: 1px solid var(--am-line); font-family: var(--am-sans); font-size: 14px; font-weight: 600; color: var(--am-blue); text-decoration: none; }
.wc-panel-grey { background: var(--am-line-faint); padding: 40px; border: 1px solid var(--am-line); border-radius: 4px; margin-bottom: 56px; }
.wc-max680 { max-width: 680px; }
.am-mb18-h { margin-bottom: 18px; } .am-mb12-h { margin-bottom: 12px; }
.am-mb8-h { margin-bottom: 8px; } .am-mb16-h { margin-bottom: 16px; } .am-mb26-h { margin-bottom: 26px; } .am-mb30-h { margin-bottom: 30px; }
.am-mb10 { margin-bottom: 10px; } .am-mb20 { margin-bottom: 20px; }
.am-mb60 { margin-bottom: 60px; } .am-mt8-o { margin: 8px 0 0; } .am-mt10-o { margin: 10px 0 0; }
.wc-comcard { border: 1px solid var(--am-line); border-radius: 3px; padding: 28px 30px; display: flex; flex-direction: column; background: #fff; }
.wc-comcard > * { margin-block-start: 0; }
.wc-comcard-ft { margin: auto 0 0; padding-top: 16px; border-top: 1px solid var(--am-line-soft); }
.wc-band-pad42 { padding: 42px; border-radius: 4px; }
@media (max-width: 720px) { .wc-band-pad42 { padding: 28px 22px; } }
.wc-gap-56x { gap: 0 56px; }
.wc-gap-14 { gap: 14px; } .wc-gap-18 { gap: 18px; } .wc-gap-64 { gap: 64px; }
.wc-checkrow {
  display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; margin: 0;
  border-top: 1px solid rgba(255,255,255,.1);
}
.wc-checkrow::before { content: '\2713'; flex-shrink: 0; color: var(--am-green); font-size: 14px; margin-top: 1px; }
.wc-checkrow-dot { padding: 16px 0; }
.wc-checkrow-dot::before { content: '\25CF'; font-size: 12px; }

/* hero stat strip — sibling of .am-herocopy (kept out of it so motion.js
   counts the numbers up); carries the page gutter + closes the dark band. */
.am-hero-strip { position: relative; z-index: 4; padding: 0 var(--am-gutter) 6px; }

/* sustainability */
.wc-hero-stats { margin-top: 64px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.16); }
@media (max-width: 720px) { .wc-hero-stats { grid-template-columns: 1fr 1fr; } }
.wc-hero-stats > * { margin-block-start: 0; padding: 30px 28px 40px 0; }
.wc-hero-stats p { margin: 0; }
.wc-stat-40-white { font-family: var(--am-sans); font-size: 40px; font-weight: 800; letter-spacing: -.02em; line-height: 1; color: #fff; margin: 0; }
.wc-hero-stat-l { margin: 12px 0 0 !important; max-width: 170px; }
.am-kicker-green::before { background: var(--am-green); }
.wc-arlink-green a { color: var(--am-green); border-color: var(--am-green); }
.wc-suscard { border: 1px solid var(--am-line); border-radius: 3px; padding: 30px 30px 32px; display: flex; flex-direction: column; background: #fff; }
.wc-suscard > * { margin-block-start: 0; }
.wc-suscard p:first-child { margin: 0; }
.wc-suscard-h { margin: 22px 0 10px; }

/* contact + offices */
.wc-contactrow { padding: 24px 0; border-top: 1px solid var(--am-line); }
.wc-contactrow > p { margin-block-start: 0; }
.wc-band-grey-t { background: var(--am-line-faint); border-top: 1px solid var(--am-line); }
.wc-officecard { border: 1px solid var(--am-line); border-radius: 3px; padding: 28px 30px; background: #fff; }
.wc-officecard > * { margin-block-start: 0; }
.wc-office-city { font-family: var(--am-sans); font-size: 20px; font-weight: 800; letter-spacing: -.02em; color: var(--am-ink); margin: 0 0 14px; }
.wc-notecard { border: 1px solid var(--am-line); border-radius: 3px; background: #FAFBFC; padding: 28px 32px; }
.wc-notecard > p { margin-block-start: 0; }
.wc-hero-lede-sm { margin: 24px 0 0; max-width: 600px; }

/* email alerts */
.am-sub-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items: start; }
.am-sub-grid > * { margin-block-start: 0; }
.wc-alertcard { border: 1px solid var(--am-line); border-radius: 3px; padding: 17px 20px; background: #fff; }
.wc-alertcard > p { margin-block-start: 0; }

/* events */
.wc-eventrow { display: flex; align-items: flex-start; gap: 22px; padding: 20px 24px; border-top: 1px solid var(--am-line); }
.am-frame > .wc-eventrow:first-child { border-top: 0; }
.wc-eventrow > * { margin-block-start: 0; }
.wc-eventdate { flex-shrink: 0; width: 58px; text-align: center; }
.wc-eventdate p { margin: 0; }
.wc-eventdate p + p { margin-top: 4px; }
.wc-event-sub { margin: 5px 0 0; line-height: 1.35; }
.wc-eventtag { margin: 0 0 0 auto; border: 1px solid var(--am-line); padding: 5px 9px; border-radius: 2px; white-space: nowrap; align-self: flex-start; font-family: var(--am-mono); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--am-faint); }
.wc-eventtag.is-sky { border-color: rgba(122,160,212,.4); color: var(--am-sky); }
.wc-eventtag.is-green { border-color: rgba(70,176,131,.4); color: var(--am-green); }
.wc-eventtag.is-faint { color: var(--am-faint); }
.wc-replayrow { margin: 0; border-top: 1px solid var(--am-line); }
.am-frame > .wc-replayrow:first-child { border-top: 0; }
.wc-replayrow a { display: grid; grid-template-columns: 96px 1fr auto; gap: 3px 20px; align-items: center; padding: 18px 24px; text-decoration: none; }
.wc-replayrow a:hover { background: #FAFBFC; }
.wc-rdate { grid-column: 1; grid-row: 1 / 3; font-family: var(--am-mono); font-size: 11px; letter-spacing: .04em; color: var(--am-muted); }
.wc-rtitle { grid-column: 2; grid-row: 1; font-family: var(--am-sans); font-size: 15px; font-weight: 600; color: var(--am-ink); }
.wc-rsub { grid-column: 2; grid-row: 2; font-family: var(--am-mono); font-size: 10px; letter-spacing: .04em; color: var(--am-muted); }
.wc-rcta { grid-column: 3; grid-row: 1 / 3; font-family: var(--am-mono); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--am-blue); white-space: nowrap; }
.wc-rcta::after { content: '\2192'; display: inline-block; margin-left: 8px; transition: transform .18s ease; }
.wc-replayrow a:hover .wc-rcta::after { transform: translateX(5px); }
.wc-deckfeat { position: relative; display: grid; grid-template-columns: 1fr 1.4fr; border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; }
.wc-deckfeat > * { margin-block-start: 0; }
.wc-deckimg { min-height: 230px; }
.wc-deckimg img { min-height: 230px; }
.wc-badge-sm { top: 14px; left: 16px; padding: 5px 10px; }
.wc-deckbody { padding: 34px 38px; display: flex; flex-direction: column; }
.wc-deckbody > * { margin-block-start: 0; }
.wc-deck-p { margin: 13px 0 0; }
.wc-deckcta { margin-top: auto; display: flex; align-items: center; gap: 12px; padding-top: 24px; flex-wrap: wrap; }
.am-mt20 { margin-top: 20px; }
@media (max-width: 900px) { .wc-deckfeat { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------------
   4f. Team grid (altamira/team-grid block) + bio modal
   --------------------------------------------------------------------- */
.am-team-grid { align-items: start; }
.am-biocard { background: #fff; }
.am-biocard-photo { position: relative; aspect-ratio: 4 / 5; background-color: #DDE2E7; background-size: cover; background-position: center; }
.am-biocard-tag { position: absolute; bottom: 13px; left: 15px; }
.am-biocard-body { padding: 20px 22px 24px; }
.am-biocard-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
.am-biocard-chip { font-family: var(--am-mono); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; color: var(--am-body); border: 1px solid var(--am-line); border-radius: 2px; padding: 3px 7px; white-space: nowrap; }
.am-biocard-bio { margin: 13px 0 0; }
.am-biocard-cta { display: inline-block; margin-top: 16px; }
.am-mt5 { margin-top: 5px; }

/* ---------------------------------------------------------------------
   4g. Gallery (core Gallery block + lightbox on .am-gallery)
   --------------------------------------------------------------------- */
.am-gallery.wp-block-gallery { gap: 20px; }
.am-gallery .wp-block-image img { width: 100%; height: 300px; object-fit: cover; border-radius: 3px; cursor: zoom-in; transition: filter .18s ease, transform .18s ease; }
.am-gallery .wp-block-image img:hover { filter: brightness(1.06); transform: translateY(-2px); }

/* document block: editor icon chip + fields (front-end uses wc-dlrow ::before) */
.wc-dl-ico { display: none; }
.wc-dlrow--edit { display: flex; align-items: center; gap: 18px; }
.wc-dlrow--edit .wc-dl-ico { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex-shrink: 0; border: 1px solid var(--am-line); border-radius: 2px; background: var(--am-line-faint); font-family: var(--am-mono); font-size: 9px; font-weight: 600; color: var(--am-blue); }
.wc-dlrow--edit.is-xlsx .wc-dl-ico { color: var(--am-green); }
.wc-dlrow--edit .wc-dl-fields { display: flex; flex-direction: column; gap: 3px; flex: 1; }
.wc-dlrow--edit .wc-dltitle { font-family: var(--am-sans); font-size: 15px; font-weight: 600; color: var(--am-ink); }
.wc-dlrow--edit .wc-dlmeta { font-family: var(--am-mono); font-size: 10px; letter-spacing: .04em; color: var(--am-muted); }
.am-block-help { font-size: 12px; color: var(--am-muted); font-style: italic; margin: 8px 0 0; }

/* ---------------------------------------------------------------------
   4h. Reserves & resources page
   --------------------------------------------------------------------- */
.wc-effnote { margin: 22px 0 0; display: inline-flex; align-items: center; gap: 9px; }
.wc-effdot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--am-green); }
.wc-footnote { margin: 16px 0 0; font-family: var(--am-mono); font-size: 11px; line-height: 1.6; letter-spacing: .02em; color: var(--am-muted); }
.am-t-sans36-w800-lsn025-white { font-family: var(--am-sans); font-size: 36px; font-weight: 800; letter-spacing: -.025em; color: #fff; margin: 0; }
.am-t-sans36-w800-lsn025-ink { font-family: var(--am-sans); font-size: 36px; font-weight: 800; letter-spacing: -.025em; color: var(--am-ink); margin: 0; }
.am-t-sans34-w800-lsn025-lh11-ink { font-family: var(--am-sans); font-size: 34px; font-weight: 800; line-height: 1.1; letter-spacing: -.025em; color: var(--am-ink); margin: 0; }
.am-mb44-h { margin-bottom: 44px; } .am-mb38 { margin-bottom: 38px; } .am-mb8-o { margin: 0 0 8px; }
.wc-max560 { max-width: 560px; }
@media (max-width: 720px) { .am-t-sans36-w800-lsn025-white, .am-t-sans36-w800-lsn025-ink, .am-t-sans34-w800-lsn025-lh11-ink { font-size: 26px; line-height: 1.15; } }

/* core Table block, styled to the design system */
.wc-table { margin: 0; }
.wc-table table { border-collapse: collapse; width: 100%; border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; }
.wc-table thead th { background: var(--am-ink); color: var(--am-faint); font-family: var(--am-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; font-weight: 400; text-align: right; padding: 16px 20px; border: 0; }
.wc-table thead th:first-child, .wc-table tbody td:first-child { text-align: left; }
.wc-table tbody td { font-family: var(--am-sans); font-size: 15px; color: var(--am-body); text-align: right; padding: 17px 20px; border: 0; border-top: 1px solid var(--am-line); background: #fff; }
.wc-table tbody tr:last-child td { background: #F7F9FB; color: var(--am-ink); font-weight: 600; }
.wc-table tbody td:first-child { font-weight: 700; color: var(--am-ink); }

/* reserves/resources explainer cards */
.wc-rr-head { padding: 20px 28px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wc-rr-head.is-ink { background: var(--am-ink); }
.wc-rr-head.is-slate { background: var(--am-drop); }
.wc-rr-head > p { margin: 0; }
.wc-rr-title { font-family: var(--am-sans); font-size: 18px; font-weight: 700; color: #fff; }
.wc-rr-tag { font-family: var(--am-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--am-sky); }
.wc-rr-head.is-slate .wc-rr-tag { color: #C7CDD4; }
.wc-rr-row { padding: 22px 28px; border-top: 1px solid var(--am-line); }
.wc-rr-row > * { margin-block-start: 0; }
.wc-rr-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; padding: 0; }
.wc-rr-dot.is-blue { background: var(--am-blue); } .wc-rr-dot.is-blue2 { background: #6E91C2; }
.wc-rr-dot.is-green { background: var(--am-green); } .wc-rr-dot.is-sky { background: var(--am-sky); }
.wc-rr-dot.is-amber { background: var(--am-amber); }
.wc-rr-desc { margin: 0; padding-left: 21px; }

/* commodity cells (dark band) */
.wc-comm-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.12); }
@media (max-width: 720px) { .wc-comm-grid { grid-template-columns: 1fr; } }
.wc-commcell { background: var(--am-ink); padding: 34px 32px; }
.wc-commcell > * { margin-block-start: 0; }
.wc-comm-val { font-family: var(--am-sans); font-size: 44px; font-weight: 800; letter-spacing: -.03em; color: #fff; line-height: 1; margin: 0; }
.wc-comm-unit { font-family: var(--am-mono); font-size: 13px; color: var(--am-faint); margin-left: 8px; letter-spacing: 0; }
.wc-comm-desc { margin: 14px 0 0; }

/* ---------------------------------------------------------------------
   4i. Operations page
   --------------------------------------------------------------------- */
.wc-panel-430 { width: 430px; max-width: 100%; flex-shrink: 0; border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; }
.wc-panel-430 > * { margin-block-start: 0; }
.wc-metric { display: flex; align-items: baseline; gap: 7px; }
.wc-prodfoot { padding: 26px 28px 28px; border-top: 1px solid var(--am-line); background: #FAFBFC; }
.wc-prodfoot > * { margin-block-start: 0; }
.wc-table-mini table { border: 0; }
.wc-table-mini thead th { background: transparent; color: var(--am-muted); text-align: center; padding: 6px 4px; font-size: 10px; }
.wc-table-mini tbody td { text-align: center; padding: 6px 4px; border: 0; background: transparent; font-size: 14px; font-weight: 700; color: var(--am-body); }
.wc-table-mini tbody td:last-child { color: var(--am-blue); }
.wc-table-foot { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 18px; flex-wrap: wrap; }

/* asset cards */
.wc-assetcard { position: relative; display: flex; flex-direction: column; border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; background: #fff; }
.wc-assetcard > * { margin-block-start: 0; }
.wc-assetcard-img { margin: 0; height: 168px; }
.wc-assetcard-img img { width: 100%; height: 168px; object-fit: cover; }
.wc-assetbadge { top: 14px; left: 16px; display: inline-flex; align-items: center; gap: 7px; background: rgba(14,19,24,.55); padding: 5px 9px; }
.wc-assetbadge::before { content: ''; width: 7px; height: 7px; border-radius: 50%; }
.wc-assetbadge.is-blue::before { background: var(--am-blue); }
.wc-assetbadge.is-amber::before { background: var(--am-amber); }
.wc-assetbadge.is-sky::before { background: var(--am-sky); }
.wc-assetcard-body { padding: 24px 24px 28px; display: flex; flex-direction: column; flex: 1; }
.wc-assetcard-body > * { margin-block-start: 0; }
.wc-assetcard-h { margin: 0 0 5px; font-family: var(--am-sans); font-size: 22px; font-weight: 700; letter-spacing: -.01em; color: var(--am-ink); }
.wc-assetcard-desc { margin: 0 0 18px; }
.wc-assetcard-foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; padding-top: 16px; border-top: 1px solid var(--am-line-soft); }
.wc-assetcard-foot > * { margin-block-start: 0; }

/* development pipeline */
.wc-pipeline { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; }
@media (max-width: 1024px) { .wc-pipeline { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .wc-pipeline { grid-template-columns: 1fr; } }
.am-phasestep { padding: 30px 28px 32px; border-left: 1px solid var(--am-line); background: #fff; }
.am-phasestep:nth-child(even) { background: #FAFBFC; }
.am-phasestep > * { margin-block-start: 0; }
.am-mb6-o { margin: 0 0 6px; }
.wc-phase-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.wc-phase-dot.is-amber { background: var(--am-amber); } .wc-phase-dot.is-sky { background: var(--am-sky); }
.wc-phase-dot.is-blue { background: var(--am-blue); } .wc-phase-dot.is-green { background: var(--am-green); }
.am-phase-h { margin: 0 0 10px; }
.am-phase-desc { margin: 0 0 24px; min-height: 58px; }
.wc-phase-card { background: #fff; border: 1px solid var(--am-line); border-left: 3px solid var(--am-blue); border-radius: 2px; padding: 14px 16px; margin-top: 10px; }
.wc-phase-card > * { margin-block-start: 0; }
.wc-phase-card.is-amber { border-left-color: var(--am-amber); } .wc-phase-card.is-sky { border-left-color: var(--am-sky); }
.wc-phase-card.is-blue { border-left-color: var(--am-blue); } .wc-phase-card.is-green { border-left-color: var(--am-green); }

/* ---------------------------------------------------------------------
   4j. Cobre Verde page
   --------------------------------------------------------------------- */
.wc-cv-badges { gap: 12px; margin-bottom: 22px; flex-wrap: wrap; }
.wc-cv-badges > span { font-family: var(--am-mono); font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
.wc-status-op { display: inline-flex; align-items: center; gap: 8px; color: var(--am-green); }
.wc-status-op::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--am-green); }
.wc-status-flag { color: #fff; background: var(--am-blue); padding: 5px 10px; border-radius: 2px; }
.wc-status-own { color: #C7CDD4; background: rgba(255,255,255,.08); padding: 5px 10px; border-radius: 2px; }
.wc-cv-title { margin: 0; font-family: var(--am-sans); font-size: 78px; font-weight: 800; line-height: .98; letter-spacing: -.035em; color: #fff; }
@media (max-width: 720px) { .wc-cv-title { font-size: 44px; } }
.wc-cv-subline { gap: 12px; margin-top: 18px; }
.wc-cv-loc { font-family: Newsreader, serif; font-style: italic; font-size: 23px; color: var(--am-sky); }
.wc-cv-dot { width: 4px; height: 4px; border-radius: 50%; background: #56606c; }
.am-t-mono13-ls04-muted { font-family: var(--am-mono); font-size: 13px; letter-spacing: .04em; color: var(--am-muted); }
.wc-cv-lede { margin: 24px 0 0; max-width: 620px; }
.wc-unit { font-size: 18px; font-weight: 600; color: var(--am-faint); }

/* mine plan steps */
.wc-mpgrid { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; }
@media (max-width: 1024px) { .wc-mpgrid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .wc-mpgrid { grid-template-columns: 1fr; } }
.am-mpstep { padding: 28px 22px 30px; border-left: 1px solid var(--am-line); background: #fff; }
.am-mpstep:nth-child(even) { background: #FAFBFC; }
.am-mpstep > * { margin-block-start: 0; }
.am-mb14 { margin-bottom: 14px; }
.am-mpstep-h { margin: 0 0 9px; }
.am-rulehead-ink { border-top: 2px solid var(--am-ink); padding-top: 18px; }
.am-rulehead-ink > * { margin-block-start: 0; }
.am-mt6 { margin-top: 6px; } .am-mt12 { margin-top: 12px; }
.wc-cu { color: var(--am-blue); font-weight: 700; }

/* expansion timeline */
.wc-timeline { position: relative; display: grid; grid-template-columns: repeat(7, 1fr); gap: 0; }
.wc-timeline::before { content: ''; position: absolute; left: 0; right: 0; top: 7px; height: 1px; background: rgba(255,255,255,.16); }
@media (max-width: 900px) { .wc-timeline { grid-template-columns: repeat(4, 1fr); row-gap: 32px; } .wc-timeline::before { display: none; } }
@media (max-width: 560px) { .wc-timeline { grid-template-columns: 1fr 1fr; } }
.wc-tlitem { position: relative; padding-right: 18px; }
.wc-tlitem > * { margin-block-start: 0; }
.wc-tldot { width: 15px; height: 15px; border-radius: 50%; background: var(--am-blue); border: 2px solid var(--am-blue); position: relative; z-index: 2; }
.wc-tldot.is-future { background: var(--am-ink); border-color: #56606c; }
.wc-tlyear-m { margin-top: 22px; } .wc-tllabel-m { margin-top: 7px; }
.wc-tlyear { font-family: var(--am-sans); font-size: 22px; font-weight: 800; letter-spacing: -.02em; margin: 0; }
.wc-tlyear.is-future { color: #6b7682; }
.wc-tllabel { font-family: var(--am-sans); font-size: 13px; line-height: 1.45; margin: 0; }
.wc-tllabel.is-future { color: var(--am-muted); }
.am-t-sans16-lh162-faint { font-family: var(--am-sans); font-size: 16px; line-height: 1.62; color: var(--am-faint); }

/* sustainability & community */
.wc-band-dark2 { background: var(--am-dark-2); }
.wc-lh11 { line-height: 1.1; }
.am-t-sans16-lh166-faint { font-family: var(--am-sans); font-size: 16px; line-height: 1.66; color: var(--am-faint); }
.wc-max480 { max-width: 480px; }
.wc-arlink-sky a { color: var(--am-sky); border-color: var(--am-sky); }
.wc-esg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.1); }
.wc-esg-grid > * { margin-block-start: 0; }
.wc-esgcell { background: var(--am-dark-2); padding: 32px 30px; }
.wc-esgcell > * { margin-block-start: 0; }

/* ---------------------------------------------------------------------
   4k. Investors page
   --------------------------------------------------------------------- */
.wc-hero-2col { display: grid; grid-template-columns: 1.25fr 1fr; gap: 64px; align-items: center; }
@media (max-width: 900px) { .wc-hero-2col { grid-template-columns: 1fr; gap: 40px; } }
.wc-hero-2col > * { margin-block-start: 0; }
.wc-hero-copy > * { margin-block-start: 0; }
.am-t-sans58-w800-lsn03-white { margin: 0; max-width: 620px; font-family: var(--am-sans); font-size: 58px; font-weight: 800; line-height: 1.03; letter-spacing: -.03em; color: #fff; text-wrap: balance; }
@media (max-width: 720px) { .am-t-sans58-w800-lsn03-white { font-size: 34px; } }
.wc-max540 { max-width: 540px; }
.wc-hero-btns { display: flex; gap: 14px; margin-top: 34px; flex-wrap: wrap; }
.wc-hero-btns > * { margin-block-start: 0; }
.wc-hero-btns .am-btn-light-block .wp-block-button__link { background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.18); }

/* hero share-price card */
.am-quote-card { background: rgba(20,24,31,.6); border: 1px solid rgba(255,255,255,.13); border-radius: 4px; overflow: hidden; }
.am-quote-card > * { margin-block-start: 0; }
.wc-quote-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; border-bottom: 1px solid rgba(255,255,255,.1); }
.wc-quote-head > * { margin-block-start: 0; }
.wc-quote-sym { gap: 9px; } .wc-dot7 { width: 7px; height: 7px; border-radius: 50%; background: var(--am-green); display: inline-block; }
.am-t-mono10-ls06-legal { font-family: var(--am-mono); font-size: 10px; letter-spacing: .06em; color: #56606c; }
.wc-quote-body { padding: 24px; }
.wc-quote-body > * { margin-block-start: 0; }
.wc-quote-price { font-family: var(--am-sans); font-size: 48px; font-weight: 800; letter-spacing: -.03em; color: #fff; line-height: 1; margin: 0; }
.wc-quote-chg { margin: 10px 0 0; font-family: var(--am-sans); font-size: 15px; font-weight: 700; color: var(--am-green); }
.wc-quote-pct { font-weight: 600; } .am-t-mono11-legal { font-family: var(--am-mono); font-size: 11px; color: var(--am-legal); font-weight: 400; }
.wc-quote-stats { display: grid; grid-template-columns: 1fr 1fr; margin-top: 24px; border-top: 1px solid rgba(255,255,255,.1); }
.wc-quote-stats > * { margin-block-start: 0; }
.wc-qs-v { margin-top: 5px; }
.wc-quote-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; }
.wc-quote-foot > * { margin-block-start: 0; }

/* thesis + metrics + fin layout */
.wc-thesis-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; }
@media (max-width: 1024px) { .wc-thesis-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .wc-thesis-grid { grid-template-columns: 1fr; } }
.am-thesisstep { padding: 32px 28px 30px; border-left: 1px solid var(--am-line); background: #fff; display: flex; flex-direction: column; }
.am-thesisstep:nth-child(even) { background: #FAFBFC; }
.am-thesisstep > * { margin-block-start: 0; }
.am-thesis-foot { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--am-line-soft); }
.am-thesis-foot > * { margin-block-start: 0; }
.am-mt4 { margin-top: 4px; } .am-mt3 { margin-top: 3px; } .am-mt10 { margin-top: 10px; }
.wc-fin-layout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 24px; align-items: start; }
@media (max-width: 900px) { .wc-fin-layout { grid-template-columns: 1fr; } }
.wc-fin-layout > * { margin-block-start: 0; }
.wc-metrics-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px; background: var(--am-line); border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; }
@media (max-width: 560px) { .wc-metrics-grid { grid-template-columns: 1fr 1fr; } }
.wc-metrics-grid > * { margin-block-start: 0; }
.am-cardbody { background: #fff; padding: 26px 24px; display: flex; flex-direction: column; }
.am-cardbody > * { margin-block-start: 0; }
.wc-metric-yoy { margin-top: auto; padding-top: 16px; }

/* latest results + news */
.wc-results-2col { display: grid; grid-template-columns: 1.15fr 1fr; gap: 48px; align-items: stretch; }
@media (max-width: 900px) { .wc-results-2col { grid-template-columns: 1fr; } }
.wc-results-2col > * { margin-block-start: 0; }
.wc-result-card { display: flex; flex-direction: column; border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; }
.wc-result-card > * { margin-block-start: 0; }
.wc-result-head { background: var(--am-ink); padding: 30px 34px; }
.wc-result-head > * { margin-block-start: 0; }
.wc-result-badges { gap: 10px; margin-bottom: 14px; }
.wc-result-tag { font-family: var(--am-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #0E1318; background: var(--am-green); padding: 5px 10px; border-radius: 2px; }
.wc-result-h { margin: 0; line-height: 1.12; }
.wc-result-body { padding: 30px 34px; display: flex; flex-direction: column; flex: 1; }
.wc-result-body > * { margin-block-start: 0; }
.wc-result-stats { display: grid; grid-template-columns: 1fr 1fr 1fr; border-bottom: 1px solid var(--am-line-soft); padding-bottom: 24px; }
.wc-result-stats > * { margin-block-start: 0; }
.am-t-sans12-muted { font-family: var(--am-sans); font-size: 12px; color: var(--am-muted); }
.wc-result-p { margin: 22px 0 26px; }
.wc-result-links { margin-top: auto; display: flex; gap: 20px; }
.wc-result-links > * { margin-block-start: 0; }
.wc-newslist > * { margin-block-start: 0; }
.wc-newshead { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.wc-newshead > * { margin-block-start: 0; }
.wc-newsitem { display: block; padding: 20px 0; border-bottom: 1px solid var(--am-line); }
.wc-newsitem > * { margin-block-start: 0; }
.wc-newsmeta { gap: 12px; margin-bottom: 9px; }
.wc-news-dot { width: 3px; height: 3px; border-radius: 50%; background: #C7CDD4; }
.am-t-sans17-w600-lh132-ink a { color: var(--am-ink); text-decoration: none; }
.am-t-sans17-w600-lh132-ink a:hover { color: var(--am-blue); }

/* events band (dark) */
.wc-events-2col, .wc-events-band .wc-events-2col { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; }
@media (max-width: 900px) { .wc-events-2col { grid-template-columns: 1fr; } }
.wc-events-2col > * { margin-block-start: 0; }
/* The port left the events left-column + event-list as unclassed group blocks,
   so the 24px flow block-gap was padding out the kicker/heading/rows. Spacing
   here comes from am-mb* + each row's own padding, so zero the injected gap. */
.wc-events-2col > .wp-block-group > *,
.wc-events-2col > .wp-block-group > .wp-block-group > * { margin-block-start: 0; }
.am-mb34-h { margin-bottom: 34px; }
.wc-eventrow-dark { display: flex; align-items: flex-start; gap: 22px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.1); }
.wc-eventrow-dark > * { margin-block-start: 0; }
.wc-eventrow-dark .wc-eventdate { width: 62px; text-align: center; flex-shrink: 0; }
.wc-eventrow-dark .wc-eventtag.is-faint { border-color: rgba(255,255,255,.18); color: var(--am-faint); }
.wc-events-side { display: flex; flex-direction: column; gap: 20px; }
.wc-events-side > * { margin-block-start: 0; }
.wc-deckcard-dark { position: relative; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-radius: 3px; overflow: hidden; }
.wc-deckcard-dark > * { margin-block-start: 0; }
.wc-deckcard-img { margin: 0; height: 200px; }
.wc-deckcard-img img { width: 100%; height: 200px; object-fit: cover; }
.wc-deckbadge { position: absolute; top: 16px; left: 18px; z-index: 2; margin: 0; background: var(--am-blue); color: #fff; font-family: var(--am-mono); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; padding: 5px 10px; border-radius: 2px; }
.wc-deckcard-body { padding: 24px 26px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.wc-deckcard-body > * { margin-block-start: 0; }
.am-t-sans18-w700-white { font-family: var(--am-sans); font-size: 18px; font-weight: 700; color: #fff; }
.am-t-sans16-w600-white { font-family: var(--am-sans); font-size: 16px; font-weight: 600; color: #fff; }
.wc-alertcard-dark { display: flex; align-items: center; justify-content: space-between; gap: 20px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-radius: 3px; padding: 22px 26px; }
.wc-alertcard-dark > * { margin-block-start: 0; }

/* reports & analysts */
.wc-reports-2col { display: grid; grid-template-columns: 1.3fr 1fr; gap: 56px; }
@media (max-width: 900px) { .wc-reports-2col { grid-template-columns: 1fr; } }
.wc-reports-2col > * { margin-block-start: 0; }
.wc-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.wc-analyst-note { margin: 18px 0 0; }
.am-t-mono10-lh16-muted { font-family: var(--am-mono); font-size: 10px; line-height: 1.6; letter-spacing: .02em; color: var(--am-muted); }

/* shareholder info cards */
.wc-infocard { background: #fff; border: 1px solid var(--am-line); border-radius: 3px; padding: 26px 26px 28px; }
.wc-infocard > * { margin-block-start: 0; }
.wc-infocard .am-listrow { border-top: 1px solid #F0F2F5; padding: 9px 0; }
.wc-infocard .am-listrow:first-of-type { border-top: 0; }

/* ---------------------------------------------------------------------
   4l. Stock information page
   --------------------------------------------------------------------- */
.wc-trade-grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; }
.wc-trade-grid > * { margin-block-start: 0; }
.am-datarow-b { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 17px 26px; border-top: 1px solid var(--am-line-soft); border-right: 1px solid var(--am-line-soft); }
.am-datarow-b > * { margin-block-start: 0; }
.wc-trade-grid > .am-datarow-b:nth-child(1), .wc-trade-grid > .am-datarow-b:nth-child(2) { border-top: 0; }
.wc-listing-card { border: 1px solid var(--am-line); border-radius: 3px; padding: 28px 30px; }
.wc-listing-card > * { margin-block-start: 0; }
.wc-listing-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.wc-listing-head > * { margin-block-start: 0; }
.wc-cur-badge { font-family: var(--am-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: #fff; background: var(--am-blue); padding: 5px 10px; border-radius: 2px; }
.wc-listing-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 11px 0; border-top: 1px solid var(--am-line-soft); }
.wc-listing-row > * { margin-block-start: 0; }
.wc-tools-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--am-line); border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; }
@media (max-width: 560px) { .wc-tools-grid { grid-template-columns: 1fr; } }
.wc-tools-grid > * { margin-block-start: 0; }
.am-tool { display: flex; flex-direction: column; min-height: 150px; padding: 28px 30px; background: #fff; }
.am-tool > * { margin-block-start: 0; }
.wc-tool-desc { margin: 9px 0 0; }
.wc-tool-cta { margin-top: auto; }
.am-mb64 { margin-bottom: 64px; }

/* ---------------------------------------------------------------------
   4m. Leadership page
   --------------------------------------------------------------------- */
.wc-lead-sec { padding: 0 0 56px; }
.wc-lead-sec > * { margin-block-start: 0; }
.wc-boardsec { background: var(--am-line-faint); padding: 40px; border: 1px solid var(--am-line); border-radius: 4px; margin-bottom: 56px; }
.wc-boardsec > * { margin-block-start: 0; }
@media (max-width: 720px) { .wc-boardsec { padding: 24px; } }
.wc-max720 { max-width: 720px; }
.am-mb48 { margin-bottom: 48px; }
.wc-cmtcard { background: #fff; border: 1px solid var(--am-line); border-top: 2px solid var(--am-blue); border-radius: 3px; padding: 34px 32px; }
.wc-cmtcard > * { margin-block-start: 0; }
.wc-cmt-p { margin: 14px 0 0; }
.wc-cmt-rows { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--am-line); display: flex; flex-direction: column; gap: 12px; }
.wc-cmt-rows > * { margin-block-start: 0; }
.wc-cmtrow { display: flex; gap: 14px; align-items: baseline; }
.wc-cmtrow > * { margin-block-start: 0; }
.wc-cmt-lbl { flex-shrink: 0; width: 64px; }

/* ---------------------------------------------------------------------
   4n. Reports & filings page
   --------------------------------------------------------------------- */
.wc-report-feature { display: grid; grid-template-columns: 1fr 1.4fr; border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; }
@media (max-width: 720px) { .wc-report-feature { grid-template-columns: 1fr; } }
.wc-report-feature > * { margin-block-start: 0; }
.wc-report-cover { margin: 0; min-height: 260px; }
.wc-report-cover img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; }
.wc-report-fbody { padding: 36px 40px; display: flex; flex-direction: column; }
.wc-report-fbody > * { margin-block-start: 0; }
.wc-report-p { margin: 14px 0 0; }
.wc-report-cta { margin-top: auto; display: flex; align-items: center; gap: 12px; padding-top: 26px; flex-wrap: wrap; }
.wc-report-cta > * { margin-block-start: 0; }
.wc-yeargroup { margin-top: 22px; }
.wc-yeargroup > * { margin-block-start: 0; }
.wc-yearhead { display: flex; align-items: baseline; gap: 12px; padding: 18px 2px 14px; border-top: 1px solid var(--am-line-soft); }
.wc-yearhead > * { margin-block-start: 0; }
.am-t-sans20-w800-ink { font-family: var(--am-sans); font-size: 20px; font-weight: 800; letter-spacing: -.015em; color: var(--am-ink); }
/* Reports: Annual/Quarterly filter control + flat (Technical/Sustainability) sections */
.wc-report-filter { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 26px; }
.wc-seg-group { display: flex; border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; }
.am-seg { font-family: var(--am-mono); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--am-ink); background: #fff; border: 0; border-left: 1px solid var(--am-line); padding: 8px 16px; cursor: pointer; transition: background .15s ease, color .15s ease; }
.am-seg:first-child { border-left: 0; }
.am-seg:hover { background: #F4F6F8; }
.am-seg.is-active { color: #fff; background: var(--am-ink); }
.wc-report-sec { margin-top: 46px; }
.wc-report-sec > * { margin-block-start: 0; }

/* ---------------------------------------------------------------------
   4. Layout helpers for block content (grids replicate the inline styles
      of the static pages; they collapse the same way responsive.css does)
   --------------------------------------------------------------------- */
.wc-grid-2, .wc-grid-3, .wc-grid-4, .wc-grid-5 { display: grid; gap: 24px; align-items: start; }
.wc-grid-2 { grid-template-columns: repeat(2, 1fr); }
.wc-grid-3 { grid-template-columns: repeat(3, 1fr); }
.wc-grid-4 { grid-template-columns: repeat(4, 1fr); }
.wc-grid-5 { grid-template-columns: repeat(5, 1fr); }
.wc-split { display: grid; gap: 64px; align-items: start; grid-template-columns: 1.3fr 1fr; }
.wc-split-center { align-items: center; }
.wc-split-rev { display: grid; gap: 64px; align-items: start; grid-template-columns: 0.82fr 1.18fr; }
.wc-split-narrow { display: grid; gap: 64px; align-items: start; grid-template-columns: 0.7fr 1.3fr; }
.wc-split-even { display: grid; gap: 72px; align-items: start; grid-template-columns: 1fr 1fr; }
.wc-gap-0 { gap: 0; } .wc-gap-1 { gap: 1px; } .wc-gap-20 { gap: 20px; } .wc-gap-36 { gap: 36px; }
.wc-gap-48 { gap: 48px 56px; } .wc-gap-52 { gap: 52px; } .wc-gap-72 { gap: 72px; }
@media (max-width: 1024px) {
  .wc-grid-4, .wc-grid-5 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .wc-grid-2, .wc-grid-3, .wc-grid-4, .wc-grid-5,
  .wc-split, .wc-split-rev, .wc-split-narrow, .wc-split-even { grid-template-columns: 1fr; gap: 32px; }
}

/* ---------------------------------------------------------------------
   5. News templates
   --------------------------------------------------------------------- */
.am-news-layout { display: grid; grid-template-columns: 236px 1fr; gap: 52px; align-items: start; }
@media (max-width: 1024px) { .am-news-layout { grid-template-columns: 1fr; gap: 40px; } }
.am-news-aside { position: sticky; top: 24px; }
@media (max-width: 1024px) { .am-news-aside { position: static; } }
.am-news-main { min-width: 0; }
.am-news-listhead { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.am-yearlink { cursor: pointer; }
.am-yearlink.is-active { font-weight: 700 !important; color: #14181F !important; }
.am-yearlink.is-active::before { transform: translateY(-50%) scaleY(1); }

/* featured release card */
.am-feat-release { display: grid; grid-template-columns: 1.05fr 1fr; border: 1px solid var(--am-line); border-radius: 3px; overflow: hidden; margin-bottom: 6px; }
@media (max-width: 900px) { .am-feat-release { grid-template-columns: 1fr; } }
.am-feat-release-media { position: relative; min-height: 280px; background: var(--am-ink) url('../images/flagship_mine_thumbnail_1782541881362.avif') center/cover; }
@media (max-width: 900px) { .am-feat-release-media { min-height: 200px; } }
.am-feat-release-badge { position: absolute; top: 18px; left: 20px; background: var(--am-blue); padding: 5px 10px; border-radius: 2px; }
.am-feat-release-body { padding: 36px 40px; display: flex; flex-direction: column; }
@media (max-width: 720px) { .am-feat-release-body { padding: 24px 22px; } }
.am-feat-release-title { margin: 0 0 16px; font-family: var(--am-sans); font-size: 26px; font-weight: 800; letter-spacing: -.025em; line-height: 1.16; }
.am-feat-release-title a { color: var(--am-ink); text-decoration: none; }
.am-feat-release-title a:hover { color: var(--am-blue); }
.am-feat-release-excerpt { margin: 0 0 28px; }

/* release rows */
.am-news-list > .am-news-row:first-child { border-top: 0; }
.am-news-list-plain > .am-news-row:first-child { border-top: 1px solid var(--am-line); }
.am-news-row { display: grid; grid-template-columns: 130px 1fr auto; align-items: start; gap: 32px; padding: 26px 4px; border-top: 1px solid var(--am-line); }
@media (max-width: 720px) { .am-news-row { grid-template-columns: 1fr; gap: 8px; } }
.am-news-row-date { padding-top: 3px; }
.am-news-row-title { text-decoration: none; }
.am-news-row-title:hover { color: var(--am-blue) !important; }
.am-news-row-excerpt { margin: 8px 0 0; max-width: 620px; }
.am-news-actions { display: flex; flex-direction: column; gap: 9px; align-items: flex-end; padding-top: 3px; }
@media (max-width: 720px) { .am-news-actions { flex-direction: row; align-items: center; } }
.am-pdf-link { font-family: var(--am-mono); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--am-blue); text-decoration: none; }

/* pagination */
.am-pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 36px; }
.am-pagination .page-numbers {
  font-family: var(--am-mono); font-size: 12px; letter-spacing: .06em;
  color: var(--am-body); text-decoration: none; padding: 10px 14px;
  border: 1px solid var(--am-line); border-radius: 2px;
}
.am-pagination .page-numbers.current { background: var(--am-ink); color: #fff; border-color: var(--am-ink); }
.am-pagination a.page-numbers:hover { border-color: var(--am-blue); color: var(--am-blue); }

/* dark CTA band under news templates */
.am-cta-band { position: relative; background: var(--am-ink); overflow: hidden; }
.am-cta-band-img { position: absolute; inset: 0; background: url('../images/copper_ore_macro_bg.avif') center/cover; opacity: .5; }
.am-cta-band-scrim { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(20,24,31,.92) 0%, rgba(20,24,31,.64) 52%, rgba(20,24,31,.5) 100%), linear-gradient(0deg, rgba(20,24,31,.62) 0%, rgba(20,24,31,0) 46%); }
.am-cta-band-inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.am-cta-band-title { margin: 0 0 8px; font-family: var(--am-sans); font-size: 26px; font-weight: 800; letter-spacing: -.02em; color: #fff; }
.am-cta-band-text { margin: 0; font-family: var(--am-sans); font-size: 15px; color: var(--am-faint); }

/* single release */
.am-release-content { max-width: 760px; }
.am-release-content > :first-child { margin-top: 0; }
.am-release-content :where(h2) { font-size: 28px; margin: 38px 0 16px; }
.am-release-content :where(h3) { font-size: 21px; margin: 30px 0 12px; }
.am-release-meta.am-panel { display: block; }
.am-release-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 56px; padding-top: 28px; border-top: 1px solid var(--am-line); max-width: 760px; }
.am-release-nav-link { text-decoration: none; display: inline-block; margin-top: 4px; line-height: 1.35; }
.am-release-nav-link:hover { color: var(--am-blue) !important; }

/* search + 404 */
.am-search-form { display: flex; gap: 10px; max-width: 560px; }
.am-search-form input[type="search"] {
  flex: 1; font-family: var(--am-sans); font-size: 15px; color: var(--am-ink);
  border: 1px solid var(--am-line); border-radius: 2px; padding: 13px 16px; outline: none;
}
.am-search-form input[type="search"]:focus { border-color: var(--am-blue); }
.am-search-form button { border: 0; cursor: pointer; }
.am-search-results { margin-top: 40px; }
.am-search-box { margin-bottom: 8px; }

/* ---------------------------------------------------------------------
   5b. Homepage "Latest news" band ([altamira_news] shortcode)
   --------------------------------------------------------------------- */
.am-newsband { background: var(--am-line-faint); }
.am-newsband-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 26px; border-bottom: 2px solid var(--am-ink); gap: 20px; flex-wrap: wrap; }
.am-newsband-title { margin: 0; font-family: var(--am-sans); font-size: 34px; font-weight: 800; letter-spacing: -.02em; color: var(--am-ink); }
.am-newsband-btn { font-family: var(--am-sans); font-size: 13px; font-weight: 700; letter-spacing: .04em; color: #fff; background: var(--am-blue); padding: 13px 24px; text-decoration: none; }
.am-newsband-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 8px; }
@media (max-width: 1024px) { .am-newsband-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) { .am-newsband-grid { grid-template-columns: 1fr; } }
.am-newscard { display: flex; flex-direction: column; gap: 16px; padding: 34px 30px 30px; text-decoration: none; min-height: 238px; border-left: 1px solid #DDE2E7; }
.am-newsband-grid .am-newscard:first-child { border-left: 0; padding-left: 0; }
@media (max-width: 1024px) { .am-newsband-grid .am-newscard { border-left: 0; padding-left: 0; padding-top: 22px; min-height: 0; } }
.am-newscard-cta { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; border-bottom: 2px solid var(--am-blue); padding-bottom: 6px; }
.am-newscard-cta .am-ar { color: var(--am-blue); font-size: 15px; }
.am-newscard-title { flex: 1; }

/* ---------------------------------------------------------------------
   6. Page-widget styles consolidated from the static pages
   --------------------------------------------------------------------- */
/* arrow nudges */
.am-ar { display: inline-block; transition: transform .18s ease; }
a:hover .am-ar { transform: translateX(5px); }
.am-arlink { transition: filter .15s ease; }
.am-arlink:hover { filter: brightness(.8); }
/* dim-group hover focus */
.am-dimgroup:hover .am-dimitem { opacity: .4; }
.am-dimgroup:hover .am-dimitem:hover { opacity: 1; }
/* side-nav links (IR sidebars): blue accent bar slides in */
.am-sidelink::before { content: ''; position: absolute; left: 0; top: 50%; width: 3px; height: 18px; background: var(--am-blue); border-radius: 2px; transform: translateY(-50%) scaleY(0); transform-origin: center; transition: transform .18s ease; }
.am-sidelink:hover::before { transform: translateY(-50%) scaleY(1); }
.am-sidelink:hover { color: #14181F !important; }
a.am-quotecard:hover { border-color: var(--am-blue) !important; }
.am-sidecard-arrow { display: inline-block; transition: transform .18s ease; }
a.am-sidecard:hover { border-color: var(--am-blue) !important; }
a.am-sidecard:hover .am-sidecard-arrow { transform: translateX(3px); }
/* dark CTA tiles ("Explore Altamira") */
a.am-cta:hover { box-shadow: inset 0 0 0 1.5px var(--am-blue); }
.am-cta-ar { display: inline-block; transition: transform .18s ease; }
a.am-cta:hover .am-cta-ar { transform: translateX(6px); }
/* file-download icon buttons */
.am-dl-ico { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; border: 1px solid var(--am-line); color: var(--am-blue); background: #fff; transition: background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease; }
.am-dl-ico svg { transition: transform .15s ease; }
a:hover .am-dl-ico { background: var(--am-blue); border-color: var(--am-blue); color: #fff; box-shadow: 0 6px 14px -6px rgba(58,107,176,.6); }
a:hover .am-dl-ico svg { transform: translateY(1px); }
a:has(.am-dl-ico):hover { background: #EFF4FC !important; }
/* scroll-spy sub-nav (leadership) */
.spy-active { color: #14181F !important; font-weight: 700 !important; }
.spy-active .spy-bar { opacity: 1 !important; }
.spy-link::before { content: ''; position: absolute; left: 0; top: 50%; width: 2px; height: 13px; background: var(--am-blue); border-radius: 2px; transform: translateY(-50%) scaleY(0); transform-origin: center; transition: transform .18s ease; }
.spy-link:hover::before { transform: translateY(-50%) scaleY(1); }
.spy-link:hover { color: #14181F !important; }
/* scroll-spy sub-nav base (leadership sidebar); active state is driven by widgets.js */
.wc-spynav { display: flex; flex-direction: column; padding: 0 0 10px 16px; border-bottom: 1px solid var(--am-band-grey); }
.spy-link { position: relative; display: block; font-family: var(--am-sans); font-size: 13px; font-weight: 500; color: #6b7480; text-decoration: none; padding: 8px 0 8px 14px; transition: color .18s ease; }
.spy-bar { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 2px; height: 13px; background: var(--am-blue); border-radius: 2px; opacity: 0; transition: opacity .18s ease; }
/* bio cards + overlay (leadership) */
.am-bio-arrow { display: inline-block; transition: transform .25s cubic-bezier(.34,1.56,.64,1); }
.am-biocard { transition: border-color .18s ease; }
.am-biocard span:has(> .am-bio-arrow) { background-image: linear-gradient(currentColor,currentColor); background-repeat: no-repeat; background-position: 0 100%; background-size: 100% 1.5px; padding-bottom: 4px; border-bottom: 0 !important; transition: color .18s ease; }
.am-biocard:not(.am-nobd):hover { border-color: var(--am-blue) !important; }
.am-biocard:hover span:has(> .am-bio-arrow) { color: #5B86C9 !important; animation: amBioRedraw .45s ease; }
.am-biocard:hover .am-bio-arrow { transform: translateX(5px); }
@keyframes amBioRedraw { 0% { background-size: 0% 1.5px; } 18% { background-size: 0% 1.5px; } 100% { background-size: 100% 1.5px; } }
@keyframes amFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes amPop { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
/* bio modal overlay — the block renders <div class="am-biooverlay"> without
   inline styles, so the fixed-position backdrop lives here (was inline in the
   static build). */
.am-biooverlay { position: fixed; inset: 0; z-index: 200; background: rgba(11,14,18,.72); padding: 40px; animation: amFade .18s ease; }
.am-biooverlay:not([hidden]) { display: flex; align-items: center; justify-content: center; }
@media (max-width: 720px) { .am-biooverlay { padding: 16px; } }
/* gallery lightbox (cobre verde) */
.am-pgbtn { transition: background .15s ease, border-color .15s ease, color .15s ease; }
.am-pgbtn:hover { background: #EFF4FC !important; border-color: var(--am-blue) !important; color: var(--am-blue) !important; }
.am-featrow { transition: background .15s ease; }
.am-featrow:hover { background: rgba(255,255,255,.06) !important; }
@keyframes amRing { 0% { transform: scale(.55); opacity: .75; } 100% { transform: scale(2); opacity: 0; } }
.cv-gallery-img { display: block; width: 100%; height: 300px; object-fit: cover; border-radius: 3px; cursor: zoom-in; transition: filter .18s ease, transform .18s ease; }
.cv-gallery-img:hover { filter: brightness(1.06); transform: translateY(-2px); }
.cv-lb { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; background: rgba(8,11,15,.93); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity .2s ease; }
.cv-lb.is-open { display: flex; opacity: 1; }
.cv-lb-fig { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.cv-lb-fig img { max-width: 88vw; max-height: 78vh; object-fit: contain; border-radius: 3px; box-shadow: 0 30px 80px -20px rgba(0,0,0,.8); }
.cv-lb-fig figcaption { font-family: var(--am-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #C7CDD4; }
.cv-lb button { cursor: pointer; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: rgba(255,255,255,.05); color: #C7CDD4; line-height: 1; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.cv-lb button:hover { background: var(--am-blue); border-color: var(--am-blue); color: #fff; }
.cv-lb-close { position: absolute; top: 22px; right: 26px; width: 44px; height: 44px; font-size: 24px; }
.cv-lb-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; font-size: 28px; }
/* email-alerts subscribe layout */
@media (max-width: 900px) {
  .am-sub-grid { grid-template-columns: 1fr !important; }
  .am-preview { display: none !important; }
  .am-band { grid-template-columns: repeat(2, 1fr) !important; }
}
/* investors thesis steps stack on phones */
@media (max-width: 720px) {
  .am-thesisstep { border-left: 0 !important; background: #fff !important; padding: 22px 26px !important; display: grid !important; grid-template-columns: auto 1fr; column-gap: 14px; align-items: baseline; }
  .am-thesisstep:not(:first-child) { border-top: 1px solid #E4E8EC !important; }
  .am-thesisstep > div:first-child { grid-column: 1; grid-row: 1; margin-bottom: 0 !important; }
  .am-thesisstep > h3 { grid-column: 2; grid-row: 1; }
  .am-thesisstep > p { grid-column: 2; grid-row: 2; }
  .am-thesisstep > div:last-child { grid-column: 2; grid-row: 3; margin-top: 0 !important; }
}
@keyframes amScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
