/* Spatial case homepage. The six visible positions form one continuous reel. */
body.on-home{background:#101110;color:#f5f5f0}
#home{position:fixed;inset:0;height:100dvh;min-height:320px;background:#101110;color:#f5f5f0;overflow:hidden;touch-action:pinch-zoom}
#home .hero-stage{position:absolute;inset:0;z-index:4;perspective:none;overflow:visible;touch-action:pinch-zoom;cursor:grab}
.home-glass{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:linear-gradient(145deg,#14171a,#090b0e 65%,#101316)}
.home-glass-color{position:absolute;inset:-18%;background:center/cover no-repeat;filter:blur(90px) saturate(.1) brightness(.78);opacity:0;transition:opacity 2.2s ease}
.home-glass-color.is-visible{opacity:.055}
.home-glass::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,#ffffff03,transparent 50%,#ced8e302),rgb(7 9 12 / .3);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:inset 0 1px 0 #ffffff08}
/* Soft concentric echoes pass outward beneath the black frosted surface. */
.glass-liquid{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.65}
.glass-liquid i{position:absolute;display:block;width:115%;height:105%;left:50%;top:50%;border-radius:50%;background:radial-gradient(ellipse at center,transparent 46%,rgb(150 160 174 / .04) 51%,rgb(219 224 234 / .3) 57%,rgb(146 160 177 / .09) 64%,transparent 70%);filter:blur(12px);animation:glass-echo 18s linear infinite;transform:translate(-50%,-50%) scale(1);opacity:0}
.glass-liquid i:nth-child(2){animation-delay:-4.5s}
.glass-liquid i:nth-child(3){animation-delay:-9s}
.glass-liquid i:nth-child(4){animation-delay:-13.5s}
@keyframes glass-echo{0%{transform:translate(-50%,-50%) scale(.32,.4);opacity:0}18%{opacity:.75}65%{opacity:.85}100%{transform:translate(-50%,-50%) scale(1.85,1.65);opacity:0}}
.case-orbit{position:absolute;inset:0;transform-style:flat;pointer-events:none}
.case-orbit-anchor{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:flat;pointer-events:none}
.case-orbit-face{position:absolute;left:0;top:0;display:block;overflow:visible;background:transparent;backface-visibility:hidden;transform-origin:center;pointer-events:auto;cursor:pointer}
.case-orbit-face img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;user-select:none;-webkit-user-drag:none;pointer-events:none;backface-visibility:hidden;transform:translateZ(.1px);outline:1px solid transparent;clip-path:inset(.5px)}
.case-orbit-face:focus-visible{outline:2px solid #fff;outline-offset:6px}
.case-orbit-face:hover img{filter:brightness(1.12)}
.home-case-name{position:absolute;left:0;top:calc(100% + 12px);width:100%;display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:4px 10px;text-align:left;font-size:clamp(11px,.86vw,14px);font-weight:400;line-height:1.5;letter-spacing:0;color:#f5f5f0;opacity:var(--case-label,0);transform:translateY(calc((1 - var(--case-label,0))*7px));text-shadow:0 2px 8px #101110;pointer-events:none}
.home-case-brand{grid-column:1;font-size:.8em;line-height:1.4;color:#d6d9d0b3}
.home-case-title{grid-column:1;text-wrap:balance;overflow-wrap:anywhere}
.home-case-arrow{grid-column:2;grid-row:1/3;align-self:center;font-size:16px;color:#ffffffa6}
.case-orbit-face.is-exploring .home-case-name{padding:10px 12px;border:1px solid #ffffff24;border-radius:10px;background:linear-gradient(125deg,#ffffff0d,transparent 65%),rgb(12 16 20 / .78);-webkit-backdrop-filter:blur(22px) saturate(.65);backdrop-filter:blur(22px) saturate(.65);box-shadow:0 10px 32px #0003,inset 0 1px 0 #ffffff0a;text-shadow:none}
.case-orbit-face.is-exploring .home-case-brand{color:#f1f3f0b3}
.case-orbit-face.is-exploring img{box-shadow:0 12px 45px #0006}
.home-case-credit{position:absolute;right:9px;bottom:8px;color:#fff9;font-size:10px;font-weight:400;line-height:1.4;text-shadow:0 1px 4px #000;pointer-events:none}
.home-scene-copy{position:absolute;left:50%;top:50%;width:min(34vw,560px);text-align:center;pointer-events:none;font-size:clamp(20px,1.65vw,32px);line-height:1.45;letter-spacing:-.035em;z-index:3}
.home-scene-copy p{margin:0}
.home-scene-copy{opacity:var(--copy-opacity,0);filter:blur(0);transition:opacity .3s ease,filter .3s ease}
#home.has-case-hover .home-scene-copy{filter:blur(9px)}
.home-scene-copy>small{display:block;margin-top:26px;font-size:10px;line-height:1.5;letter-spacing:.12em;color:#f5f5f066}
.home-case-cursor{display:none}
.home-case-cursor.visible{opacity:1}
#home .home-footer{position:absolute;left:var(--gutter);right:var(--gutter);bottom:max(22px,env(safe-area-inset-bottom));min-height:0;display:grid;grid-template-columns:1fr auto;gap:0 16px;align-items:center;font-size:14px;z-index:8;pointer-events:none}
#home .home-footer a,#home .home-footer button{pointer-events:auto}
#home #slide-number{font-variant-numeric:tabular-nums;font-size:.8em;white-space:nowrap}
#home #slide-number::after{content:none}
#home #slide-link{max-width:100%;line-height:1.35}
#home .home-footer .arrows button{width:48px;height:48px}
#home .home-hint{display:none}
#home .home-utility{position:absolute;left:var(--gutter);bottom:max(23px,env(safe-area-inset-bottom));display:flex;gap:16px;font-size:11px;z-index:9}
#home .home-utility button{min-height:30px;opacity:.55;transition:opacity .2s}
#home .home-utility button:hover{opacity:1}
#home .home-footer{bottom:max(30px,env(safe-area-inset-bottom));transition:opacity .5s}
#home[data-scene=intro] .home-footer{opacity:0;pointer-events:none}
#home[data-scene=intro] .home-footer a,#home[data-scene=intro] .home-footer button{pointer-events:none}
#home[data-intro=logo] .home-utility,#home[data-intro=expand] .home-utility{opacity:0;pointer-events:none}
#home .home-utility{bottom:max(5px,env(safe-area-inset-bottom))}
.scene-dragging .case-orbit-face,.scene-dragging .hero-stage{cursor:grabbing!important}
.on-home .site-header{background:transparent;backdrop-filter:none;color:#fff}
@media(max-width:900px){
  .home-scene-copy{width:56vw;font-size:16px;line-height:1.65}
  #home .case-orbit-anchor{top:45%}
  #home .home-scene-copy{top:45%}
  #home .home-footer{grid-template-columns:1fr auto;grid-template-rows:auto;gap:8px 12px;bottom:max(47px,env(safe-area-inset-bottom));font-size:14px}
  #home #slide-number{grid-column:1;grid-row:1;font-size:11px;opacity:.55}
  #home .arrows{grid-column:2;grid-row:1}
  #home .home-hint{grid-column:1;font-size:10px}
  #home .home-utility{bottom:max(9px,env(safe-area-inset-bottom));gap:22px}
  .home-case-credit{font-size:9px;right:6px;bottom:5px}
  .home-case-cursor{display:none}
  .home-case-name{font-size:10px;top:calc(100% + 8px)}
}
@media(max-height:500px) and (orientation:landscape){#home .home-footer{bottom:12px}.home-utility,.home-hint{display:none!important}.home-scene-copy{font-size:18px}}
@media(prefers-reduced-motion:reduce){.home-glass-color{transition:none}.glass-liquid i{animation:none;opacity:0}.glass-liquid i:first-child{opacity:.3}}
@media(prefers-reduced-transparency:reduce){.home-glass{background:#101316}.home-glass-color,.glass-liquid,.home-glass::after{display:none}}
