/* Projects: a hero line and large photo cards, same language as the home page hub. */
:root{--space:#050913;--edge:rgba(170,200,255,.14);--edge-hi:rgba(140,200,255,.38);--ice:#F5C518;--sun:#FEC50C;--snow:#F2F6FC;--mist:#9FADC4;--gutter:clamp(16px,3.4vw,40px);--wrap:1240px}
*{margin:0;padding:0;box-sizing:border-box}
body{min-height:100vh;color:var(--snow);line-height:1.6;background:radial-gradient(ellipse 80% 50% at 50% 0%,#0C1A38 0%,rgba(5,9,19,0) 70%),var(--space)!important}

.pj-hero{max-width:var(--wrap);margin:0 auto;padding:clamp(120px,14vw,160px) var(--gutter) clamp(30px,4vw,48px)}
.pj-kicker{font-size:12.5px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:rgba(242,246,252,.75);margin-bottom:14px}
.pj-hero h1{font-size:clamp(40px,5.6vw,76px);font-weight:800;line-height:1.02;letter-spacing:-.02em;margin-bottom:16px}
.pj-sub{font-size:clamp(15px,1.2vw,17.5px);color:rgba(242,246,252,.8);max-width:560px}

.pj-grid{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.pj-card{position:relative;display:flex;align-items:flex-end;gap:16px;min-height:300px;padding:26px;border-radius:24px;overflow:hidden;text-decoration:none;color:#fff;
  border:1px solid var(--edge);isolation:isolate;transition:border-color .3s,transform .3s}
.pj-card::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--img) var(--pos,center)/cover no-repeat;transition:transform .6s ease}
.pj-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,9,19,.05) 0%,rgba(5,9,19,.35) 45%,rgba(5,9,19,.92) 100%)}
.pj-card:hover{border-color:var(--edge-hi);transform:translateY(-3px)}
.pj-card:hover::before{transform:scale(1.04)}
.pj-wide{grid-column:1 / -1;min-height:380px}
.pj-num{position:absolute;top:22px;left:26px;font-size:13px;font-weight:600;letter-spacing:.1em;color:rgba(242,246,252,.8)}
.pj-body{flex:1;display:flex;flex-direction:column;gap:6px;max-width:560px}
.pj-tag{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--sun)}
.pj-card h2{font-size:clamp(22px,2.2vw,30px);font-weight:800;letter-spacing:-.01em;line-height:1.15}
.pj-card p{font-size:14.5px;color:rgba(242,246,252,.84);line-height:1.55}
.pj-arrow{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(242,246,252,.55);transition:background .25s,border-color .25s,color .25s}
.pj-arrow svg{width:18px;height:11px}
.pj-card:hover .pj-arrow{background:#fff;border-color:#fff;color:#0A1428}

@media (max-width:760px){
  .pj-grid{grid-template-columns:1fr;gap:14px}
  .pj-card,.pj-wide{min-height:260px;padding:20px}
  .pj-num{top:18px;left:20px}
  .pj-arrow{width:40px;height:40px}
}
@media (prefers-reduced-motion:reduce){.pj-card,.pj-card::before{transition:none}}

/* card photos wait until they are near the screen (js/lazy-bg.js) */
.pj-card.lazy-bg:not(.bg-in)::before{background-image:none!important}
