/* Portfolio V6: a real project stage, selected-key continuity and detail navigation. */
.pk-key.is-current-project .pk-key-number { color: var(--pk-ink); opacity: 1; }
.pk-key.is-current-project .pk-key-number::after { content: ''; display: inline-block; width: 4px; height: 4px; margin-left: 5px; border-radius: 50%; background: currentColor; vertical-align: 1px; }
.ac-visual { display: flex; flex-direction: column; text-align: left; padding: 25px 28px 24px; height: 550px; background: #e3e8e3; border: 1px solid #253c2510; color: #26372c; isolation: isolate; }
:root[data-theme="dark"] .ac-visual { background: #1d2522; border-color: #ffffff0a; color: #e1e9e2; }
.ac-visual-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; font: 8px var(--mono); letter-spacing: 1px; z-index: 1; }
.ac-visual-top>span:first-child { display: flex; align-items: center; gap: 11px; font: 13px var(--font); letter-spacing: -.2px; }
.ac-visual-top img { width: 26px; height: 26px; object-fit: contain; }
.ac-visual-top>span:last-child { opacity: .55; }
.ac-visual-stage { display: grid; align-items: center; width: 100%; min-height: 0; flex: 1; padding-block: 22px; }
.ac-main-image { display: block; width: 100%; height: auto; max-height: 390px; object-fit: contain; filter: drop-shadow(0 17px 24px #152b2a24); transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.ac-visual:is(:hover,:focus-visible) .ac-main-image { transform: translateY(-5px) scale(1.025); }
.ac-visual-bottom { display: flex; align-items: end; justify-content: space-between; gap: 20px; z-index: 1; }
.ac-visual-bottom>span:first-child { font-size: 16px; letter-spacing: -.3px; }
.ac-visual-bottom small { display: block; margin-top: 8px; font-size: 9px; opacity: .55; letter-spacing: .5px; }
.ac-visual-arrow { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid currentColor; border-radius: 50%; font-size: 23px; opacity: .75; transition: transform .4s, background .4s; }
.ac-visual:hover .ac-visual-arrow { transform: rotate(45deg); }
.dialog-next { display: grid; grid-template-columns: 1fr auto; width: 100%; border-top: 1px solid var(--line); margin-top: 30px; padding: 24px 0 0; text-align: left; gap: 12px; }
.dialog-next>span { font-size: 9px; color: var(--muted); grid-column: 1; }
.dialog-next strong { font-weight: 500; font-size: 19px; grid-column: 1; }
.dialog-next i { grid-column: 2; grid-row: 1/3; font-style: normal; font-size: 26px; color: var(--accent); align-self: center; }
.dialog-next:hover strong { color: var(--accent); }
@media (max-width:1100px) { .ac-visual { height: 470px; padding: 22px; } }
@media (max-width:760px) { .ac-visual { height: auto; min-height: 340px; padding: 18px 17px; } .ac-visual-stage { min-height: 205px; padding-block: 22px; } .ac-visual-top>span:last-child { font-size: 6px; } .ac-visual-bottom>span:first-child { font-size: 14px; } .ac-visual-arrow { width: 36px; height: 36px; } }
@media (prefers-reduced-motion:reduce) { .ac-visual .ac-main-image, .ac-visual-arrow { transition: none; transform: none !important; } }

.pk-key-icon img, .pk-floating-art img, .cta-mark img { display:block; width:100%; height:100%; object-fit:contain; border-radius:20%; }
.ac-visual-top img, .case-brandline img { border-radius: 20%; }
