/* PG-PROJEKT — curated project system v38 */
.projects-v38{--p38-ink:#111923;--p38-blue:#315f8d;--p38-copy:#52616f;--p38-line:#dbe2e8;--p38-soft:#f4f7f9;--p38-ease:cubic-bezier(.2,.75,.2,1)}
.projects-v38 .portfolio-v38-hero{padding:94px 0 68px;background:#fff;border-bottom:1px solid var(--p38-line)}
.projects-v38 .portfolio-v38-hero .portfolio-hero-grid{align-items:end;gap:72px}
.projects-v38 .portfolio-v38-hero h1{max-width:840px}
.projects-v38 .portfolio-v38-section{padding:0 0 104px;background:#fff}
.projects-v38 .portfolio-toolbar{position:sticky;top:72px;z-index:20;margin:0 0 32px;padding:14px 0;background:rgba(255,255,255,.94);border-bottom:1px solid var(--p38-line);backdrop-filter:blur(16px)}
.projects-v38 .portfolio-filters{gap:7px}
.projects-v38 .portfolio-filter{padding:9px 13px;border:1px solid #d8e0e6;background:#fff;color:#687581;font-size:11px;transition:.2s ease}
.projects-v38 .portfolio-filter:hover,.projects-v38 .portfolio-filter.is-active{background:#17212b;border-color:#17212b;color:#fff}
.projects-v38 .portfolio-grid-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid var(--p38-line);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#7b8792}
.projects-v38 .portfolio-v38-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:42px 22px;align-items:start}
.projects-v38 .realization-card{grid-column:span 4;min-width:0}
.projects-v38 .realization-card.is-wide{grid-column:span 8}
.projects-v38 .realization-card.is-hidden{display:none}
.projects-v38 .realization-link{display:block;color:inherit}
.projects-v38 .realization-media{position:relative;overflow:hidden;background:#e9eef2;border:0}
.projects-v38 .realization-card.is-wide .realization-media{aspect-ratio:2.06/1}
.projects-v38 .realization-card.is-compact .realization-media{aspect-ratio:1.02/1}
.projects-v38 .realization-card.is-portrait .realization-media{aspect-ratio:1.02/1}
.projects-v38 .realization-card.is-technical .realization-media{background:#f0f3f6}
.projects-v38 .realization-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s var(--p38-ease),filter .35s ease}
.projects-v38 .realization-card.is-technical .realization-media img{object-fit:contain;padding:16px}
.projects-v38 .realization-hover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;background:linear-gradient(180deg,rgba(9,17,25,.02) 15%,rgba(9,17,25,.18) 45%,rgba(9,17,25,.92) 100%);color:#fff;opacity:0;transition:opacity .28s ease}
.projects-v38 .realization-hover>span{font-size:9px;letter-spacing:.17em;text-transform:uppercase;opacity:.72;margin-bottom:10px}
.projects-v38 .realization-hover strong{max-width:760px;font-size:clamp(22px,2vw,34px);line-height:1.03;letter-spacing:-.035em;font-weight:500}
.projects-v38 .realization-hover p{margin:9px 0 9px;font-size:12px;opacity:.86}
.projects-v38 .realization-hover small{max-width:610px;font-size:12px;line-height:1.52;opacity:.78;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.projects-v38 .realization-hover .hover-action{margin-top:18px;font-size:12px;font-weight:600;letter-spacing:.015em}
.projects-v38 .realization-hover .hover-action i{font-style:normal;margin-left:4px}
.projects-v38 .realization-card:hover .realization-hover{opacity:1}
.projects-v38 .realization-card:hover .realization-media img{transform:scale(1.025);filter:saturate(.9) contrast(1.02)}
.projects-v38 .realization-caption{display:flex;justify-content:space-between;gap:16px;padding-top:14px}
.projects-v38 .realization-caption h3{margin:0 0 5px;font-size:18px;line-height:1.16;font-weight:500;letter-spacing:-.026em}
.projects-v38 .realization-card.is-wide .realization-caption h3{font-size:21px}
.projects-v38 .realization-caption p{margin:0;color:#7a8691;font-size:10px;line-height:1.45}
.projects-v38 .realization-caption>span{font-size:19px;color:var(--p38-blue);transition:transform .2s ease}
.projects-v38 .realization-card:hover .realization-caption>span{transform:translate(3px,-2px)}
.projects-v38 .portfolio-section.is-filtered .realization-card:not(.is-hidden){grid-column:span 6}
.projects-v38 .portfolio-section.is-filtered .realization-card:not(.is-hidden) .realization-media{aspect-ratio:1.65/1}
.projects-v38 .portfolio-v38-closing{padding:76px 0 96px;background:#f2f5f7;border-top:1px solid var(--p38-line)}
.projects-v38 .portfolio-v38-closing-inner{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}
.projects-v38 .portfolio-v38-closing h2{margin:12px 0 0;max-width:900px;font-size:clamp(38px,4.4vw,66px);line-height:.98;letter-spacing:-.05em;font-weight:400}

/* Project detail */
.project-v38 .project-v38-hero{padding:34px 0 82px;background:linear-gradient(180deg,#fbfcfd 0%,#f4f7f9 100%);border-bottom:1px solid var(--p38-line)}
.project-v38 .project-v38-hero .back-link{display:inline-block;margin-bottom:46px}
.project-v38 .project-v38-title-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.72fr);gap:72px;align-items:end;margin-bottom:40px}
.project-v38 .project-v38-title h1{margin:10px 0 22px;max-width:860px;font-size:clamp(52px,5.4vw,86px);line-height:.94;letter-spacing:-.06em;font-weight:400}
.project-v38 .project-v38-title>p:last-child{max-width:700px;margin:0;color:var(--p38-copy);font-size:17px;line-height:1.72}
.project-v38 .project-v38-mini-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;padding:0 0 4px}
.project-v38 .project-v38-mini-facts>div:last-child{grid-column:1/-1;padding-top:15px;border-top:1px solid #d2dbe3}
.project-v38 .project-v38-mini-facts span{display:block;margin-bottom:7px;color:#7a8792;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.project-v38 .project-v38-mini-facts strong{display:block;font-size:13px;line-height:1.5;font-weight:500}
.project-v38 .project-v38-hero-media{margin:0}
.project-v38 .project-v38-hero-media>div{width:100%;max-height:690px;overflow:hidden;background:#e9eef2}
.project-v38 .project-v38-hero-media.fit-cover>div{aspect-ratio:1.86/1}
.project-v38 .project-v38-hero-media.fit-cover img{width:100%;height:100%;display:block;object-fit:cover}

.project-v38 .project-v38-hero-media.fit-portrait>div{width:min(720px,100%);margin:0 auto;aspect-ratio:4/5;overflow:hidden;background:#e9eef2}
.project-v38 .project-v38-hero-media.fit-portrait img{width:100%;height:100%;display:block;object-fit:cover}
.project-v38 .project-v38-hero-media.fit-contain>div{min-height:430px;display:flex;align-items:center;justify-content:center;padding:28px;background:#fff;border:1px solid var(--p38-line)}
.project-v38 .project-v38-hero-media.fit-contain img{display:block;width:100%;height:auto;max-height:610px;object-fit:contain}
.project-v38 .project-v38-hero-media figcaption{margin-top:10px;color:#7a8792;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.project-v38 .project-v38-overview{padding:96px 0;background:#fff}
.project-v38 .project-v38-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);gap:88px;align-items:start}
.project-v38 .project-v38-overview-copy h2{max-width:760px;margin:13px 0 28px;font-size:clamp(38px,4vw,62px);line-height:1.01;letter-spacing:-.05em;font-weight:400}
.project-v38 .project-v38-overview-copy p:not(.overline){max-width:720px;margin:0 0 18px;color:var(--p38-copy);font-size:16px;line-height:1.8}
.project-v38 .project-v38-facts{padding:26px;background:#f7f9fb;border:1px solid var(--p38-line)}
.project-v38 .project-v38-facts-list{margin-top:17px;border-top:1px solid #dfe6ec}
.project-v38 .project-v38-facts-list>div{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid #dfe6ec}
.project-v38 .project-v38-facts-list span{color:#7a8792;font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.project-v38 .project-v38-facts-list strong{font-size:13px;line-height:1.55;font-weight:500}
.project-v38 .project-v38-gallery{padding:90px 0;background:#f4f7f9;border-top:1px solid var(--p38-line);border-bottom:1px solid var(--p38-line)}
.project-v38 .project-v38-section-head{display:grid;grid-template-columns:.78fr 1.22fr;gap:60px;align-items:end;margin-bottom:34px}
.project-v38 .project-v38-section-head h2{margin:0;max-width:760px;font-size:clamp(36px,3.6vw,56px);line-height:1.02;letter-spacing:-.045em;font-weight:400}
.project-v38 .project-v38-gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px}
.project-v38 .project-v38-gallery-item{grid-column:span 6;margin:0}
.project-v38 .project-v38-gallery-item.is-wide{grid-column:1/-1}
.project-v38 .project-v38-gallery-item.is-portrait{grid-column:span 5}
.project-v38 .project-v38-gallery-media{overflow:hidden;background:#e9eef2}
.project-v38 .project-v38-gallery-item.fit-cover.is-wide .project-v38-gallery-media{aspect-ratio:2.05/1}
.project-v38 .project-v38-gallery-item.fit-cover.is-half .project-v38-gallery-media{aspect-ratio:1.42/1}
.project-v38 .project-v38-gallery-item.fit-cover.is-portrait .project-v38-gallery-media{aspect-ratio:4/5}
.project-v38 .project-v38-gallery-item.fit-cover img{width:100%;height:100%;display:block;object-fit:cover}
.project-v38 .project-v38-gallery-item.fit-contain .project-v38-gallery-media{min-height:360px;display:flex;align-items:center;justify-content:center;padding:24px;background:#fff;border:1px solid var(--p38-line)}
.project-v38 .project-v38-gallery-item.fit-contain img{width:100%;height:auto;max-height:560px;object-fit:contain}
.project-v38 .project-v38-gallery-item figcaption{margin-top:10px;color:#7a8792;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.project-v38 .project-v38-scope{padding:78px 0;background:#17212b;color:#fff}
.project-v38 .project-v38-scope-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:84px;align-items:start}
.project-v38 .project-v38-scope .overline{color:#8fa5b8}
.project-v38 .project-v38-scope h2{margin:12px 0 0;max-width:620px;font-size:clamp(34px,3.5vw,54px);line-height:1.02;letter-spacing:-.045em;font-weight:400}
.project-v38 .project-v38-scope ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:4px 0 22px;padding:0}
.project-v38 .project-v38-scope li{padding:10px 14px;border:1px solid rgba(255,255,255,.24);font-size:12px;line-height:1.3}
.project-v38 .project-v38-scope p{margin:0;max-width:720px;color:#c8d2db;font-size:14px;line-height:1.7}
.project-v38 .project-v38-nav{border-top:0}

@media(max-width:1050px){
.projects-v38 .realization-card,.projects-v38 .realization-card.is-wide{grid-column:span 6}.projects-v38 .realization-card .realization-media,.projects-v38 .realization-card.is-wide .realization-media{aspect-ratio:1.48/1}
.project-v38 .project-v38-title-row,.project-v38 .project-v38-overview-grid,.project-v38 .project-v38-scope-grid{grid-template-columns:1fr;gap:38px}.project-v38 .project-v38-mini-facts{max-width:760px}.project-v38 .project-v38-section-head{grid-template-columns:1fr;gap:12px}
}
@media(max-width:700px){
.projects-v38 .portfolio-v38-hero{padding:70px 0 50px}.projects-v38 .portfolio-toolbar{top:64px;overflow:auto;padding:10px 0}.projects-v38 .portfolio-filters{flex-wrap:nowrap;width:max-content}.projects-v38 .portfolio-v38-grid{grid-template-columns:1fr;gap:28px}.projects-v38 .realization-card,.projects-v38 .realization-card.is-wide,.projects-v38 .portfolio-section.is-filtered .realization-card:not(.is-hidden){grid-column:1}.projects-v38 .realization-card .realization-media,.projects-v38 .realization-card.is-wide .realization-media,.projects-v38 .portfolio-section.is-filtered .realization-card:not(.is-hidden){aspect-ratio:1.35/1}.projects-v38 .realization-hover{opacity:1;background:linear-gradient(180deg,transparent 35%,rgba(9,17,25,.82));padding:18px}.projects-v38 .realization-hover small{display:none}.projects-v38 .realization-caption{display:none}.projects-v38 .portfolio-v38-closing-inner{grid-template-columns:1fr;align-items:start}
.project-v38 .project-v38-hero{padding:22px 0 54px}.project-v38 .project-v38-hero .back-link{margin-bottom:28px}.project-v38 .project-v38-title h1{font-size:44px}.project-v38 .project-v38-title>p:last-child{font-size:15px}.project-v38 .project-v38-mini-facts{grid-template-columns:1fr}.project-v38 .project-v38-mini-facts>div:last-child{grid-column:auto}.project-v38 .project-v38-hero-media.fit-cover>div{aspect-ratio:1.32/1}.project-v38 .project-v38-hero-media.fit-portrait>div{width:100%;aspect-ratio:4/5;max-height:640px}
.project-v38 .project-v38-hero-media.fit-portrait>div{width:min(720px,100%);margin:0 auto;aspect-ratio:4/5;overflow:hidden;background:#e9eef2}
.project-v38 .project-v38-hero-media.fit-portrait img{width:100%;height:100%;display:block;object-fit:cover}
.project-v38 .project-v38-hero-media.fit-contain>div{min-height:260px;padding:14px}.project-v38 .project-v38-overview,.project-v38 .project-v38-gallery{padding:62px 0}.project-v38 .project-v38-facts{padding:18px}.project-v38 .project-v38-facts-list>div{grid-template-columns:1fr;gap:5px}.project-v38 .project-v38-gallery-grid{grid-template-columns:1fr}.project-v38 .project-v38-gallery-item,.project-v38 .project-v38-gallery-item.is-wide,.project-v38 .project-v38-gallery-item.is-portrait{grid-column:1}.project-v38 .project-v38-gallery-item.fit-cover .project-v38-gallery-media{aspect-ratio:1.3/1!important}.project-v38 .project-v38-gallery-item.fit-contain .project-v38-gallery-media{min-height:240px}.project-v38 .project-v38-scope{padding:58px 0}
}


/* v39 — portfolio closing refinement ------------------------------------ */
.projects-v38 .portfolio-v39-closing{
  position:relative;
  overflow:hidden;
  padding:66px 0 34px;
  background:#111a24;
  color:#f4f7f9;
  border-top:1px solid #253443;
}
.projects-v38 .portfolio-v39-closing::after{
  content:"";
  position:absolute;
  right:-12vw;
  top:-22vw;
  width:48vw;
  height:48vw;
  border:1px solid rgba(114,157,194,.12);
  border-radius:50%;
  pointer-events:none;
}
.projects-v38 .portfolio-v39-closing-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
  gap:clamp(56px,8vw,120px);
  align-items:end;
}
.projects-v38 .portfolio-v39-closing .overline{color:#8da6bb}
.projects-v38 .portfolio-v39-closing h2{
  max-width:820px;
  margin:14px 0 0;
  font-size:clamp(40px,4.2vw,66px);
  line-height:.98;
  letter-spacing:-.052em;
  font-weight:400;
  color:#f7f9fb;
}
.projects-v38 .portfolio-v39-closing-side{
  padding-bottom:4px;
}
.projects-v38 .portfolio-v39-closing-side>p{
  max-width:540px;
  margin:0 0 26px;
  color:#b8c4ce;
  font-size:14px;
  line-height:1.72;
}
.projects-v38 .portfolio-v39-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  width:100%;
  max-width:420px;
  padding:18px 0;
  border-top:1px solid rgba(255,255,255,.34);
  border-bottom:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:13px;
  font-weight:600;
  transition:padding .24s ease,border-color .24s ease,color .24s ease;
}
.projects-v38 .portfolio-v39-cta i{
  font-style:normal;
  font-size:20px;
  color:#8fb2d0;
  transition:transform .24s ease;
}
.projects-v38 .portfolio-v39-cta:hover{
  padding-left:10px;
  border-color:rgba(255,255,255,.62);
}
.projects-v38 .portfolio-v39-cta:hover i{transform:translateX(4px)}
.projects-v38 .portfolio-v39-closing-meta{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:52px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#7f95a7;
  font-size:9px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.projects-v38 .portfolio-v39-closing-meta i{
  width:3px;
  height:3px;
  border-radius:50%;
  background:#5c7488;
}

/* Footer brand should remain corporate, not person-led. */
.release-v36 .footer-brand>span{
  text-transform:uppercase;
  letter-spacing:.16em!important;
  color:#7f8b96!important;
}

@media(max-width:900px){
  .projects-v38 .portfolio-v39-closing-grid{grid-template-columns:1fr;gap:34px}
  .projects-v38 .portfolio-v39-closing-side>p{max-width:680px}
  .projects-v38 .portfolio-v39-cta{max-width:520px}
}
@media(max-width:560px){
  .projects-v38 .portfolio-v39-closing{padding:54px 0 28px}
  .projects-v38 .portfolio-v39-closing h2{font-size:40px}
  .projects-v38 .portfolio-v39-closing-meta{margin-top:36px;gap:8px;font-size:8px}
}
