/* Gen-3 — media.html. Extracted verbatim; do not edit here.
   Regenerate: python3 scripts/extract-gen3-assets.py */

@import url("_fonts.css");

:root {
    --paper: #F4F4F4;
    --ink: #1D232A;
    --red: #D52128;
    --deep-red: #980117;
    --gold-1: #A37529;
    --gold-2: #E2BA73;
    --border: #D9D2C3;
    --font-display: "DIN Stand-in", "Arial Narrow", sans-serif;
    --font-body: "Inter", system-ui, sans-serif;
    --grid-max: 1400px;
    --grid-gutter: max(clamp(20px, 5vw, 64px), calc(50% - (var(--grid-max) / 2)));
    --header-h: 78px;
  }

  * { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; overflow-x: hidden; }
  html { scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
  html, body { background-color: var(--paper); }
  body {
    color: var(--ink);
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
  }
  img, svg { max-width: 100%; }
  a { font-family: inherit; }
  .visually-hidden {
    position: absolute !important; width: 1px; height: 1px; overflow: hidden;
    clip: rect(0 0 0 0); white-space: nowrap; margin: -1px; padding: 0; border: 0;
  }

  /* ============================================================
     MEDIA GATE — password lock in front of the press kit.
     ============================================================ */
  body.is-gated { overflow: hidden; }
  body.is-gated > *:not(.media-gate) { visibility: hidden; }
  .media-gate {
    position: fixed; inset: 0; z-index: 100;
    background: var(--ink);
    display: grid; place-items: center;
    padding: 24px;
  }
  .media-gate[hidden] { display: none; }
  .media-gate-panel { width: 100%; max-width: 420px; text-align: center; }
  .media-gate-panel .eyebrow {
    font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--gold-1); margin: 0 0 16px;
  }
  .media-gate-panel h1 {
    font-family: var(--font-display); font-weight: 500; text-transform: uppercase;
    letter-spacing: -0.02em;
    font-size: clamp(28px, 3.6vw, 38px);
    line-height: 1.05;
    margin: 0 0 14px;
    color: var(--paper);
  }
  .media-gate-panel h1 .dot {
    background: linear-gradient(160deg, var(--gold-1) 0%, var(--gold-2) 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
  }
  .media-gate-panel > p {
    font-size: 15px; line-height: 1.55; color: rgba(244,244,244,.75);
    margin: 0 0 28px;
  }
  #mediaGateForm { display: flex; gap: 10px; }
  #mediaGatePassword {
    flex: 1 1 auto; min-width: 0;
    font-family: var(--font-body); font-size: 15px; color: var(--ink);
    padding: 12px 14px; border: 1px solid rgba(244,244,244,.3); border-radius: 2px;
    background: var(--paper);
  }
  #mediaGatePassword:focus { outline: none; border-color: var(--red); }
  #mediaGateForm button {
    flex: 0 0 auto;
    font-family: var(--font-display); font-weight: 500; font-size: 13px;
    text-transform: uppercase; letter-spacing: 0.14em;
    background: var(--red); color: var(--paper);
    border: 1px solid var(--red); border-radius: 2px;
    padding: 0 22px; cursor: pointer;
    transition: background 150ms ease, color 150ms ease;
  }
  #mediaGateForm button:hover, #mediaGateForm button:focus-visible { background: transparent; color: var(--paper); }
  .media-gate-error { color: var(--red); font-size: 13px; margin: 14px 0 0; }
  .media-gate-error[hidden] { display: none; }

  /* ============================================================
     HERO — same banner mechanic as the other pages: a half-height
     image with a dark scrim, the header sitting transparent over it
     and switching to a compact fixed bar once scrolled past.
     ============================================================ */
  .hero { position: relative;
    height: 100vh;
    min-height: 520px;
    width: 100%;
    overflow: hidden;
    background: transparent;
  }
  .hero .scrim { position: absolute; inset: 0; z-index: 2; pointer-events: none;
    background:
      linear-gradient(to bottom, rgba(29,23,17,.60) 0%, rgba(29,23,17,.05) 20%, rgba(29,23,17,.05) 55%, rgba(29,23,17,.20) 72%, rgba(29,23,17,.93) 100%);
    transition: opacity 200ms ease;
  }
  .hero-baseline { position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 6px;
    background: var(--red);
    z-index: 4;
    pointer-events: none;
  }
  .hero-content { position: absolute; z-index: 3;
    left: var(--grid-gutter);
    right: var(--grid-gutter);
    bottom: 48px;
  }
  .hero-content .line { display: block;
    font-family: var(--font-display);
    font-weight: 500;
    text-transform: uppercase;
    color: var(--paper);
    font-size: clamp(73px, 7.6vw, 104px);
    line-height: 0.95;
    letter-spacing: -0.03em;
    margin: 0;
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 250ms ease, transform 250ms ease;
    transition-delay: 260ms;
  }
  .hero.loaded .hero-content .line { opacity: 1; transform: translateY(0); }
  .hero-content .line .dot { background: linear-gradient(160deg, var(--gold-1) 0%, var(--gold-2) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
  .hero-content .copy {
    margin: 20px 0 0;
    font-size: clamp(16px, 1.6vw, 18px);
    line-height: 1.55;
    color: var(--paper);
    max-width: 60ch;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 250ms ease, transform 250ms ease;
    transition-delay: 400ms;
  }
  .hero-content .copy a { color: var(--gold-2); }
  .hero.loaded .hero-content .copy { opacity: 0.92; transform: translateY(0); }
  /* Half height, section banner rather than a full-screen opener. */
  .place-hero { height: 50vh; min-height: 320px; overflow: visible; }
  .place-hero img.place-hero-img { position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; z-index: 0;
  }
  .place-hero .scrim { background:
      linear-gradient(to bottom, rgba(29,23,17,.55) 0%, rgba(29,23,17,.10) 20%, rgba(29,23,17,.15) 55%, rgba(29,23,17,.40) 72%, rgba(29,23,17,.90) 100%);
  }

  .hero-header {
    position: absolute; top: 0; left: 0; right: 0; z-index: 20;
    display: flex; align-items: center; gap: 22px;
    padding: 22px var(--grid-gutter);
    opacity: 0;
    transition: opacity 250ms ease;
    transition-delay: 200ms;
  }
  .hero.loaded .hero-header { opacity: 1; }
  .hero-header.is-stuck {
    position: fixed;
    padding-top: 12px;
    padding-bottom: 12px;
    background: rgba(29, 35, 42, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  }
  .hero-header .mark { width: clamp(112px, 12vw, 148px); flex: 0 0 auto; display: block; }
  .hero-header .spacer { flex: 1 1 auto; }
  .hero-header nav { display: flex; gap: 26px; flex: 0 0 auto; }
  .hero-header > .nav-link { flex: 0 0 auto; }
  .nav-link {
    position: relative;
    color: var(--paper); text-decoration: none;
    font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600;
    padding: 4px 0;
    white-space: nowrap;
  }
  .nav-link[aria-current="page"] { color: var(--gold-2); }
  .nav-link::after {
    content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 0;
    background: var(--red);
    transition: width 320ms cubic-bezier(.65,0,.35,1);
  }
  .nav-link:hover::after, .nav-link:focus-visible::after { width: 100%; }
  .burger-wrap { position: relative; flex: 0 0 auto; }
  .burger {
    width: 38px; height: 38px; border-radius: 2px;
    border: 1px solid rgba(244,244,244,.55);
    background: transparent;
    display: grid; place-items: center;
    cursor: pointer;
    transition: background 150ms ease, border-color 150ms ease;
  }
  .burger[aria-expanded="true"] { background: rgba(244,244,244,.12); border-color: rgba(244,244,244,.85); }
  .burger:hover { background: var(--red); border-color: var(--red); }
  .burger:focus-visible { outline: 2px solid var(--paper); outline-offset: 3px; }
  .burger-icon { position: relative; width: 18px; height: 18px; display: block; }
  .burger-icon svg {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%,-50%) scale(1);
    opacity: 1;
    transition: transform 320ms cubic-bezier(.65,0,.35,1), opacity 250ms ease;
  }
  .burger-icon .i-close { transform: translate(-50%,-50%) scale(.5); opacity: 0; }
  .burger[aria-expanded="true"] .i-bars { transform: translate(-50%,-50%) scale(.5); opacity: 0; }
  .burger[aria-expanded="true"] .i-close { transform: translate(-50%,-50%) scale(1); opacity: 1; }
  .secondary-menu {
    position: absolute; top: calc(100% + 12px); right: 0;
    min-width: 210px;
    background: var(--paper);
    border-radius: 2px;
    padding: 10px;
    box-shadow: 0 16px 32px rgba(0,0,0,.32);
    display: flex; flex-direction: column; gap: 1px;
    pointer-events: none;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    transition: clip-path 420ms cubic-bezier(.65,0,.35,1);
    overflow: hidden;
  }
  .secondary-menu::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--gold-1) 0%, var(--gold-2) 100%);
  }
  .secondary-menu.open { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); pointer-events: auto; }
  .secondary-menu a {
    display: block;
    color: var(--ink); text-decoration: none;
    font-size: 13px; font-weight: 600;
    padding: 10px 12px;
  }
  .secondary-menu a[aria-current="page"] { color: var(--deep-red); }
  .secondary-menu a span { position: relative; display: inline-block; }
  .secondary-menu a span::after {
    content: "";
    position: absolute; left: 0; bottom: -3px;
    height: 1px; width: 0;
    background: var(--red);
    transition: width 320ms cubic-bezier(.65,0,.35,1);
  }
  .secondary-menu a:hover span::after, .secondary-menu a:focus-visible span::after { width: 100%; }
  .secondary-menu-tier-primary { display: none; }
  .secondary-menu-divider { display: none; height: 1px; background: var(--border); margin: 6px 12px; }
  .secondary-menu a.secondary-menu-primary {
    font-family: var(--font-display); font-weight: 500; text-transform: uppercase;
    letter-spacing: -0.01em; font-size: 15px;
  }

  /* Full-screen takeover on tablet/mobile — replaces the small
     anchored dropdown with a left-aligned stack of links covering
     the viewport, matching the concept's bold, editorial style. The
     burger button gets a z-index above the overlay so it stays
     visible/clickable as the close control. */
  @media (max-width: 780px) {
    /* .hero-content shares .hero-header's z-index (3) but sits later
       in the DOM, so it would otherwise paint over the open menu
       (a nested stacking context can't out-rank an equal-or-higher
       sibling above it) — bumping the header's z-index here keeps
       it, and the menu inside it, above the hero body on mobile. */
    .hero-header { z-index: 9999; }
    /* Solid grey band instead of the desktop translucent/blurred one —
       backdrop-filter is a common source of mobile Safari rendering
       quirks with position:fixed, so mobile gets a plain opaque fill
       instead of depending on it. */
    .hero-header.is-stuck {
      background: var(--ink);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    /* No reason to let the page scroll behind a full-screen takeover. */
    body.menu-open { overflow: hidden; }
    /* backdrop-filter on the stuck header creates a new containing
       block for position:fixed descendants (spec behaviour) — with
       the menu nested inside .hero-header, that shrank the "full
       screen" takeover down to just the slim stuck bar's own box
       whenever it was opened after scrolling past the hero. Turning
       the blur off while the menu is open avoids that entirely. */
    body.menu-open .hero-header.is-stuck { backdrop-filter: none; -webkit-backdrop-filter: none; }
    /* The full-screen menu (fixed, inset:0, nested in .burger-wrap)
       otherwise paints straight over the logo — lift it above the
       menu's stacking context so it stays visible while open. */
    .site-logo-link { position: relative; z-index: 30; }
    .burger-wrap { position: relative; z-index: 21; }
    .burger { position: relative; z-index: 2; }
    .secondary-menu { z-index: 1; }
    .secondary-menu {
      position: fixed;
      inset: 0;
      width: 100%; height: 100%;
      min-width: 0;
      background: var(--ink);
      border-radius: 0;
      padding: 110px var(--grid-gutter) 40px;
      box-shadow: none;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      gap: 0;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }
    .secondary-menu::before { display: none; }
    .secondary-menu a {
      width: 100%;
      color: var(--paper);
      font-size: 16px;
      padding: 16px 0;
      border-bottom: 1px solid rgba(244,244,244,.15);
    }
    .secondary-menu a.secondary-menu-primary {
      font-size: clamp(28px, 8vw, 36px);
      padding: 14px 0;
    }
    .secondary-menu a span::after { background: var(--red); }
    .secondary-menu-divider { display: block; background: rgba(244,244,244,.15); margin: 8px 0; }
  }


  @media (max-width: 780px) {
    .hero-header nav { display: none; }
    .hero-header > a.nav-link { display: none; }
    .secondary-menu-tier-primary { display: flex; flex-direction: column; }
    .secondary-menu-divider { display: block; }
    .secondary-menu { min-width: 230px; }
  }


  /* ============================================================
     PRESS DOWNLOADS
     ============================================================ */
  .pk {
    background: var(--paper);
    padding: clamp(48px, 6vw, 80px) var(--grid-gutter);
  }
  .pk-frame { max-width: var(--grid-max); margin: 0 auto; }

  .pk-filters {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin: 0 0 40px; padding: 0; list-style: none;
  }
  .pk-filter-pill {
    font-family: var(--font-display); font-size: 13px; font-weight: 500; letter-spacing: 0.06em;
    text-transform: uppercase;
    background: #FFFFFF; color: var(--ink);
    border: 1px solid var(--border); border-radius: 2px;
    padding: 8px 16px; cursor: pointer;
    transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
  }
  .pk-filter-pill:hover, .pk-filter-pill:focus-visible { border-color: var(--ink); }
  .pk-filter-pill[aria-current="true"] { background: var(--red); border-color: var(--red); color: var(--paper); }
  .pk-filter-count { display: inline-block; margin-left: 4px; opacity: .7; }

  .pk-grid {
    list-style: none; margin: 0; padding: 0;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px;
  }
  .pk-card {
    background: #FFFFFF; border: 1px solid var(--border); border-radius: 2px;
    overflow: hidden; display: flex; flex-direction: column;
    transition: box-shadow 250ms ease, transform 250ms ease;
  }
  .pk-card:hover { box-shadow: 0 16px 32px rgba(0,0,0,.12); transform: translateY(-2px); }
  .pk-card.is-filtered-out { display: none; }

  .pk-card-media {
    position: relative; aspect-ratio: 4 / 3; background: var(--border);
    display: flex; align-items: center; justify-content: center; overflow: hidden;
  }
  .pk-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .pk-card-icon { display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--red); }
  .pk-card-icon-label {
    font-family: var(--font-display); font-size: 11px; font-weight: 500;
    letter-spacing: 0.1em; text-transform: uppercase;
  }
  .pk-badge {
    position: absolute; top: 12px; right: 12px;
    padding: 4px 9px;
    background: rgba(29,35,42,.82); color: var(--paper);
    border-radius: 2px;
    font-family: var(--font-display); font-size: 10px; font-weight: 500;
    letter-spacing: 0.1em; text-transform: uppercase;
  }

  .pk-card-body { padding: 20px; display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; }
  .pk-card-eyebrow {
    font-family: var(--font-display); font-size: 11px; font-weight: 500;
    letter-spacing: 0.1em; text-transform: uppercase; color: var(--red); margin: 0;
  }
  .pk-card-title {
    font-family: var(--font-display); font-weight: 500; font-size: 16px; line-height: 1.25;
    color: var(--ink); margin: 0;
  }
  .pk-card-actions { margin-top: auto; padding-top: 14px; display: flex; gap: 8px; }
  .pk-action {
    flex: 1 1 0; text-align: center;
    padding: 9px 10px; border-radius: 2px;
    font-family: var(--font-display); font-size: 12px; font-weight: 500;
    letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none;
    transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
  }
  .pk-action--view { background: transparent; color: var(--ink); border: 1px solid var(--border); }
  .pk-action--view:hover, .pk-action--view:focus-visible { border-color: var(--ink); }
  .pk-action--download { background: var(--red); color: var(--paper); border: 1px solid var(--red); }
  .pk-action--download:hover, .pk-action--download:focus-visible { background: var(--deep-red); border-color: var(--deep-red); }

  .pk-empty {
    display: none;
    text-align: center; padding: 64px 24px; margin-top: 32px;
    background: #FFFFFF; border: 1px dashed var(--border); border-radius: 2px;
  }
  .pk-empty.is-visible { display: block; }
  .pk-empty p { font-size: 15px; line-height: 1.5; color: #4A4438; margin: 0; }
  .pk-load-more {
    display: block;
    position: relative;
    margin: clamp(28px, 4vw, 40px) auto 0;
    font-family: var(--font-display); font-weight: 500; font-size: 15px;
    text-transform: uppercase; letter-spacing: 0.22em;
    color: var(--ink); background: none; border: none; cursor: pointer;
    padding-bottom: 7px;
  }
  .pk-load-more[hidden] { display: none; }
  .pk-load-more::after {
    content: "";
    position: absolute; left: 50%; bottom: 0;
    height: 1px; width: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg, var(--gold-1) 0%, var(--gold-2) 100%);
    transition: width 320ms cubic-bezier(.65,0,.35,1);
  }
  .pk-load-more:hover::after, .pk-load-more:focus-visible::after { width: 100%; }
  .pk-card.is-paged-out { display: none; }
  .pk-empty a { color: var(--red); text-decoration: underline; }

  @media (max-width: 1100px) {
    .pk-grid { grid-template-columns: repeat(3, 1fr); }
  }
  @media (max-width: 780px) {
    .pk-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 480px) {
    .pk-grid { grid-template-columns: 1fr; }
    .pk-card-actions { flex-direction: column; }
  }

  /* ============================================================
     FOOTER — identical to the rest of the site.
     ============================================================ */
  footer.site-footer { position: relative; background: var(--ink); padding: clamp(56px, 7vw, 88px) var(--grid-gutter) 0; }
  .footer-frame { max-width: var(--grid-max); margin: 0 auto; }
  .footer-top { display: flex; gap: 60px; flex-wrap: wrap; padding-bottom: clamp(48px, 6vw, 72px); }
  .footer-brand { flex: 0 0 auto; max-width: 320px; }
  .footer-mark { width: clamp(150px, 15vw, 190px); display: block; }
  .footer-address { font-size: 20px; line-height: 1.4; color: var(--paper); margin: 26px 0 0; }
  .footer-note { font-size: 13px; color: rgba(244,244,244,.5); margin: 16px 0 0; }
  .footer-cols { display: grid; grid-template-columns: repeat(4, 1fr); flex: 1 1 auto; gap: clamp(24px, 4vw, 56px); }
  .footer-col-toggle {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; background: none; border: none; padding: 0; margin: 0 0 20px;
    cursor: default; text-align: left; font: inherit; color: inherit;
  }
  .footer-col-toggle h4 { margin: 0; }
  .footer-col-chevron { display: none; color: var(--paper); }
  .footer-col-expand { display: contents; }
  .footer-col h4 {
    font-family: var(--font-display); font-weight: 500; text-transform: uppercase;
    letter-spacing: 0.14em; font-size: 13px; color: var(--paper); margin: 0 0 20px;
  }
  .footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
  .footer-col a {
    position: relative; display: inline-block; font-size: 15px;
    color: rgba(244,244,244,.65); text-decoration: none; transition: color 150ms ease;
  }
  .footer-col a[aria-current="page"] { color: var(--gold-2); }
  .footer-col a::after {
    content: ""; position: absolute; left: 0; bottom: -2px; height: 1px; width: 0;
    background: var(--red); transition: width 320ms cubic-bezier(.65,0,.35,1);
  }
  .footer-col a:hover, .footer-col a:focus-visible { color: var(--paper); }
  .footer-col a:hover::after, .footer-col a:focus-visible::after { width: 100%; }
  .footer-awards { border-top: 1px solid rgba(163,117,41,.35); padding: 32px 0; text-align: center; }
  .footer-awards-label {
    font-family: var(--font-display); font-weight: 500; text-transform: uppercase;
    letter-spacing: 0.14em; font-size: 13px; color: rgba(244,244,244,.5); margin: 0 0 24px;
  }
  .footer-awards-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: clamp(20px, 3vw, 40px); }
  .footer-awards-row img { height: 64px; width: auto; display: block; opacity: 0.9; transition: opacity 200ms ease, transform 200ms ease; }
  .footer-awards-row img:hover { opacity: 1; transform: translateY(-2px); }
  .footer-bottom {
    width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
    background: var(--red);
    display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
    padding: 22px clamp(20px, 5vw, 64px); font-size: 13px; color: rgba(244,244,244,.75);
  }
  .footer-credit { color: var(--paper); text-decoration: underline; text-underline-offset: 2px; }
  .footer-credit strong { font-weight: 700; text-decoration: none; }
  .footer-legal { display: inline-flex; gap: 8px; }
  .footer-legal a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
  .footer-legal a:hover, .footer-legal a:focus-visible { color: var(--paper); }

  @media (max-width: 1100px) {
    .footer-top { gap: 40px; }
    .footer-cols { grid-template-columns: repeat(2, 1fr); row-gap: clamp(24px, 4vw, 40px); }
  }
  @media (max-width: 860px) and (min-width: 641px) {
    .footer-awards { padding: 24px 0; }
    .footer-awards-row { gap: 20px; }
    .footer-awards-row img { height: 48px; }
  }
  @media (max-width: 780px) {
    .footer-top { flex-direction: column; }
    .footer-cols { display: flex; flex-direction: column; gap: 0; }
    .footer-bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
    .footer-col { border-top: 1px solid rgba(244,244,244,.15); }
    .footer-col:last-child { border-bottom: 1px solid rgba(244,244,244,.15); }
    .footer-col-toggle { cursor: pointer; padding: 18px 0; margin: 0; }
    .footer-col-chevron { display: block; width: 14px; height: 14px; flex: 0 0 auto; transition: transform 300ms ease; }
    .footer-col-toggle[aria-expanded="true"] .footer-col-chevron { transform: rotate(180deg); }
    .footer-col-expand { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 350ms cubic-bezier(.25,0.1,.25,1); }
    .footer-col-expand-inner { overflow: hidden; min-height: 0; }
    .footer-col-toggle[aria-expanded="true"] + .footer-col-expand { grid-template-rows: 1fr; }
    .footer-col ul { padding-bottom: 20px; }
  }
  @media (max-width: 480px) {
    .footer-awards-row img { height: 40px; }
  }
