/* Projects catalogue: complete descriptions, related-topic filtering, natural typography. */
body[data-page-key="projectsPage"] { --pj-accent:#72e7ff; --pj-surface:#0d2036; --pj-tint:rgba(24,174,203,.08); }
body.mr-theme-light[data-page-key="projectsPage"] { --pj-accent:#086a87; --pj-surface:#fff; --pj-tint:rgba(24,174,203,.06); --mr-muted:#596b80; }
.pj-overview { padding:148px 0 32px; background:radial-gradient(ellipse at 50% 0,rgba(24,174,203,.12),transparent 24%),var(--mr-bg); }
.pj-header { max-width:1040px; margin:0 auto 38px; text-align:center; }
.pj-kicker { display:inline-flex; align-items:center; gap:12px; color:var(--pj-accent); font-size:.95rem; font-weight:800; }
.pj-kicker::before { content:""; width:28px; border-top:2px solid currentColor; }
.pj-header h1 { margin:18px 0 22px; color:var(--mr-heading); font-size:clamp(2.1rem,3.45vw,3.4rem); font-weight:900; line-height:1.55; }
.pj-header > p { margin:0 auto; max-width:980px; color:var(--mr-muted); font-size:1.06rem; line-height:2.05; text-wrap:pretty; }
.pj-filter-area { margin-bottom:24px; }
.pj-filters { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; padding:16px; border:1px solid var(--mr-border); border-radius:26px; background:linear-gradient(115deg,var(--pj-tint),transparent),var(--mr-bg-soft); }
.pj-filters button { appearance:none; display:flex; align-items:center; justify-content:center; gap:10px; min-width:0; max-width:100%; min-height:64px; padding:10px 14px; border:1px solid var(--mr-border); border-radius:18px; color:var(--mr-text); background:var(--pj-surface); font-family:inherit; font-size:.88rem; font-weight:750; line-height:1.8; cursor:pointer; transition:background .2s,border-color .2s,box-shadow .2s,transform .2s; }
.pj-filter-icon { display:grid; place-items:center; flex:none; width:38px; height:38px; border:1px solid rgba(114,231,255,.24); border-radius:12px; color:#fff; background:linear-gradient(140deg,#174565,#087b92); box-shadow:inset 0 1px 0 rgba(255,255,255,.12); }
.pj-filter-icon .pj-icon { width:26px; height:26px; stroke-width:1.8; }
.pj-filter-label { min-width:0; text-align:start; overflow-wrap:anywhere; }
.pj-filters button[aria-pressed="true"] { background:linear-gradient(120deg,#08778b,#145da0); color:#fff; border-color:#70dcef; box-shadow:0 6px 20px rgba(6,133,168,.2),inset 0 1px 0 rgba(255,255,255,.2); }
.pj-filters button[aria-pressed="true"] .pj-filter-icon { background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.5); box-shadow:none; }
.pj-filters button:hover:not(:disabled) { border-color:var(--pj-accent); transform:translateY(-2px); box-shadow:0 7px 18px rgba(0,25,45,.12); }
.pj-filters button:disabled { cursor:default; }
.pj-filter-status { margin:18px 0 0; min-height:26px; color:var(--mr-muted); font-size:.82rem; line-height:1.9; text-align:start; }
.pj-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.pj-card { --pj-card-padding:30px; display:grid; grid-template-rows:auto auto auto 1fr auto; min-width:0; padding-bottom:28px; background:var(--pj-surface); border:1px solid var(--mr-border); border-radius:26px; scroll-margin-top:124px; }
.pj-card[hidden] { display:none; }
.pj-visual { position:relative; margin-bottom:44px; }
.pj-visual img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:25px 25px 0 0; }
.pj-icon-tile { position:absolute; inset-inline-start:var(--pj-card-padding); bottom:-25px; display:grid; place-items:center; width:58px; height:58px; color:#fff; background:linear-gradient(135deg,#0b4165,#087b92); border:1px solid rgba(114,231,255,.4); border-radius:17px; box-shadow:0 8px 22px rgba(0,0,0,.15); }
.pj-icon { display:block; width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.pj-card h2 { margin:0 var(--pj-card-padding) 12px; color:var(--mr-heading); font-size:clamp(1.3rem,1.7vw,1.75rem); font-weight:850; line-height:1.65; }
.pj-english { margin:0 var(--pj-card-padding) 18px; color:var(--pj-accent); font-family:Arial,sans-serif; font-size:.85rem; font-weight:500; line-height:1.75; text-align:left; overflow-wrap:anywhere; }
html[dir="rtl"] .pj-english { text-align:right; }
.pj-description { margin:0 var(--pj-card-padding); color:var(--mr-muted); font-size:1rem; line-height:2; text-wrap:pretty; }
.pj-tags { list-style:none; display:flex; align-content:flex-start; align-items:flex-start; flex-wrap:wrap; gap:8px; margin:22px var(--pj-card-padding) 0; padding:18px 0 0; border-top:1px solid var(--mr-border); }
.pj-tags li { padding:4px 10px; border-radius:8px; color:var(--pj-accent); background:var(--pj-tint); font-size:.76rem; line-height:1.8; }
.pj-image-note { margin:26px auto 0; max-width:960px; color:var(--mr-muted); font-size:.82rem; line-height:1.95; text-align:center; }
.pj-contact { padding:28px 0 80px; }
.pj-cta { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:clamp(28px,4vw,52px); border:1px solid var(--mr-border); border-radius:26px; background:radial-gradient(ellipse at 0 100%,rgba(24,174,203,.14),transparent 65%),var(--mr-bg-soft); }
.pj-cta-copy { max-width:900px; min-width:0; }
.pj-cta h2 { margin:14px 0 16px; color:var(--mr-heading); font-size:clamp(1.65rem,2.4vw,2.3rem); font-weight:900; line-height:1.6; }
.pj-cta p { margin:0; color:var(--mr-muted); font-size:1rem; line-height:1.95; }
.pj-actions { display:flex; flex-direction:column; flex-shrink:0; gap:12px; }
.pj-actions a:focus-visible,.pj-filters button:focus-visible { outline:3px solid var(--pj-accent); outline-offset:4px; }
@supports (grid-template-rows:subgrid) {
    .pj-card { grid-template-rows:subgrid; grid-row:span 5; row-gap:0; }
}
@media (max-width:1450px) {
    .pj-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
    .pj-filters button { justify-content:flex-start; }
}
@media (max-width:1100px) {
    .pj-card { --pj-card-padding:24px; }
    .pj-grid { gap:24px; }
    .pj-cta { flex-direction:column; align-items:stretch; gap:28px; }
    .pj-actions { flex-direction:row; flex-wrap:wrap; }
}
@media (max-width:900px) {
    .pj-overview { padding-top:128px; }
    .pj-header h1 { font-size:clamp(2rem,4.5vw,2.8rem); }
}
@media (max-width:700px) {
    .pj-overview { padding:122px 0 24px; }
    .pj-header { margin-bottom:28px; }
    .pj-header h1 { font-size:clamp(1.9rem,7.3vw,2.4rem); line-height:1.6; margin-top:16px; }
    .pj-header > p { font-size:.98rem; line-height:2; }
    .pj-filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:10px; border-radius:22px; }
    .pj-filters button { gap:8px; padding:10px 8px; border-radius:14px; }
    .pj-filter-icon { width:34px; height:34px; border-radius:10px; }
    .pj-filter-icon .pj-icon { width:24px; height:24px; }
    .pj-grid { grid-template-columns:minmax(0,1fr); }
    .pj-card { --pj-card-padding:22px; scroll-margin-top:112px; }
    .pj-card h2 { font-size:1.4rem; }
    .pj-contact { padding:20px 0 56px; }
    .pj-cta { padding:26px 22px; border-radius:22px; }
    .pj-actions { display:grid; }
}
@media (max-width:360px) {
    .pj-filters { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) {
    .pj-filters button { transition:none; }
    .pj-filters button:hover:not(:disabled) { transform:none; }
}
