/* Reuse the quiet workshop backdrop already used by the marketing site. */
.animation-sets-page .animation-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, #0b11105c, #0b111014 65%, #0b111008),
    url('./marketing/unified-api/workshop-scene.webp') center bottom / cover;
  color: #fff;
  padding: 44px 0 72px;
}
.animation-hero > .reactions-inner {display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}
.animation-breadcrumb {display:inline-block;color:#c4ceca;text-decoration:none;font-size:.85rem;margin-bottom:42px}
.animation-breadcrumb:hover {color:#35d9a7}
.animation-hero h1 {font-size:var(--hero-title-size)!important;line-height:1.06;overflow-wrap:anywhere}
.animation-hero .reactions-lead {font-size:1.08rem;line-height:1.7;max-width:520px;color:#c4ceca}
.animation-hero .site-actions {margin-top:28px}
.animation-hero-art {position:relative;display:grid;place-items:center;min-height:360px;isolation:isolate}
.animation-hero-art .animation-device {width:min(310px,85%);transform:rotate(-9deg);z-index:2}
.animation-device {display:block;position:relative;width:200px;max-width:82%;aspect-ratio:1;padding:10px;border-radius:29%;background:linear-gradient(135deg,#5e6461,#303532 22%,#141815 75%,#424943);border:1px solid #6f7870;box-shadow:inset 0 1px 1px #a4b0a67a, 0 17px 20px -9px #0007, 0 3px 0 #101310;}
.animation-device::after {content:'';position:absolute;right:-4px;top:42%;height:15%;width:4px;border-radius:0 3px 3px 0;background:#313b33;z-index:-1}
.animation-display {display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:#000;overflow:hidden;border:5px solid #0a0c0b}
.animation-display img {display:block;width:100%;height:100%;object-fit:contain}
.animation-device-mark {position:absolute;bottom:1.4%;left:0;right:0;font-size:5px;letter-spacing:2px;color:#b0bbb4;text-align:center}
.animation-image-error {font-size:.75rem;text-align:center;padding:15px;color:#b0bbb4}
.animation-image-error[hidden] {display:none}
.animation-set-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.animation-card {display:block;border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;color:var(--reactions-ink);background:var(--surface-raised);transition:transform .2s,border-color .2s}
.animation-card:hover {transform:translateY(-5px);border-color:var(--reactions-green)}
.animation-card:focus-visible,.animation-variant:focus-visible {outline:3px solid var(--reactions-green);outline-offset:5px}
.animation-card-stage {display:grid;place-items:center;min-height:280px;padding:34px;background:radial-gradient(ellipse at 50% 35%,#879c8b38,transparent 74%),var(--surface-deep)}
.animation-card-stage.tone-1 {background:radial-gradient(ellipse at 50% 35%,#a08ac642,transparent 74%),var(--surface-deep)}
.animation-card-stage.tone-2 {background:radial-gradient(ellipse at 50% 35%,#c7a26642,transparent 74%),var(--surface-deep)}
.animation-card-copy {display:flex;flex-direction:column;gap:9px;padding:24px}
.animation-card-copy > strong {font-size:1.4rem;letter-spacing:-.04em}
.animation-card-copy > span {display:flex;justify-content:space-between;font-size:.85rem;color:var(--reactions-muted)}
.animation-card-copy small {color:var(--reactions-muted)}
.animation-section-head {display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
.reactions-page .animation-section-head h2 {font-size:clamp(1.9rem,3.3vw,2.8rem);line-height:1.15;margin:12px 0 0;letter-spacing:-.045em}
.animation-section-head > a {color:var(--reactions-ink);white-space:nowrap;text-underline-offset:5px}
.animation-reaction-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.animation-reaction {margin:0;border:1px solid var(--line);border-radius:20px;background:var(--surface-raised);overflow:hidden}
.animation-reaction-stage {display:grid;place-items:center;padding:35px 18px;background:radial-gradient(ellipse at center,#718c7730,transparent 73%),var(--surface-deep)}
.animation-reaction figcaption {padding:21px 18px;display:flex;align-items:center;gap:14px;font-size:.95rem;line-height:1.4}
.animation-number {font-size:.7rem;font-variant-numeric:tabular-nums;color:var(--reactions-muted);font-weight:400}
.animation-variants {margin-bottom:32px}
.animation-variants > div {display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.animation-variant {padding:10px 16px;border:1px solid var(--line);border-radius:30px;color:var(--reactions-ink);text-decoration:none;font-size:.9rem;background:var(--surface-raised)}
.animation-variant[aria-current] {background:var(--reactions-green);color:#09281e;border-color:var(--reactions-green)}
.animation-install {padding:70px 0;background:var(--surface-deep);border-top:1px solid var(--line)}
.reactions-page .animation-install h2 {font-size:clamp(2rem,4vw,3rem)}
.animation-install p {max-width:660px;color:var(--reactions-muted);line-height:1.8;margin-bottom:28px}
.animation-notice {color:var(--reactions-muted);line-height:1.6}
.animation-retry {padding:10px 18px;margin-bottom:20px;border:1px solid var(--line);border-radius:20px;background:var(--surface-raised);color:var(--reactions-ink);cursor:pointer;font:inherit}
@media(min-width:1400px){.animation-hero>.reactions-inner {width:min(1260px,calc(100% - 96px))}}
@media(max-width:850px){.animation-hero>.reactions-inner{gap:18px}.animation-hero-art .animation-device{width:250px}.animation-set-grid,.animation-reaction-grid{gap:14px}.animation-card-stage{min-height:220px;padding:20px}.animation-card-copy{padding:18px}.animation-card-copy>strong{font-size:1.2rem}}
@media(max-width:650px){.animation-hero>.reactions-inner{grid-template-columns:1fr}.animation-hero-art{min-height:300px}.animation-breadcrumb{margin-bottom:30px}.animation-sets-page .animation-hero{padding-bottom:30px}.animation-set-grid{grid-template-columns:1fr}.animation-card-stage{min-height:270px}.animation-reaction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.animation-reaction-stage{padding:22px 4px}.animation-reaction figcaption{padding:14px 10px;font-size:.82rem;gap:7px}.animation-device{padding:7px}.animation-display{border-width:3px}.animation-section-head{align-items:start;flex-direction:column}.animation-device-mark{font-size:4px}.animation-install{padding:48px 0}.animation-hero-art .animation-device{width:235px}}
@media(prefers-reduced-motion:reduce){.animation-card{transition:none}.animation-card:hover{transform:none}}

.animation-hero .site-button > span,.animation-install .site-button > span {margin-left:8px}
.animation-card-stage,.animation-reaction-stage {grid-template-columns:minmax(0,1fr)}

.animation-hero .site-actions {flex-wrap:wrap;gap:12px}
.animation-hero .site-button {min-height:52px;padding:13px 20px;font-size:.95rem}
.animation-hero .site-button.animation-back {
  color:#f3f6f4;
  background:#17231e99;
  border:1px solid #d9e5df80;
  backdrop-filter:blur(8px);
}
.animation-hero .site-button.animation-back:hover {background:#274538cc;border-color:#2bd1a7}
.animation-hero .site-button.animation-back:focus-visible {outline:3px solid #2bd1a7;outline-offset:4px}
.animation-hero .animation-back > span {margin-left:0;margin-right:8px}
@media(max-width:650px) {
  .animation-hero .site-actions {align-items:stretch}
  .animation-hero .site-button {flex:1 1 100%;justify-content:center}
}

/* Match the screen label on the Case Designs hero. */
.reactions-page .gifs-image-credit {
  position: absolute;
  z-index: 6;
  right: 16px;
  bottom: 14px;
  padding: 4px 7px;
  border-radius: 3px;
  background: #101310b8;
  color: #fff;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: .09em;
  pointer-events: none;
}
@media (max-width: 680px) {
  .reactions-page .gifs-image-credit { right: 10px; bottom: 9px; }
}

/* The home collection follows the feature overview and its personalization card. */
.home-page .home-animation-sets {
  --reactions-ink: var(--home-ink);
  --reactions-muted: var(--home-muted);
  --reactions-green: var(--home-green);
  padding: clamp(56px, 7vw, 96px) 0;
  background: var(--home-gray);
}
.home-animation-sets .animation-section-head { gap: 24px; margin-bottom: 34px; }
.home-animation-sets .animation-section-head h2 {
  margin: 17px 0 0;
  color: var(--home-ink);
  font-size: clamp(2.5rem, 3.6vw, 4rem);
  font-weight: 400;
  line-height: 1.09;
  letter-spacing: -.04em;
}
.home-animation-sets .animation-card { position: relative; background: var(--home-card); }
.home-animation-sets .animation-card-stage { min-height: 330px; padding-bottom: 68px; }
.home-animation-sets .animation-card-copy {
  position: absolute;
  bottom: 18px;
  left: 50%;
  max-width: calc(100% - 32px);
  padding: 8px 15px;
  border: 1px solid #ffffff24;
  border-radius: 10px;
  color: #fff;
  background: #101310b8;
  backdrop-filter: blur(8px);
  transform: translateX(-50%);
  text-align: center;
}
.home-animation-sets .animation-card-copy > strong { font-size: .95rem; letter-spacing: -.015em; }
.home-animation-sets .animation-card-copy > span,
.home-animation-sets .animation-card-copy > small { display: none; }
@media (max-width: 850px) {
  .home-animation-sets .animation-card-stage { min-height: 270px; }
}
@media (max-width: 650px) {
  .home-animation-sets .animation-card-stage { min-height: 320px; }
}

/* Keep the U1 artwork inside its own band below the compact collection. */
.home-page .home-animation-sets + .home-u1 { margin-top: 0; }
.home-page .home-animation-sets + .home-u1 .home-u1-media {
  margin: 0 auto;
  transform: none;
  align-self: center;
}
