.vision-page{--vision-glow:color-mix(in srgb,var(--accent) 20%,transparent);--vision-edge:color-mix(in srgb,var(--accent) 32%,var(--border));position:relative;isolation:isolate;padding:40px 8px 32px}.vision-header{position:relative;text-align:center;padding:16px 0 40px}.vision-header:before{content:"";position:absolute;z-index:-1;inset:-80px 0 -70px;pointer-events:none;background:radial-gradient(ellipse at 50% 35%,var(--vision-glow),transparent 62%)}.vision-eyebrow{margin:0 0 24px;color:var(--accent);font-size:10px;letter-spacing:.32em}.vision-header h1{font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:clamp(34px,4.5vw,66px);line-height:1.45;font-weight:500;letter-spacing:.025em;text-wrap:balance}.vision-header h1 span{display:block;margin-bottom:4px;font-size:.67em;letter-spacing:.08em}.vision-description{margin:24px 0 0;color:var(--muted);font-size:13px;line-height:2.1;letter-spacing:.06em}.vision-stage{position:relative;padding:26px 12px 10px}.vision-stage:before{content:"";position:absolute;z-index:-1;inset:45% -12px -16%;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 12%,transparent),transparent 68%)}.vision-board-heading{text-align:center;margin-bottom:50px}.vision-board-heading h2{margin:0;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:clamp(23px,2.25vw,32px);font-weight:500;letter-spacing:.06em;line-height:1.6}.vision-board-heading p{margin:12px 0 0;color:var(--muted);font-size:11px;letter-spacing:.05em}.vision-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:26px;margin:0;padding:0;list-style:none}.vision-photos>li{position:relative;min-width:0}.vision-photos>li:before{content:"";position:absolute;z-index:-1;inset:0 -18px -20px;background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--accent) 27%,transparent),transparent 70%);filter:blur(16px);opacity:.8;animation:vision-radiance 9s ease-in-out infinite alternate;pointer-events:none}.vision-photo-float{animation:vision-float 8s ease-in-out infinite}.vision-photos>li:nth-child(2){padding-top:22px}.vision-photos>li:nth-child(2) .vision-photo-float{animation-delay:-2.7s}.vision-photos>li:nth-child(3) .vision-photo-float{animation-delay:-5.3s}.vision-photos>li:nth-child(2):before{animation-delay:-3s}.vision-photos>li:nth-child(3):before{animation-delay:-6s}.vision-photo{--vision-tilt:-2deg;position:relative;margin:0;padding:10px;background:var(--surface-3,var(--surface));border:1px solid var(--vision-edge);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--foreground) 8%,transparent),0 24px 48px light-dark(#294c791c,#0008),0 0 34px var(--vision-glow);transform:rotate(var(--vision-tilt));transition:box-shadow .3s ease,border-color .3s ease}.vision-photos>li:nth-child(2) .vision-photo{--vision-tilt:1deg}.vision-photos>li:nth-child(3) .vision-photo{--vision-tilt:-1deg}.vision-photo:before{content:"";position:absolute;z-index:2;width:76px;height:25px;top:-14px;left:calc(50% - 38px);background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--surface));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--foreground) 8%,transparent),0 3px 8px light-dark(#345b8320,#0004);opacity:.92;transform:rotate(-5deg);pointer-events:none}.vision-photo-trigger{position:relative;display:block;width:100%;aspect-ratio:3/2;padding:0;overflow:hidden;background:var(--control);cursor:zoom-in}.vision-photo-trigger>img{object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1)}.vision-expand{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffffff66;border-radius:50%;color:#fff;background:#07132370;backdrop-filter:blur(8px);box-shadow:0 2px 12px #0003}.vision-photo-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:4px;z-index:3}.vision-photo:focus-within{border-color:var(--accent);box-shadow:0 26px 55px light-dark(#294c7924,#0009),0 0 48px var(--vision-glow)}.vision-photo:focus-within .vision-photo-trigger>img{transform:scale(1.025)}.vision-gallery[data-lightbox-open] .vision-photo-float,.vision-gallery[data-lightbox-open] .vision-photos>li:before,.vision-photos>li:focus-within .vision-photo-float{animation-play-state:paused}.vision-photo figcaption{display:flex;align-items:flex-start;gap:12px;padding:21px 6px 14px}.vision-number{padding-top:1px;font-size:10px;color:var(--accent);font-variant-numeric:tabular-nums}.vision-category{display:block;margin:0 0 10px;color:var(--muted);font-size:9px;letter-spacing:.18em}.vision-photo h3{margin:0 0 10px;font-size:14px;font-weight:500;line-height:1.8;letter-spacing:.01em;text-wrap:pretty}.vision-photo figcaption p{margin:0;color:var(--muted);font-size:11px;line-height:1.9;overflow-wrap:anywhere}.vision-invitation{position:relative;padding:82px 0 16px;text-align:center}.vision-light-line{display:block;width:1px;height:44px;margin:0 auto 24px;background:linear-gradient(transparent,var(--accent),transparent);box-shadow:0 0 12px var(--vision-glow)}.vision-invitation h2{margin:0;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:clamp(28px,3.3vw,44px);font-weight:500;line-height:1.65;letter-spacing:.045em}.vision-invitation>p{margin:18px 0 0;color:var(--muted);font-size:12px;line-height:1.9;letter-spacing:.03em}.vision-closing{margin:26px 0 0;text-align:center;color:var(--muted);font-size:10px;line-height:1.9}.vision-lightbox{width:min(940px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;overflow-y:auto;overscroll-behavior:contain;color:var(--foreground);background:var(--surface-3,var(--surface));border:1px solid var(--vision-edge);border-radius:18px;box-shadow:0 30px 100px #0007,0 0 70px var(--vision-glow)}.vision-lightbox[open]{animation:vision-dialog-enter .28s cubic-bezier(.22,1,.36,1)}.vision-lightbox::backdrop{background:light-dark(#152b4dc2,#020811de);backdrop-filter:blur(12px)}.vision-lightbox-toolbar{position:sticky;top:0;z-index:3;background:var(--surface-3,var(--surface));display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px 14px 10px 22px}.vision-lightbox-toolbar>span{color:var(--muted);font-size:10px;letter-spacing:.18em}.vision-lightbox-close{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--foreground);background:var(--control)}.vision-lightbox-close:hover{color:var(--accent);background:var(--tag)}.vision-lightbox-image{position:relative;width:100%;aspect-ratio:3/2;max-height:50dvh;background:var(--control)}.vision-lightbox-image>img{object-fit:contain}.vision-lightbox-copy{text-align:center;padding:28px 28px 32px}.vision-lightbox-label{margin:0 0 12px;color:var(--accent);font-size:10px;letter-spacing:.1em}.vision-lightbox-copy h2{margin:0;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:clamp(22px,3vw,30px);font-weight:500;line-height:1.65;text-wrap:balance}.vision-lightbox-message{margin:18px 0 0;font-size:14px;line-height:2;white-space:pre-line;text-wrap:pretty}.vision-lightbox-affirmation{margin:22px 0 0;color:var(--accent);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:17px;letter-spacing:.06em}@keyframes vision-float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes vision-radiance{0%{opacity:.45}to{opacity:.9}}@keyframes vision-dialog-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (hover:hover){.vision-photos>li:hover .vision-photo-float{animation-play-state:paused}.vision-photo:hover{border-color:var(--accent);box-shadow:0 28px 55px light-dark(#294c7924,#0009),0 0 48px var(--vision-glow)}.vision-photo-trigger:hover>img{transform:scale(1.025)}}@media (min-width:1001px) and (max-width:1150px){.vision-stage{padding-inline:2px}.vision-photos{gap:18px}.vision-photo{padding:8px}.vision-photo figcaption{padding-inline:2px;gap:8px}}@media (max-width:1000px){.vision-page{padding:32px 0 24px}.vision-header{padding-bottom:24px}.vision-stage{padding:24px 16px 0}.vision-board-heading{margin-bottom:44px}.vision-photos{grid-template-columns:minmax(0,1fr);max-width:420px;margin:0 auto;gap:46px}.vision-photos>li:nth-child(2){padding-top:0}.vision-invitation{padding-top:58px}}@media (max-width:760px){.vision-header h1{font-size:clamp(29px,8.3vw,44px);letter-spacing:0}.vision-eyebrow{margin-bottom:22px}.vision-description{font-size:12px}.vision-stage{padding-inline:8px}.vision-board-heading h2{font-size:clamp(21px,5.8vw,27px);letter-spacing:.02em}.vision-board-heading p{font-size:10px}.vision-photo figcaption{padding:20px 6px 12px}.vision-invitation h2{font-size:clamp(25px,7.4vw,34px);letter-spacing:.015em}.vision-invitation>p{font-size:11px}.vision-lightbox{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:14px}.vision-lightbox-copy{padding:23px 18px 28px}.vision-lightbox-message{font-size:13px;line-height:1.95}.vision-lightbox-copy h2{font-size:22px}.vision-lightbox-affirmation{font-size:16px}}@media (prefers-reduced-motion:reduce){.vision-lightbox[open],.vision-photo-float,.vision-photos>li:before{animation:none}.vision-photo,.vision-photo-trigger>img{transition:none}.vision-photo-trigger:hover>img,.vision-photo:focus-within .vision-photo-trigger>img{transform:none}}