/* The artwork shares the page's quiet paper, ink and vermilion palette. */
.sculpture { margin:0; }
.sculpture #intelligence { height:calc(100% - 133px); }
.swarm-caption { position:absolute; bottom:0; left:25%; right:17%; }
.swarm-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-right:45px; }
.swarm-counter { font-size:8px; letter-spacing:.13em; color:var(--muted); display:flex; align-items:center; gap:9px; }
.swarm-caption h2 { font-size:14px; font-weight:500; line-height:1.6; letter-spacing:.015em; margin:7px 0 2px; }
.swarm-phase { font-size:10px; color:#697162; letter-spacing:.02em; margin:0; line-height:1.6; min-height:17px; }
.swarm-toggle { position:absolute; top:3px; right:0; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--ink); width:36px; height:36px; flex-shrink:0; font-size:14px; display:grid; place-items:center; }
.swarm-toggle:hover { border-color:var(--orange); color:var(--orange); }
.swarm-controls[hidden] { display:none; }
.swarm-scenes { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:5px; margin-top:3px; }
.swarm-scenes button { background:none; border:0; border-top:1px solid var(--line); padding:10px 0 8px; color:#747b6d; font-size:9px; letter-spacing:.015em; line-height:1.4; min-height:34px; }
.swarm-scenes button[aria-pressed="true"] { border-color:var(--orange); color:#b84124; }
.swarm-scenes button:hover { color:var(--ink); border-color:var(--ink); }
.swarm-scenes button:focus-visible,.swarm-toggle:focus-visible { outline-offset:2px; }
.swarm-progress { --progress:0%; -webkit-appearance:none; appearance:none; width:100%; height:22px; display:block; background:transparent; cursor:ew-resize; margin:4px 0 0; padding:0; border:0; border-radius:0; }
.swarm-progress::-webkit-slider-runnable-track { height:2px; background:linear-gradient(to right,var(--orange) var(--progress),var(--line) var(--progress)); }
.swarm-progress::-webkit-slider-thumb { -webkit-appearance:none; width:8px; height:8px; border-radius:50%; background:var(--orange); margin-top:-3px; border:0; }
.swarm-progress::-moz-range-track { height:2px; background:var(--line); }
.swarm-progress::-moz-range-progress { height:2px; background:var(--orange); }
.swarm-progress::-moz-range-thumb { width:8px; height:8px; border:0; border-radius:50%; background:var(--orange); }
.swarm-progress:focus-visible { outline:1px solid var(--orange); outline-offset:3px; }
.swarm-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.swarm-fallback { position:absolute; inset:3% 16% 26% 23%; width:61%; height:65%; color:#6d7861; }
.swarm-ready .swarm-fallback { display:none; }
.sculpture .art-coordinate { top:10%; right:15%; font-size:7px; }
html:lang(en) .swarm-caption h2 { font-size:14px; letter-spacing:-.015em; }
@media (max-width:1050px) and (min-width:721px) {
  .sculpture #intelligence { height:calc(100% - 176px); }
  .swarm-caption { left:29%; right:20%; }
  .swarm-caption h2,html:lang(en) .swarm-caption h2 { font-size:12px; }
  .swarm-phase { font-size:9px; min-height:29px; }
  .swarm-scenes { grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px 8px; }
  .swarm-scenes button { font-size:8px; }
}
@media (max-width:720px) {
  .home-page .hero { min-height:1125px; }
  .home-page .hero .sculpture { top:510px; height:520px; }
  html:lang(en) .home-page .hero { min-height:1065px; }
  html:lang(en) .home-page .hero .sculpture { top:450px; }
  .sculpture #intelligence { height:calc(100% - 173px); }
  .swarm-caption { left:13%; right:13%; }
  .swarm-caption h2,html:lang(en) .swarm-caption h2 { font-size:12px; }
  .swarm-counter { font-size:7px; }
  .swarm-phase { font-size:9px; min-height:15px; }
  .swarm-scenes { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px 10px; }
  .swarm-scenes button { font-size:9px; min-height:40px; }
  .sculpture .art-coordinate { top:6%; right:14%; }
  .swarm-toggle { width:36px; height:36px; }
  .swarm-progress { height:26px; }
}
