.projects-showcase{padding:52px 0 82px;background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface_soft) 100%)}
.projects-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:0 0 30px;padding-bottom:26px;border-bottom:1px solid var(--color-border)}
.projects-eyebrow{display:inline-block;color:var(--color-accent);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.projects-heading h1{font-size:clamp(38px,5vw,56px);font-weight:700;line-height:1.08;letter-spacing:-.055em;margin:11px 0 10px;color:var(--color-ink)}
.projects-heading h1 em{font-style:normal;color:var(--color-primary)}
.projects-heading p{max-width:550px;margin:0;color:var(--color-muted);font-size:15px;line-height:1.7}
.projects-count{flex:0 0 auto;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:10px;padding:11px 15px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);box-shadow:var(--shadow-sm)}
.projects-count strong{grid-row:span 2;color:var(--color-primary);font-size:24px;line-height:1}
.projects-count span{color:var(--color-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
#react-gallery-root{width:100%}
#react-gallery-root .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0}
#react-gallery-root .gallery-tile{display:flex;min-width:0;flex-direction:column;padding:0;overflow:hidden;text-align:left;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
#react-gallery-root .gallery-tile:hover{transform:translateY(-4px);border-color:rgba(215,25,32,.3);box-shadow:var(--shadow-md)}
#react-gallery-root .gallery-tile:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}
#react-gallery-root .gallery-image-wrap{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--color-surface_soft)}
#react-gallery-root .gallery-thumb{display:block;width:100%;height:100%;border-radius:0;object-fit:cover;transition:transform .45s ease}
#react-gallery-root .gallery-tile:hover .gallery-thumb{transform:scale(1.045)}
#react-gallery-root .gallery-tile-open{position:absolute;right:13px;bottom:13px;display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(255,255,255,.94);color:var(--color-primary);font-size:17px;box-shadow:0 3px 12px rgba(0,0,0,.12)}
#react-gallery-root .gallery-card-meta{position:relative;display:flex;min-height:88px;flex-direction:column;justify-content:center;gap:6px;padding:15px 50px 16px 17px}
#react-gallery-root .gallery-project-type{color:var(--color-accent);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
#react-gallery-root .gallery-card-meta strong{color:var(--color-ink);font-size:15px;font-weight:700;line-height:1.35}
#react-gallery-root .gallery-modal{padding:28px;background:rgba(22,23,24,.88);backdrop-filter:blur(8px)}
#react-gallery-root .gallery-card{width:min(960px,90vw);max-width:960px;max-height:90vh;align-items:stretch;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:var(--color-surface);box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:auto}
#react-gallery-root .gallery-header{margin:0;padding:18px 22px 12px;color:var(--color-accent);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
#react-gallery-root .gallery-large{display:block;max-width:100%;max-height:68vh;align-self:center;object-fit:contain;border-radius:0;box-shadow:none;background:#171819}
#react-gallery-root .gallery-text{max-width:none;margin:0;padding:16px 22px 21px;text-align:left;color:var(--color-ink)}
#react-gallery-root .gallery-short{margin-bottom:5px;font-size:17px;font-weight:700}
#react-gallery-root .gallery-full{color:var(--color-muted);font-size:13px;line-height:1.65}
#react-gallery-root .gallery-close{top:16px;right:22px;z-index:2;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(32,34,36,.8);font-size:30px;line-height:1;color:#fff}
#react-gallery-root .gallery-arrow{width:46px;height:46px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.16);font-size:30px}
#react-gallery-root .gallery-prev{left:24px}#react-gallery-root .gallery-next{right:24px}
#react-gallery-root>.site-footer{display:none}
@media(max-width:900px){.projects-showcase{padding:40px 0 64px}#react-gallery-root .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:560px){.projects-heading{align-items:flex-start;flex-direction:column;margin-bottom:22px;padding-bottom:20px;gap:16px}.projects-heading h1{font-size:39px}.projects-heading p{font-size:14px}.projects-count{padding:8px 12px}.projects-count strong{font-size:20px}#react-gallery-root .gallery-grid{grid-template-columns:1fr;gap:15px}#react-gallery-root .gallery-card-meta{min-height:76px}#react-gallery-root .gallery-modal{padding:14px}#react-gallery-root .gallery-card{width:100%;max-height:86vh}#react-gallery-root .gallery-large{max-width:100%;max-height:58vh}#react-gallery-root .gallery-arrow{top:auto;bottom:16px;transform:none}#react-gallery-root .gallery-prev{left:calc(50% - 54px)}#react-gallery-root .gallery-next{right:calc(50% - 54px)}}
