/* Shared controls stay in screen space while their anchors follow the image. */
.vision-hotspots[hidden],.vision-hotspots [hidden],.vision-feature-toggle[hidden]{display:none!important}
.vision-hotspots{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.vision-hotspot-pin{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:1px solid #ffffffb3;border-radius:50%;background:#14252be8;color:#fff;font:600 15px/1 var(--sans,'Noto Sans KR',sans-serif);box-shadow:0 0 0 5px #f5f6f329,0 4px 18px #111e2366;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:auto;cursor:pointer;touch-action:manipulation;user-select:none;transition:background 150ms,color 150ms}
.vision-hotspot-pin[aria-expanded=true]{background:var(--accent,#b9cabb);color:var(--ink,#14252b);border-color:#f5f6f3}
.vision-hotspot-pin:active{background:#b9cabb;color:#14252b}
.vision-hotspot-pin:focus-visible,.vision-hotspot-close:focus-visible,.vision-feature-toggle:focus-visible{outline:3px solid #fff;outline-offset:3px}
.vision-hotspot-card.liquid-glass{position:absolute;width:310px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:20px 48px 18px 20px;border:1px solid #ffffff45;border-radius:14px;background:#111e23f2;color:#f5f6f3;box-shadow:0 12px 36px #0004;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:auto;text-align:left;line-height:1.7;word-break:keep-all}
.vision-hotspot-card strong{display:block;font-size:16px;font-weight:600;line-height:1.5}
.vision-hotspot-card p{margin:10px 0;font-size:14px;line-height:1.8;color:#e1e8e2}
.vision-hotspot-card small{display:block;font-size:11px;color:#b9cabb}
.vision-hotspot-close{position:absolute;right:2px;top:2px;width:44px;height:44px;border:0;background:none;color:#fff;font:26px/1 sans-serif;touch-action:manipulation}
.vision-feature-toggle{min-height:44px;padding:10px 16px;border:1px solid #ffffff50;border-radius:9px;background:#14252be8;color:#f5f6f3;font:500 14px/1.5 var(--sans,'Noto Sans KR',sans-serif);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);touch-action:manipulation;user-select:none;cursor:pointer}
.vision-feature-toggle[aria-pressed=true]{background:#b9cabb;color:#14252b;border-color:#b9cabb}
.gallery-feature-tools{position:absolute;right:4%;top:108px;z-index:6}
.vision-feature-tools{position:absolute;right:20px;top:20px;z-index:6}
.has-vision-hotspots .vision-caption{display:none}
.vision-stage{bottom:110px}
.vision-tools{z-index:5}
/* Bloom follows the same cover crop and transform as the original image. */
.hero-visual{position:absolute;inset:0;transform-origin:60% 45%;will-change:transform}
.hero .hero-visual .hero-image{transform:none!important;will-change:auto}
.hero-bloom{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform-origin:60% 45%;pointer-events:none;mix-blend-mode:screen;opacity:.26}
.hero-bloom.is-shimmering{animation:landmark-shimmer 6s ease-in-out infinite alternate}
@keyframes landmark-shimmer{from{opacity:.18}to{opacity:.42}}
@media(max-width:767px){.hero-bloom{object-position:65% center}}
@media(hover:hover) and (pointer:fine){.vision-hotspot-pin:hover{background:#b9cabb;color:#14252b}.vision-feature-toggle:hover{border-color:#fff}}
@media(max-width:760px){
 .gallery-feature-tools{top:88px;right:12px}.vision-feature-tools{top:12px;right:12px}
 .vision-feature-toggle{font-size:13px;padding:9px 12px}
 .vision-hotspot-card.liquid-glass{padding:16px 42px 14px 16px;width:290px}
 .vision-hotspot-card strong{font-size:15px}.vision-hotspot-card p{font-size:13px}
 .hero-bloom{object-position:65% center}
 .gallery-header{padding-top:calc(17px + env(safe-area-inset-top,0px))}
 .gallery-caption{bottom:calc(18px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.hero-visual{transform:none!important;will-change:auto}.hero-bloom.is-shimmering{animation:none;opacity:.26}.vision-hotspot-pin{transition:none}}

.gallery-feature-tools{display:flex;gap:8px;align-items:center}.vision-model-link{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;border:1px solid #b9cabb60;border-radius:8px;background:#14252be8;color:#f5f6f3;font:500 12px/1.5 var(--sans);text-decoration:none;backdrop-filter:blur(12px)}.vision-model-link:focus-visible{outline:3px solid #b9cabb;outline-offset:3px}

.vision-model-link[hidden]{display:none!important}
