.projects-page #main,.projects-page #wrapper,.projects-page .content-holder{position:relative;float:none;height:auto;display:flow-root}
.projects-page .content-holder>.content,.projects-page .content-footer{float:none;clear:both;display:flow-root}
.projects-page .content-footer{position:relative;bottom:auto}
.projects-page .height-emulator{display:none}
.projects-page #source-projects{padding-top:0;scroll-margin-top:100px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 26px;margin-top:50px;clear:both}
.project-card{min-width:0;text-align:left}
.project-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}
.project-cover{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#111}
.project-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.project-open:hover img{transform:scale(1.035)}
.project-open:focus-visible{outline:2px solid #ffc107;outline-offset:6px}
.project-photo-count{position:absolute;bottom:16px;right:16px;background:rgba(0,0,0,.75);color:#fff;padding:8px 12px;font-size:11px;letter-spacing:1px}
.project-card h3{color:#eee;font-family:Inter,Arial,sans-serif;font-size:18px;line-height:1.5;margin:18px 0 7px;letter-spacing:.3px;text-transform:none}
.project-view{color:#ffc107;font-size:11px;text-transform:uppercase;letter-spacing:2px}
.project-total{display:block;color:#ffc107;font-size:12px;letter-spacing:3px;margin:0 0 20px}
.project-dialog{position:fixed;inset:0;margin:auto;width:min(1320px,96vw);height:min(940px,94dvh);max-width:96vw;max-height:94dvh;padding:0;border:1px solid #353535;background:#111;color:#fff;overflow:hidden;box-shadow:0 20px 100px #000}
.project-dialog::backdrop{background:rgba(0,0,0,.94)}
.project-dialog[open]{display:flex;flex-direction:column}
.project-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;padding:20px 26px;border-bottom:1px solid #303030;text-align:left}
.project-dialog .project-dialog-title{font:500 22px/1.4 Inter,Arial,sans-serif!important;letter-spacing:.4px!important;text-transform:none;margin:0;overflow-wrap:anywhere}
.project-dialog button{font:inherit;cursor:pointer;color:#fff;background:#202020;border:1px solid #494949}
.project-dialog button:hover{border-color:#ffc107;color:#ffc107}
.project-dialog button:focus-visible{outline:2px solid #ffc107;outline-offset:3px}
.project-close{width:44px;height:44px;flex:none;font-size:28px!important}
.project-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px 68px;touch-action:pan-y}
.project-stage img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .15s}
.project-stage.is-loading img{opacity:.2}
.project-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:52px;font-size:28px!important;z-index:2}
.project-prev{left:12px}.project-next{right:12px}
.project-dialog-bottom{flex:none;padding:8px 24px 18px;text-align:center}
.project-counter{font-size:12px;letter-spacing:2px;color:#bbb;margin:0 0 12px;display:block}
.project-thumbs{display:flex;gap:10px;justify-content:center}
.project-thumb{width:84px;height:58px;display:block;padding:2px;opacity:.6}
.project-thumb[aria-current="true"]{border-color:#ffc107!important;opacity:1}
.project-thumb img{height:100%;width:100%;object-fit:cover;display:block}
.project-error{position:absolute;left:15%;right:15%;padding:20px;background:#222;color:#fff;font-size:16px;line-height:1.7}
body.project-gallery-open{overflow:hidden}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}}
@media(max-width:600px){.project-grid{grid-template-columns:1fr;gap:32px}.project-card h3{font-size:18px}.project-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0}.project-dialog-header{padding:16px;gap:12px}.project-dialog .project-dialog-title{font-size:18px!important;letter-spacing:0!important}.project-stage{padding:8px 0}.project-arrow{width:38px;height:46px;background:rgba(0,0,0,.7)!important}.project-prev{left:8px}.project-next{right:8px}.project-dialog-bottom{padding:12px 12px 24px}.project-thumbs{gap:6px}.project-thumb{width:calc((100vw - 60px)/5);max-width:84px;height:54px}}
@media(prefers-reduced-motion:reduce){.project-cover img,.project-stage img{transition:none}}

.project-stage img[hidden]{display:none}
.project-cover-portrait img{object-fit:contain}
