/* Case-study panel — an addition to the cinematic showcase so the gallery
   cards lead somewhere. Matches the site tokens (ink / ivory / violet). */
#caseLayer{position:fixed;inset:0;z-index:9000;display:none;align-items:center;justify-content:center;padding:clamp(14px,3vw,46px);}
#caseLayer.is-open{display:flex}
.case__backdrop{position:absolute;inset:0;background:rgba(3,2,6,.72);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);opacity:0;transition:opacity .45s var(--ease);cursor:zoom-out}
#caseLayer.is-in .case__backdrop{opacity:1}
.case{position:relative;width:min(760px,100%);max-height:min(86vh,760px);overflow-y:auto;overscroll-behavior:contain;direction:rtl;text-align:right;font-family:var(--font);color:var(--ivory);background:linear-gradient(168deg,#120d1c 0%,#08050f 62%,#0d0716 100%);border:1px solid rgba(243,237,227,.14);border-radius:18px;box-shadow:0 70px 140px -50px #000,0 0 0 1px rgba(139,92,246,.08) inset;padding:clamp(22px,3.4vw,44px);opacity:0;transform:translateY(26px) scale(.97);transition:opacity .5s var(--ease),transform .5s var(--ease);scrollbar-width:thin;scrollbar-color:rgba(243,237,227,.22) transparent}
#caseLayer.is-in .case{opacity:1;transform:none}
.case::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(196,181,253,.55),transparent)}
.case__bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:clamp(18px,3vw,32px)}
.case__eyebrow{font-size:.62rem;letter-spacing:.32em;color:var(--ivory-45)}
.case__x{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(243,237,227,.22);background:rgba(243,237,227,.04);color:var(--ivory);font:300 1.1rem/1 var(--font);cursor:pointer;transition:background .3s var(--ease),transform .3s var(--ease),border-color .3s var(--ease)}
.case__x:hover{background:rgba(139,92,246,.22);border-color:rgba(196,181,253,.5);transform:rotate(90deg)}
.case__title{font-size:clamp(1.7rem,4.4vw,3rem);font-weight:900;line-height:1.04;letter-spacing:-.02em;margin:0 0 10px}
.case__meta{font-size:.78rem;letter-spacing:.06em;color:var(--ivory-70);margin-bottom:clamp(16px,2.6vw,26px)}
.case__lead{font-size:clamp(.95rem,1.5vw,1.08rem);line-height:1.95;color:var(--ivory-70);font-weight:300;margin:0 0 clamp(18px,3vw,30px);max-width:58ch}
.case__rows{display:grid;gap:clamp(14px,2.2vw,22px);margin-bottom:clamp(20px,3vw,30px)}
.case__row{display:grid;grid-template-columns:clamp(74px,13vw,110px) 1fr;gap:clamp(10px,2vw,22px);align-items:start}
.case__k{font-size:.6rem;letter-spacing:.26em;color:var(--violet-lt);padding-top:.45em;border-top:1px solid rgba(139,92,246,.28);padding-block-start:.7em}
.case__v{font-size:.92rem;line-height:1.85;color:rgba(243,237,227,.82);font-weight:300;margin:0}
.case__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(20px,3vw,30px)}
.case__tag{font-size:.6rem;letter-spacing:.16em;padding:7px 12px;border-radius:999px;border:1px solid rgba(243,237,227,.16);color:var(--ivory-45);background:rgba(243,237,227,.03)}
.case__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:clamp(14px,2vw,20px);border-top:1px solid rgba(243,237,227,.1)}
.case__nav{display:flex;gap:8px}
.case__nav button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid rgba(243,237,227,.18);background:transparent;color:var(--ivory-70);font:400 .74rem/1 var(--font);cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.case__nav button:hover{background:rgba(139,92,246,.18);color:var(--ivory);border-color:rgba(196,181,253,.5)}
.case__count{font-size:.62rem;letter-spacing:.24em;color:var(--ivory-45);font-variant-numeric:tabular-nums}
body.case-open #caseLayer{cursor:default}
@media (max-width:820px){
  #caseLayer{padding:0;align-items:flex-end}
  .case{width:100%;max-height:88vh;border-radius:18px 18px 0 0;padding:24px 20px 30px}
  .case__row{grid-template-columns:1fr;gap:6px}
  .case__k{border-top:0;padding-top:0}
}
@media (prefers-reduced-motion:reduce){
  .case__backdrop,.case{transition:none}
}

/* --- gallery hover cue --- */
.gal__cue{position:absolute;right:22px;bottom:16px;z-index:6;font-size:10.5px;letter-spacing:.16em;
 text-transform:uppercase;color:rgba(243,237,227,.72);background:rgba(10,8,16,.55);
 border:1px solid rgba(243,237,227,.16);border-radius:999px;padding:5px 11px;
 backdrop-filter:blur(8px);opacity:0;transform:translateY(6px);pointer-events:none;
 transition:opacity .35s ease,transform .35s ease}
.gal:hover .gal__cue,.gal:focus-visible .gal__cue{opacity:1;transform:translateY(0)}
@media (hover:none){.gal__cue{opacity:.85;transform:none}}

/* --- finale credit link --- */
.fin__credit{display:inline-block;margin-top:14px;font-size:11px;letter-spacing:.28em;
 text-transform:lowercase;color:rgba(243,237,227,.5);text-decoration:none;
 border-bottom:1px solid rgba(243,237,227,.18);padding-bottom:3px;transition:color .3s,border-color .3s}
.fin__credit:hover,.fin__credit:focus-visible{color:rgba(243,237,227,.95);border-color:rgba(243,237,227,.6)}
