.project-atlas { padding-block: 80px 96px; }
.atlas-heading { margin-bottom: 60px; }
.atlas-heading .section-index { margin-bottom: 22px; }
.atlas-heading h2 { font-size: 62px; line-height: 1.05; text-transform: uppercase; }
.project-atlas-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 52px 38px; }
.project-atlas-grid > li { min-width: 0; }
.project-atlas-link, .project-atlas-entry { display: grid; grid-template-rows: 18px 128px minmax(44px, auto) minmax(38px, auto); row-gap: 14px; height: 100%; padding-block: 18px 16px; border-top: 1px solid #d9dadc; text-decoration: none; color: #45464b; }
.atlas-item-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.atlas-number, .atlas-action { font-size: 10px; line-height: 1.6; text-transform: uppercase; }
.atlas-number { color: #86888d; font-variant-numeric: tabular-nums; }
.atlas-action { color: #44464b; opacity: 0; transition: opacity 180ms ease; }
.atlas-mark { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; overflow: hidden; color: #111214; opacity: .52; transition: opacity 220ms ease; }
.atlas-mark > span { max-width: 100%; font-size: 30px; line-height: 1.05; text-align: center; }
.atlas-mark--dreama > span { font-size: 36px; font-weight: 450; text-transform: lowercase; }
.atlas-mark--future > span { font-size: 25px; font-weight: 550; text-transform: uppercase; }
.atlas-mark--pixel > span { font-size: 30px; font-weight: 600; }
.atlas-mark--gob > span { font-size: 55px; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.atlas-mark--melting > span { font-size: 29px; font-weight: 450; text-transform: uppercase; }
.atlas-mark--conflux > span { font-size: 28px; font-weight: 550; text-transform: uppercase; }
.atlas-mark--fashion > span { font-size: 27px; font-weight: 450; text-transform: uppercase; }
.atlas-mark--sandriver img { position: absolute; width: 260px; max-width: 135%; height: auto; top: 50%; left: 50%; transform: translate(-50%, -53.5%); filter: brightness(0); }
.atlas-mark--kalo > span { font-size: 41px; font-weight: 450; text-transform: uppercase; }
.atlas-mark--vermilion > span { font-size: 28px; font-family: Georgia, 'Times New Roman', serif; }
.atlas-mark small { font-size: 11px; line-height: 1.8; text-transform: uppercase; }
.project-atlas-link h3, .project-atlas-entry h3 { font-size: 16px; line-height: 1.4; font-weight: 500; text-transform: uppercase; transition: color 180ms ease; }
.atlas-discipline { font-size: 10px; line-height: 1.7; text-transform: uppercase; color: #73757b; }
.project-atlas-link:focus-visible .atlas-mark { opacity: 1; }
.project-atlas-link:focus-visible h3 { color: #050505; }
.project-atlas-link:focus-visible .atlas-action { opacity: 1; }
#kalo-role:target { outline: 1px solid #93979a; outline-offset: 8px; }
@media (hover: hover) {
  .project-atlas-link:hover .atlas-mark { opacity: 1; }
  .project-atlas-link:hover h3 { color: #050505; }
  .project-atlas-link:hover .atlas-action { opacity: 1; }
}
@media (hover: none) {
  .atlas-action { opacity: .75; }
  .atlas-mark { opacity: .8; }
}
@media (min-width: 1700px) {
  .atlas-heading h2 { font-size: 76px; }
  .project-atlas-grid { column-gap: 56px; }
}
@media (max-width: 1000px) {
  .project-atlas-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 32px; }
  .atlas-heading h2 { font-size: 50px; }
}
@media (max-width: 600px) {
  .project-atlas { padding-block: 56px 64px; }
  .atlas-heading { margin-bottom: 40px; }
  .atlas-heading h2 { font-size: 36px; }
  .project-atlas-grid { gap: 30px 22px; }
  .project-atlas-link, .project-atlas-entry { grid-template-rows: 18px 104px minmax(54px, auto) minmax(50px, auto); row-gap: 12px; }
  .atlas-action { font-size: 8px; }
  .atlas-mark > span { font-size: 23px; }
  .atlas-mark--dreama > span { font-size: 29px; }
  .atlas-mark--future > span, .atlas-mark--fashion > span { font-size: 20px; }
  .atlas-mark--gob > span { font-size: 43px; }
  .atlas-mark--melting > span, .atlas-mark--conflux > span { font-size: 20px; }
  .atlas-mark--kalo > span { font-size: 32px; }
  .atlas-mark--vermilion > span { font-size: 23px; }
  .project-atlas-link h3, .project-atlas-entry h3 { font-size: 13px; }
  .atlas-discipline { font-size: 9px; }
}
@media (max-width: 360px) {
  .atlas-heading h2 { font-size: 31px; }
  .project-atlas-grid { column-gap: 18px; }
  .atlas-mark--vermilion > span { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .atlas-mark, .atlas-action, .project-atlas-link h3, .project-atlas-entry h3 { transition: none; }
}
