/* HTML captions and interactive links sit above the curved WebGL photographs. */
.alive-sns[data-sns-ready] { margin-bottom: 64px; }
.alive-sns[data-sns-ready] > .tit { padding-right: 0; margin-bottom: 18px; }
.alive-sns-slider.sns-circular-stage { --sns-card-width: 270px; --sns-image-height: 292px; --sns-badge-size: 32px; position: relative; width: 100%; height: 442px; overflow: hidden; overscroll-behavior-x: contain; border-radius: 0; cursor: grab; touch-action: pan-y; user-select: none; }
.sns-circular-stage[data-sns-dragging] { cursor: grabbing; }
.sns-circular-stage .sns-circular-canvas { position: absolute; inset: 0; z-index: 1; display: block; width: 100%; height: 100%; pointer-events: none; }
.sns-circular-stage[data-sns-renderer="images"] .sns-circular-canvas { display: none; }
.sns-circular-stage > .sns-circular-card { position: absolute; top: 0; left: 0; z-index: 2; width: var(--sns-card-width); padding: 0; }
.sns-circular-stage .sns-circular-card .tmb { position: relative; display: block; width: 100%; height: calc(var(--sns-image-height) + 88px); overflow: visible; background: transparent; color: #e5f4fb; border-radius: 12px; cursor: inherit; touch-action: pan-y; -webkit-user-drag: none; transition: color .2s; }
.sns-circular-stage .sns-circular-card .tmb::before { content: ""; position: absolute; z-index: 0; top: 0; left: 0; display: block; width: 100%; height: var(--sns-image-height); border-radius: 12px; background: rgba(2, 25, 42, .01); box-shadow: var(--sns-card-shadow, 0 12px 26px rgba(0, 24, 43, .28)); pointer-events: none; transform: rotate(var(--sns-card-rotation, 0rad)); transform-origin: 50% 50%; }
.sns-circular-stage .sns-circular-card .tmb::after { display: none; }
.sns-circular-stage .sns-circular-card .tmb > img { position: absolute; top: 0; left: 0; display: block; width: 100%; height: var(--sns-image-height); max-width: none; object-fit: cover; border-radius: 12px; opacity: 1; transform-origin: 50% 50%; transition: none; pointer-events: none; }
.sns-circular-stage[data-sns-renderer="webgl"] .sns-circular-card[data-sns-texture="true"] .tmb > img { opacity: 0; }
.sns-circular-stage .sns-circular-card .txt-line { position: absolute; top: calc(var(--sns-image-height) + 20px); bottom: auto; left: 0; display: -webkit-box; width: 100%; height: auto; max-height: 66px; margin: 0; padding: 0 8px; overflow: hidden; color: #e4f3fa; font-size: 14px; font-weight: 400; line-height: 1.55; text-align: center; white-space: normal; word-break: normal; overflow-wrap: anywhere; -webkit-line-clamp: 3; -webkit-box-orient: vertical; opacity: 1; transform: none; transition: color .2s; }
.sns-circular-stage .sns-circular-card .icon-insta { display: none; }
/* This compact mark follows the same projected image point, including its wave and rotation. */
.sns-circular-stage .sns-instagram-badge { position: absolute; z-index: 3; top: 0; left: 0; display: grid; place-items: center; width: var(--sns-badge-size); height: var(--sns-badge-size); border: 1px solid rgba(222, 247, 255, .55); border-radius: 50%; background: rgba(5, 32, 49, .88); color: #edfcff; pointer-events: none; transform-origin: 50% 50%; }
.sns-instagram-badge svg { display: block; width: 18px; height: 18px; }
.sns-circular-stage .sns-circular-card .tmb:focus { outline: 0 !important; box-shadow: none; }
.sns-circular-stage .sns-circular-card .tmb:focus-visible { outline: 2px solid rgba(211, 250, 255, .92) !important; outline-offset: -4px; box-shadow: inset 0 0 0 1px rgba(6, 46, 68, .55); }
.sns-circular-stage[data-sns-dragging] .sns-circular-card .tmb:is(:focus, :focus-visible) { outline: 0 !important; box-shadow: none; }
.sns-gallery-meta { display: flex; justify-content: space-between; gap: 16px; margin-top: 0; padding-top: 10px; border-top: 1px solid rgba(169, 221, 238, .26); color: #b8dbe9; font-size: 12px; letter-spacing: .035em; }
.sns-gallery-count { font-variant-numeric: tabular-nums; color: #e5f5fc; }
@media (max-width: 620px) {
  .alive-sns[data-sns-ready] { margin-bottom: 42px; }
  .alive-sns[data-sns-ready] > .tit { padding-right: 0; font-size: 20px; line-height: 1.35; }
  .alive-sns[data-sns-ready] > .tit > span { font-size: inherit; }
  .alive-sns-slider.sns-circular-stage { --sns-card-width: 210px; --sns-image-height: 232px; --sns-badge-size: 30px; height: 370px; }
  .sns-circular-stage .sns-circular-card .txt-line { font-size: 13px; max-height: 62px; }
}
