.project-screen-note{margin:0 0 28px;color:#596d83;font-size:.875rem;line-height:1.8}
.project-screen-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 32px}
.project-case{min-width:0;border-top:2px solid #173d68;padding-top:18px}
.project-screen-link{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:#f4f6f8;border:1px solid #d5dfeb;overflow:hidden;padding:12px;cursor:zoom-in}
.project-screen-link>img{width:100%;height:100%;object-fit:contain;transition:transform .24s ease}
.project-enlarge{position:absolute;right:12px;bottom:12px;display:inline-flex;gap:7px;align-items:center;background:#123968;color:#fff;padding:8px 12px;border:1px solid #edf5ff;font-size:.8125rem;line-height:1.4;border-radius:3px;box-shadow:0 2px 8px #071b3120}
.project-enlarge svg{width:16px;height:16px;flex-shrink:0}
.project-case-copy{display:flex;align-items:flex-start;gap:17px;margin-top:23px}
.project-case-index{flex-shrink:0;color:#245fa7;font-size:.75rem;letter-spacing:.08em;padding-top:5px}
.project-case-copy h3{font-size:1.5rem;color:#172e49;margin:0 0 12px;line-height:1.4}
.project-case-copy p{font-size:1rem;color:#51667c;line-height:1.9}
.project-screen-link:focus-visible{outline-offset:4px}
.project-screen-link:focus-visible>img{transform:scale(1.018)}
@media(hover:hover) and (pointer:fine){.project-screen-link:hover>img{transform:scale(1.018)}.project-screen-link:hover .project-enlarge{background:#19518c}}
html.project-dialog-open{overflow:hidden}
.project-screen-dialog{box-sizing:border-box;width:calc(100vw - 32px);height:calc(100dvh - 32px);max-width:none;max-height:none;margin:auto;padding:22px;border:1px solid #b8c9dd;background:#f4f7fa;color:#142d49;border-radius:8px;overflow:hidden}
.project-screen-dialog::backdrop{background:#041223d9}
.project-screen-dialog[open]{display:flex;flex-direction:column;gap:14px}
.project-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.project-modal-header p{font-size:.75rem;color:#547397;margin-bottom:5px}
.project-modal-header h2{font-size:clamp(1.1rem,2.4vw,1.6rem);line-height:1.4;overflow-wrap:anywhere}
.project-modal-close{flex-shrink:0;min-height:44px;min-width:64px;padding:8px 14px;border:1px solid #7791b0;border-radius:4px;background:#fff;color:#143862}
.project-modal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.project-modal-toolbar button{min-width:44px;min-height:44px;padding:7px 12px;background:#fff;border:1px solid #9bafc6;border-radius:4px;color:#173d68;font-size:.875rem;line-height:1.4}
.project-modal-toolbar button:disabled{opacity:.45;cursor:default}
.project-modal-toolbar output{min-width:54px;text-align:center;font-size:.8125rem}
.project-modal-help{font-size:.8125rem;color:#536980;line-height:1.6}
.project-modal-viewport{min-height:0;min-width:0;flex:1;overflow:auto;overscroll-behavior:contain;background:#e8edf3;border:1px solid #c2d0e1;border-radius:4px;touch-action:pan-x pan-y}
.project-modal-canvas{display:flex;align-items:center;justify-content:center;min-width:100%;min-height:100%;width:max-content;padding:16px}
.project-modal-image{display:block;max-width:none;height:auto;flex-shrink:0;background:#fff}
@media(max-width:720px){.project-screen-gallery{grid-template-columns:minmax(0,1fr);gap:34px}.project-case{padding-top:14px}.project-screen-link{padding:8px}.project-case-copy{gap:12px;margin-top:19px}.project-case-copy h3{font-size:1.25rem}.project-screen-note{font-size:.875rem}.project-screen-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);padding:13px;gap:10px}.project-modal-header{gap:10px}.project-modal-toolbar{gap:6px}.project-modal-help{font-size:.75rem}.project-modal-canvas{padding:10px}}
@media(max-height:480px){.project-screen-dialog{padding:10px;gap:7px}.project-modal-header p,.project-modal-help{display:none}.project-modal-header h2{font-size:1rem}.project-modal-close,.project-modal-toolbar button{min-height:36px}.project-modal-toolbar{gap:6px}}
@media(prefers-reduced-motion:reduce){.project-screen-link>img{transition:none;transform:none!important}}
