@charset "UTF-8";

/* Category entrances carry the same airy, sculpted blue/pink exhibition language as the home. */
body[data-case] .case-hero { padding-top:26px; padding-bottom:56px; }
body[data-case] .case-topline { font-size:10px; padding-bottom:14px; border-color:#abcbe077; }
.case-gallery-intro { display:flex; align-items:center; justify-content:space-between; gap:36px; position:relative; padding:28px 0 24px; }
.case-gallery-copy { position:relative; z-index:1; min-width:0; }
.case-gallery-copy .eyebrow { color:#7684a0; font-size:10px; letter-spacing:.17em; gap:10px; }
.case-gallery-copy .eyebrow-line { width:21px; height:2px; border-radius:2px; background:#e693be; }
.case-gallery-copy h1 { margin:12px 0 0; color:#2b4567; font-size:clamp(32px,4.1vw,56px); font-weight:650; letter-spacing:-.045em; line-height:1.15; }
.case-gallery-copy .hero-punctuation { color:#c570a3; margin-left:3px; }
.case-gallery-copy .case-intro { margin:14px 0 0; max-width:none; color:#5a7390; font-size:14px; font-weight:400; line-height:1.7; letter-spacing:.035em; }
.case-exhibit-mark { flex:none; width:220px; height:142px; position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; isolation:isolate; margin-right:8px; }
.case-exhibit-mark .case-number { position:relative; z-index:1; font-size:68px; font-weight:600; line-height:1; letter-spacing:-.055em; color:#e9a6cb; text-shadow:0 2px 0 #fff,0 8px 18px #bd9cc025; }
.case-exhibit-mark small { position:relative; z-index:1; margin-top:10px; color:#8b7f9c; font-size:9px; letter-spacing:.17em; }
.exhibit-orbit { position:absolute; left:7px; top:36px; width:207px; height:67px; border:1px solid #ffffffee; border-bottom-color:#d7b4dd80; border-radius:50%; transform:rotate(-19deg); box-shadow:0 1px 0 #c4dcf430; pointer-events:none; }
.exhibit-bubble { position:absolute; display:block; border:1px solid #ffffffc9; border-radius:50%; box-shadow:inset 1px 2px 3px #fff,0 5px 11px #82a4c326; pointer-events:none; animation:exhibit-bob 6s ease-in-out infinite; }
.exhibit-bubble-blue { width:24px; height:24px; left:12px; top:88px; background:radial-gradient(circle at 28% 22%,#fff,#d6efff 50%,#a3caef); }
.exhibit-bubble-pink { width:15px; height:15px; right:15px; top:29px; background:radial-gradient(circle at 28% 22%,#fff,#ffe2f1 50%,#e9b1d1); animation-delay:-3s; }
.exhibit-star { position:absolute; display:block; background:linear-gradient(135deg,#fff8d9,#f7d68f 55%,#eeb26f); clip-path:polygon(50% 0,62% 36%,100% 50%,64% 62%,50% 100%,37% 64%,0 50%,36% 37%); pointer-events:none; }
.exhibit-star-one { width:22px; height:22px; left:35px; top:15px; transform:rotate(9deg); }
.exhibit-star-two { width:11px; height:11px; right:34px; bottom:18px; transform:rotate(15deg); opacity:.8; }
body[data-case] .category-collection { margin-top:10px; }
body[data-case] .category-collection-heading { padding-top:18px; }
body[data-case] .category-collection-heading h2 { font-size:clamp(24px,2.6vw,34px); font-weight:650; }
body[data-case] .category-collection-heading span { font-size:10px; }
@keyframes exhibit-bob { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@media (max-width:760px) {
  body[data-case] .case-hero { padding-top:20px; padding-bottom:40px; }
  .case-gallery-intro { gap:12px; padding:23px 0 24px; }
  .case-gallery-copy h1 { font-size:clamp(28px,6.5vw,40px); margin-top:10px; letter-spacing:-.055em; }
  .case-gallery-copy .eyebrow { font-size:8px; letter-spacing:.08em; gap:7px; }
  .case-gallery-copy .eyebrow-line { width:14px; }
  .case-gallery-copy .case-intro { font-size:12px; margin-top:11px; letter-spacing:0; }
  .case-exhibit-mark { width:112px; height:110px; margin-right:0; }
  .case-exhibit-mark .case-number { font-size:46px; }
  .case-exhibit-mark small { font-size:7px; letter-spacing:.07em; margin-top:8px; }
  .exhibit-orbit { left:-3px; top:34px; width:118px; height:41px; }
  .exhibit-bubble-blue { width:15px; height:15px; left:0; top:74px; }
  .exhibit-bubble-pink { width:10px; height:10px; right:2px; top:22px; }
  .exhibit-star-one { width:15px; height:15px; left:10px; top:8px; }
  .exhibit-star-two { width:8px; height:8px; right:7px; bottom:5px; }
  body[data-case] .category-collection { margin-top:2px; }
}
@media (max-width:380px) {
  .case-gallery-intro { gap:4px; }
  .case-gallery-copy h1 { font-size:26px; }
  .case-gallery-copy .eyebrow { font-size:7px; letter-spacing:.02em; }
  .case-exhibit-mark { width:90px; }
  .exhibit-orbit { width:96px; }
}
@media (prefers-reduced-motion:reduce) { .exhibit-bubble { animation:none; } }
