.showcase-cinema{
  --sc-ink:#080807;
  --sc-paper:#efede5;
  --sc-acid:#d6ff4f;
  --sc-red:#8f241f;
  position:relative;
  overflow:hidden;
  background:var(--sc-ink);
  color:var(--sc-paper);
  font-family:var(--mono);
  isolation:isolate;
}
.showcase-cinema button{font:inherit}
.showcase-intro{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(230px,.4fr);
  align-content:center;
  gap:clamp(40px,8vw,120px);
  padding:clamp(90px,12vw,180px) var(--pad);
  border-top:1px solid rgba(239,237,229,.18);
  background:
    radial-gradient(circle at 78% 22%,rgba(138,28,34,.42),transparent 27%),
    linear-gradient(125deg,#080807 0 56%,#171210 100%);
}
.showcase-intro>p{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  margin:0;
  font-size:8px;
  letter-spacing:.18em;
  color:rgba(239,237,229,.5);
}
.showcase-intro h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(78px,14vw,215px);
  font-weight:400;
  line-height:.68;
  letter-spacing:-.085em;
}
.showcase-intro__note{align-self:end;max-width:360px;padding-bottom:1vw}
.showcase-intro__note b{display:block;margin-bottom:18px;font-size:10px;letter-spacing:.17em;color:var(--sc-acid)}
.showcase-intro__note span{font-family:var(--serif);font-size:clamp(19px,2vw,29px);line-height:1.15;color:rgba(239,237,229,.7)}
.showcase-reference-run{
  overflow:hidden;
  padding:14px 0;
  border-block:1px solid rgba(239,237,229,.15);
  white-space:nowrap;
  color:rgba(239,237,229,.62);
  font-size:9px;
  letter-spacing:.2em;
}
.showcase-reference-run span{display:inline-block;min-width:max-content;padding-left:100%;animation:showcase-run 28s linear infinite}
@keyframes showcase-run{to{transform:translateX(-100%)}}
.showcase-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,1.5fr) auto;
  align-items:end;
  gap:30px;
  padding:clamp(86px,11vw,150px) var(--pad) clamp(38px,6vw,74px);
}
.showcase-section-head p,.showcase-section-head>span{margin:0;font-size:8px;letter-spacing:.16em;color:rgba(239,237,229,.48)}
.showcase-section-head>span{text-align:right}
.showcase-section-head h3{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(52px,7vw,105px);
  font-weight:400;
  line-height:.82;
  letter-spacing:-.055em;
}
.orbit-showcase{min-height:100vh;background:#090908}
.orbit-stage{
  position:relative;
  height:min(76vw,820px);
  min-height:620px;
  overflow:hidden;
  outline:none;
  perspective:1500px;
  touch-action:pan-y;
}
.orbit-deck{position:absolute;inset:0;transform-style:preserve-3d}
.orbit-card{
  --orbit-x:0px;
  --orbit-z:0px;
  --orbit-r:0deg;
  --orbit-s:.82;
  position:absolute;
  left:50%;
  top:45%;
  width:clamp(180px,24vw,350px);
  aspect-ratio:.69;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:48% 48% 44% 44% / 18% 18% 18% 18%;
  background:#261713;
  color:#fff;
  box-shadow:0 35px 80px rgba(0,0,0,.48);
  cursor:pointer;
  transform:translate(-50%,-50%) translate3d(var(--orbit-x),0,var(--orbit-z)) rotateY(var(--orbit-r)) scale(var(--orbit-s));
  transform-style:preserve-3d;
  transition:transform .85s cubic-bezier(.2,.76,.2,1),filter .65s,opacity .65s;
}
.orbit-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(4,3,3,.82));
  pointer-events:none;
}
.orbit-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.04);transition:filter .5s,transform .8s}
.orbit-card span{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;display:flex;justify-content:space-between;align-items:end;gap:12px;text-align:left}
.orbit-card b{font-size:10px;letter-spacing:.13em}.orbit-card small{font-size:7px;letter-spacing:.16em;color:rgba(255,255,255,.6)}
.orbit-card.is-active img{filter:saturate(.96)}.orbit-card.is-active:hover img{transform:scale(1.035)}
.orbit-card:focus-visible{outline:2px solid var(--sc-acid);outline-offset:5px}
.orbit-aura{position:absolute;border-radius:50%;filter:blur(55px);opacity:.5;pointer-events:none}
.orbit-aura--a{left:6%;top:25%;width:28vw;height:28vw;background:#5a181c}
.orbit-aura--b{right:4%;bottom:8%;width:24vw;height:24vw;background:#745b26}
.orbit-cross{position:absolute;left:50%;top:45%;width:80px;height:80px;transform:translate(-50%,-50%);opacity:.45;pointer-events:none}
.orbit-cross i{position:absolute;left:50%;top:0;width:1px;height:100%;background:#fff}.orbit-cross i+ i{transform:rotate(90deg)}
.orbit-controls{position:absolute;left:50%;bottom:30px;display:flex;align-items:center;gap:28px;transform:translateX(-50%)}
.orbit-controls button{width:44px;height:44px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(0,0,0,.4);color:#fff;cursor:pointer}
.orbit-controls button:hover,.orbit-controls button:focus-visible{background:var(--sc-paper);color:var(--sc-ink);outline:0}
.orbit-controls span{min-width:66px;text-align:center;font-size:9px;letter-spacing:.16em}
.stretch-showcase{min-height:100vh;background:var(--sc-paper);color:var(--sc-ink)}
.showcase-section-head--light p,.showcase-section-head--light>span{color:rgba(8,8,7,.48)}
.stretch-track{display:flex;height:min(67vw,760px);min-height:540px;padding:0 var(--pad) clamp(80px,10vw,130px);gap:8px}
.stretch-card{
  position:relative;
  flex:1 1 0;
  min-width:0;
  overflow:hidden;
  padding:0;
  border:0;
  border-radius:999px;
  background:#1a1714;
  color:#fff;
  cursor:pointer;
  transition:flex .9s cubic-bezier(.2,.76,.2,1),border-radius .7s;
}
.stretch-card.is-active{flex:5 1 0;border-radius:180px}
.stretch-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform 1s cubic-bezier(.2,.76,.2,1),filter .5s}
.stretch-card.is-active img{filter:saturate(1);transform:scale(1.015)}
.stretch-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.78))}
.stretch-card span{position:absolute;z-index:2;left:50%;bottom:45px;display:grid;gap:7px;width:max-content;max-width:80%;transform:translateX(-50%);text-align:center;white-space:nowrap}
.stretch-card span i{font-style:normal;font-size:8px;letter-spacing:.18em}.stretch-card span b{font-size:10px;letter-spacing:.15em}.stretch-card span small{font-size:7px;letter-spacing:.17em;color:rgba(255,255,255,.6)}
.stretch-card:not(.is-active) span b,.stretch-card:not(.is-active) span small{opacity:0}
.stretch-card:focus-visible{outline:3px solid var(--sc-red);outline-offset:3px}
.vault-showcase{min-height:120vh;background:#100f0e}
.vault-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.4fr);gap:clamp(40px,8vw,120px);align-items:center;padding:0 var(--pad) clamp(100px,14vw,190px)}
.vault-stack{position:relative;height:min(68vw,770px);min-height:620px;perspective:1500px}
.vault-card{
  position:absolute;
  left:50%;
  top:50%;
  width:min(48vw,540px);
  aspect-ratio:.72;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px;
  background:#27221e;
  color:#fff;
  cursor:pointer;
  box-shadow:0 35px 90px rgba(0,0,0,.48);
  transform:translate(calc(-50% + var(--vault-i) * 48px),calc(-50% + var(--vault-i) * 18px)) rotate(calc((var(--vault-i) - 1.5) * 3deg)) scale(calc(1 - var(--vault-i) * .045));
  transform-origin:50% 100%;
  transition:transform .9s cubic-bezier(.2,.78,.2,1),opacity .5s,filter .5s;
}
.vault-card.is-before{transform:translate(-160%,-42%) rotate(-16deg) scale(.82);opacity:.16;pointer-events:none}
.vault-card.is-active{transform:translate(-50%,-50%) rotate(0) scale(1);z-index:10}
.vault-card img{width:100%;height:100%;object-fit:cover}
.vault-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.86))}
.vault-card span{position:absolute;z-index:2;left:28px;right:28px;bottom:27px;display:grid;grid-template-columns:auto 1fr;gap:8px 20px;text-align:left}
.vault-card span i{grid-row:1/3;font-style:normal;font-size:10px;color:var(--sc-acid)}.vault-card span b{font-size:13px;letter-spacing:.13em}.vault-card span small{font-size:8px;letter-spacing:.16em;color:rgba(255,255,255,.55)}
.vault-card:focus-visible{outline:2px solid var(--sc-acid);outline-offset:6px}
.vault-copy span{font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.42)}
.vault-copy h4{margin:25px 0 16px;font-family:var(--serif);font-size:clamp(44px,5vw,74px);font-weight:400;line-height:.88}
.vault-copy p{max-width:340px;font-family:var(--serif);font-size:20px;line-height:1.35;color:rgba(255,255,255,.58)}
.vault-rule{height:1px;margin-top:30px;background:rgba(255,255,255,.15)}.vault-rule i{display:block;width:25%;height:100%;background:var(--sc-acid);transition:width .6s}
.vault-controls{display:flex;justify-content:space-between;gap:14px;margin-top:22px}
.vault-controls button{padding:9px 0;border:0;border-bottom:1px solid rgba(255,255,255,.24);background:none;color:rgba(255,255,255,.7);font-size:8px;letter-spacing:.16em;cursor:pointer}
.vault-controls button:hover,.vault-controls button:focus-visible{color:var(--sc-acid);border-bottom-color:var(--sc-acid);outline:0}
.blur-showcase{position:relative;min-height:100vh;background:#14100f}
.showcase-section-head--overlay{position:absolute;z-index:4;left:0;right:0;top:0;color:#fff;pointer-events:none}
.showcase-section-head--overlay p,.showcase-section-head--overlay>span{color:rgba(255,255,255,.62)}
.blur-carousel{position:relative;height:100vh;min-height:720px;overflow:hidden}
.blur-slides,.blur-slide{position:absolute;inset:0}
.blur-slide{margin:0;opacity:0;transform:scale(1.12);clip-path:inset(0 50% 0 50% round 50%);transition:opacity .9s,transform 1.5s cubic-bezier(.2,.75,.2,1),clip-path 1.25s cubic-bezier(.2,.75,.2,1)}
.blur-slide.is-active{z-index:1;opacity:1;transform:scale(1);clip-path:inset(0 0 0 0 round 0)}
.blur-slide img{width:100%;height:100%;object-fit:cover;filter:saturate(.76) brightness(.65)}
.blur-slide figcaption{position:absolute;z-index:2;left:var(--pad);bottom:80px;display:flex;gap:22px;align-items:baseline}
.blur-slide figcaption b{font-family:var(--serif);font-size:clamp(35px,5vw,72px);font-weight:400}.blur-slide figcaption span{font-size:8px;letter-spacing:.16em}
.blur-bubbles{position:absolute;z-index:2;inset:0;pointer-events:none}
.blur-bubbles i{position:absolute;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.055);backdrop-filter:blur(18px) saturate(1.3);animation:bubble-drift 8s ease-in-out infinite alternate}
.blur-bubbles i:nth-child(1){left:8%;top:48%;width:130px;height:130px}.blur-bubbles i:nth-child(2){right:16%;top:34%;width:220px;height:220px;animation-delay:-2s}.blur-bubbles i:nth-child(3){right:6%;bottom:7%;width:90px;height:90px;animation-delay:-4s}.blur-bubbles i:nth-child(4){left:44%;bottom:18%;width:150px;height:150px;animation-delay:-6s}
@keyframes bubble-drift{to{transform:translate3d(18px,-32px,0) scale(1.08)}}
.blur-controls{position:absolute;z-index:4;right:var(--pad);bottom:70px;display:flex;align-items:center;gap:18px}
.blur-controls>button{border:0;background:none;color:#fff;font-size:8px;letter-spacing:.16em;cursor:pointer}
.blur-controls>div{display:flex;gap:7px}.blur-controls [data-blur-dot]{width:28px;height:3px;padding:0;border:0;background:rgba(255,255,255,.3);cursor:pointer;transition:width .4s,background .4s}.blur-controls [data-blur-dot].is-active{width:65px;background:var(--sc-acid)}
.screen-showcase{min-height:110vh;padding-bottom:clamp(90px,12vw,160px);background:#eceae3;color:#0a0908}
.screen-showcase .showcase-section-head p,.screen-showcase .showcase-section-head>span{color:rgba(10,9,8,.48)}
.screen-orbit{position:relative;height:min(62vw,760px);min-height:600px;margin:0 var(--pad);perspective:1500px;transform-style:preserve-3d}
.mobile-screen{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:clamp(190px,20vw,310px);
  aspect-ratio:.5;
  margin:0;
  overflow:hidden;
  border:9px solid #0a0908;
  border-radius:42px;
  background:#0a0908;
  box-shadow:0 35px 70px rgba(0,0,0,.28);
  transform-style:preserve-3d;
  transition:transform .35s ease-out;
}
.mobile-screen::before{content:"";position:absolute;z-index:3;left:50%;top:8px;width:34%;height:20px;border-radius:0 0 15px 15px;background:#0a0908;transform:translateX(-50%)}
.mobile-screen img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.07)}
.mobile-screen figcaption{position:absolute;left:16px;bottom:16px;padding:6px 8px;background:#0a0908;color:#fff;font-size:7px;letter-spacing:.16em}
.mobile-screen--left{transform:translate(-115%,-48%) rotateY(24deg) rotateZ(-7deg)}
.mobile-screen--center{z-index:4;transform:translate(-50%,-54%) translateZ(90px)}
.mobile-screen--right{transform:translate(15%,-48%) rotateY(-24deg) rotateZ(7deg)}
.screen-orbit__rings{position:absolute;left:50%;top:50%;width:min(80vw,1000px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}
.screen-orbit__rings i{position:absolute;inset:12%;border:1px solid rgba(10,9,8,.13);border-radius:50%;transform:rotateX(68deg)}.screen-orbit__rings i:nth-child(2){inset:25%;transform:rotateX(70deg) rotateZ(45deg)}.screen-orbit__rings i:nth-child(3){inset:38%;transform:rotateX(74deg) rotateZ(90deg)}
.zero-gravity{position:relative;display:block;min-height:105vh;padding:clamp(90px,12vw,160px) var(--pad) 24px;background:#74191c;color:#f1eadf}
.zero-gravity__head{position:relative;z-index:3;pointer-events:none}.zero-gravity__head p{font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.55)}.zero-gravity__head h3{margin:24px 0 0;font-family:var(--serif);font-size:clamp(54px,8vw,120px);font-weight:400;line-height:.78;letter-spacing:-.06em}.zero-gravity__head>span{position:absolute;right:0;bottom:0;font-size:8px;letter-spacing:.16em;color:rgba(255,255,255,.52)}
.gravity-field{position:relative;height:62vh;min-height:500px;margin-top:-4vh;overflow:hidden;cursor:crosshair;touch-action:pan-y}
.gravity-field [data-gravity-word]{
  position:absolute;
  left:0;
  top:0;
  display:grid;
  place-items:center;
  min-width:96px;
  height:96px;
  padding:0 22px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:50%;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(8px);
  color:#fff;
  font-size:clamp(9px,1vw,13px);
  letter-spacing:.14em;
  white-space:nowrap;
  will-change:transform;
  user-select:none;
}
.gravity-field [data-gravity-word]:nth-child(3n){border-radius:22px}.gravity-field [data-gravity-word]:nth-child(4n){background:#e8e2d6;color:#74191c;border-color:#e8e2d6}
.zero-gravity__foot{display:flex;justify-content:space-between;margin:0;padding-top:18px;border-top:1px solid rgba(255,255,255,.3);font-size:8px;letter-spacing:.16em}.zero-gravity__foot a{color:inherit}
@media (max-width:800px){
  .showcase-intro{grid-template-columns:1fr;min-height:88vh}.showcase-intro h2{font-size:clamp(70px,23vw,125px)}.showcase-intro__note{max-width:90%}
  .showcase-section-head{grid-template-columns:1fr auto;gap:14px 20px}.showcase-section-head p{grid-column:1/-1}.showcase-section-head h3{font-size:clamp(48px,14vw,78px)}.showcase-section-head>span{align-self:end}
  .orbit-stage{height:760px;min-height:0}.orbit-card{width:min(58vw,300px)}.orbit-card span{left:18px;right:18px;bottom:20px}
  .stretch-track{height:68vh;min-height:520px;overflow-x:auto;gap:12px;padding-inline:18px;scroll-snap-type:x mandatory;scrollbar-width:none}.stretch-card,.stretch-card.is-active{flex:0 0 72vw;border-radius:120px;scroll-snap-align:center}.stretch-card:not(.is-active) span b,.stretch-card:not(.is-active) span small{opacity:1}
  .vault-layout{grid-template-columns:1fr;padding-inline:18px}.vault-stack{height:680px;min-height:0}.vault-card{width:min(72vw,410px)}.vault-copy{padding:0 5vw 50px}
  .showcase-section-head--overlay{padding-top:55px}.blur-carousel{min-height:760px}.blur-slide figcaption{left:18px;bottom:110px;display:grid}.blur-controls{left:18px;right:18px;bottom:54px;justify-content:space-between}
  .screen-orbit{height:650px;margin:0}.mobile-screen{width:min(49vw,250px)}.mobile-screen--left{transform:translate(-130%,-42%) rotateY(20deg) rotateZ(-6deg)}.mobile-screen--right{transform:translate(30%,-42%) rotateY(-20deg) rotateZ(6deg)}
  .zero-gravity{padding-inline:18px}.zero-gravity__head>span{position:static;display:block;margin-top:20px}.gravity-field{height:58vh;margin-top:0}.gravity-field [data-gravity-word]{min-width:76px;height:76px;padding-inline:15px;font-size:8px}
}
@media (prefers-reduced-motion:reduce){
  .showcase-reference-run span,.blur-bubbles i{animation:none}
  .orbit-card,.stretch-card,.vault-card,.blur-slide,.mobile-screen{transition-duration:.01ms}
  .gravity-field{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:10px}
  .gravity-field [data-gravity-word]{position:static!important;transform:none!important}
}

/* ============================================================
   Theme-card integration
   The source cinema is parked hidden; its individual systems are moved into
   the matching archive cards by showcase.js. Sharp cuts replace soft UI.
   ============================================================ */
.showcase-cinema[hidden]{display:none!important}
.showcase-module{
  --sc-ink:#080807;
  --sc-paper:#efede5;
  --sc-acid:#d6ff4f;
  --sc-red:#8f241f;
  position:relative;
  width:100%;
  margin-top:clamp(70px,9vw,120px);
  overflow:hidden;
  font-family:var(--mono);
  isolation:isolate;
}
.card-panel .showcase-module{margin-inline:calc(clamp(22px,3.4vw,52px) * -1);width:calc(100% + clamp(22px,3.4vw,52px) * 2)}
.card-panel .showcase-section-head{padding:58px clamp(22px,4vw,54px) 34px}
.card-panel .showcase-section-head h3{font-size:clamp(42px,6.5vw,78px)}
.card-panel .orbit-showcase,.card-panel .stretch-showcase,.card-panel .vault-showcase,.card-panel .blur-showcase,.card-panel .screen-showcase{min-height:0}
.card-panel .orbit-stage{height:clamp(560px,68vw,760px);min-height:0}
.card-panel .stretch-track{height:clamp(500px,62vw,700px);padding-bottom:70px}
.card-panel .vault-layout{padding-bottom:90px}
.card-panel .blur-carousel{height:clamp(620px,70vw,760px);min-height:0}
.card-panel .screen-orbit{height:clamp(540px,60vw,690px);min-height:0}

/* The archive cards themselves now read as cut sheets, not glass pills. */
.category-card__face,.category-card__label,.category-card__face::after,
.category-card__edge,.category-card.is-below .category-card__edge,
.category-card__label::before,.category-card__label::after,
.card-close{border-radius:0!important}
.category-card__label::before{transform:rotate(45deg)}
.category-card__label::before{place-items:center}
.category-card__label::after{clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}

/* Sharp-edged motion vocabulary. Circular geometry remains only where the
   content concept truly is a bubble or an orbit. */
.showcase-module .orbit-card{
  border-radius:0;
  clip-path:polygon(0 0,88% 0,100% 9%,100% 100%,12% 100%,0 91%);
}
.showcase-module .stretch-card,.showcase-module .stretch-card.is-active{
  border-radius:0;
  clip-path:polygon(0 0,100% 0,100% 94%,94% 100%,0 100%);
}
.showcase-module .vault-card,.showcase-module .mobile-screen{border-radius:0}
.showcase-module .mobile-screen::before{width:32%;height:5px;border-radius:0}
.showcase-module .blur-slide{clip-path:inset(0 50% 0 50%)}
.showcase-module .blur-slide.is-active{clip-path:inset(0)}
.showcase-module .blur-bubbles i{
  border-radius:0;
  transform:rotate(12deg);
  clip-path:polygon(12% 0,100% 7%,92% 100%,0 88%);
}
.zero-gravity.showcase-module{margin-top:80px}
.gravity-field [data-gravity-word]{
  min-width:112px;
  height:68px;
  border-radius:0!important;
  clip-path:polygon(0 0,100% 0,100% 78%,88% 100%,0 100%);
}

/* Alice / About: all locally imported photographs, not a decorative sample. */
.index-about-home .alice-photo-gallery,.index-about-home .zero-gravity{grid-column:1/-1}
.alice-photo-gallery{padding:70px 0 20px;border-top:1px solid rgba(239,237,229,.18);color:var(--paper)}
.alice-photo-gallery__head{display:grid;grid-template-columns:1fr minmax(280px,1.3fr) auto;align-items:end;gap:24px;padding:0 0 30px}
.alice-photo-gallery__head p,.alice-photo-gallery__head b{margin:0;font-family:var(--mono);font-size:8px;font-weight:400;letter-spacing:.16em;color:rgba(239,237,229,.52)}
.alice-photo-gallery__head h3{margin:0;font-family:var(--serif);font-size:clamp(48px,7vw,92px);font-weight:400;line-height:.82;letter-spacing:-.055em}
.alice-photo-gallery__stage{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:12px;height:min(70vw,720px)}
.alice-photo-gallery__focus{position:relative;min-width:0;margin:0;overflow:hidden;background:#161513}
.alice-photo-gallery__focus img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:opacity .28s,transform .8s cubic-bezier(.2,.75,.2,1)}
.alice-photo-gallery__focus.is-changing img{opacity:.18;transform:scale(1.035)}
.alice-photo-gallery__focus figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:16px;background:linear-gradient(transparent,rgba(0,0,0,.78));font-family:var(--mono);font-size:8px;letter-spacing:.16em}
.alice-photo-gallery__grid{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:76px;grid-auto-flow:dense;gap:5px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
.alice-photo-gallery__item{position:relative;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.08);background:#131210;cursor:pointer}
.alice-photo-gallery__item:nth-child(11n+1),.alice-photo-gallery__item:nth-child(13n+4){grid-column:span 2;grid-row:span 2}
.alice-photo-gallery__item:nth-child(17n+8){grid-row:span 2}
.alice-photo-gallery__item img{width:100%;height:100%;object-fit:cover;filter:grayscale(.75) brightness(.68);transition:filter .3s,transform .5s}
.alice-photo-gallery__item:hover img,.alice-photo-gallery__item:focus-visible img,.alice-photo-gallery__item.is-active img{filter:none;transform:scale(1.06)}
.alice-photo-gallery__item.is-active{border-color:var(--sc-acid)}
.alice-photo-gallery__item:focus-visible{outline:1px solid var(--sc-acid);outline-offset:-3px}
.alice-photo-gallery__item span{position:absolute;right:4px;bottom:3px;font-size:6px;letter-spacing:.08em;color:#fff;text-shadow:0 1px 3px #000}

/* The horse opens into a horizontal cinematic track instead of a masonry wall. */
.horse-gallery{background:#0a0908}
.horse-gallery__bar{height:68px;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.15)}
.horse-gallery__track-controls{display:flex;align-items:center;gap:8px;margin-left:auto}
.horse-gallery__track-controls button{height:34px;min-width:52px;padding:0 12px;border:1px solid rgba(255,255,255,.26);border-radius:0;background:none;color:#f2f0e9;font:inherit;cursor:pointer}
.horse-gallery__track-controls button:hover,.horse-gallery__track-controls button:focus-visible{background:#f2f0e9;color:#090908;outline:0}
.horse-gallery__track-count{min-width:68px;text-align:center;font-size:8px;letter-spacing:.16em}
.horse-gallery__close{margin-left:8px;border-radius:0}
.horse-gallery .horse-gallery__grid{
  display:flex;
  align-items:center;
  column-count:unset;
  gap:10px;
  height:calc(100vh - 68px);
  padding:7vh 8vw 10vh;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  perspective:1400px;
}
.horse-gallery .horse-gallery__grid::-webkit-scrollbar{display:none}
.horse-gallery .horse-gallery__item{
  flex:0 0 clamp(240px,26vw,410px);
  height:68vh;
  max-height:720px;
  margin:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:0;
  scroll-snap-align:center;
  opacity:.42;
  filter:grayscale(.75);
  transform:scale(.82) rotateY(8deg);
  transform-origin:center;
  transition:flex-basis .8s cubic-bezier(.2,.76,.2,1),transform .7s cubic-bezier(.2,.76,.2,1),opacity .45s,filter .45s;
  -webkit-box-reflect:below 10px linear-gradient(transparent 72%,rgba(255,255,255,.11));
}
.horse-gallery .horse-gallery__item:nth-child(even){height:59vh;transform:scale(.82) rotateY(-8deg)}
.horse-gallery .horse-gallery__item.is-track-active,.horse-gallery .horse-gallery__item:hover,.horse-gallery .horse-gallery__item:focus-visible{
  flex-basis:clamp(360px,48vw,720px);
  opacity:1;
  filter:none;
  transform:scale(1) rotateY(0);
  z-index:2;
}
.horse-gallery .horse-gallery__item img{width:100%;height:100%;object-fit:cover;transform:none!important;filter:none!important}
.horse-gallery .horse-gallery__item::after{content:attr(data-track-number);position:absolute;left:12px;bottom:10px;padding:5px 7px;background:#090908;color:#fff;font-family:var(--mono);font-size:8px;letter-spacing:.15em}

@media (max-width:800px){
  .card-panel .showcase-module{margin-inline:-18px;width:calc(100% + 36px)}
  .alice-photo-gallery__head{grid-template-columns:1fr auto}.alice-photo-gallery__head p{grid-column:1/-1}.alice-photo-gallery__head h3{font-size:54px}
  .alice-photo-gallery__stage{grid-template-columns:1fr;height:auto}.alice-photo-gallery__focus{height:56vh;min-height:410px}.alice-photo-gallery__grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:68px;max-height:52vh}
  .horse-gallery__count{display:none}.horse-gallery__bar{padding:0 12px;gap:8px}.horse-gallery__track-controls button{min-width:42px;padding:0 8px}.horse-gallery .horse-gallery__grid{height:calc(100vh - 68px);padding:8vh 12vw}.horse-gallery .horse-gallery__item,.horse-gallery .horse-gallery__item:nth-child(even){flex-basis:62vw;height:62vh;transform:scale(.88)}.horse-gallery .horse-gallery__item.is-track-active,.horse-gallery .horse-gallery__item:hover,.horse-gallery .horse-gallery__item:focus-visible{flex-basis:84vw}
}
