/* Customer photographs: retain full frames and the site's existing palette. */
.project-groups{padding-top:24px;padding-bottom:72px}
.project-group{padding:42px 0 48px;border-top:1px solid var(--line);scroll-margin-top:120px}
.project-group:last-child{padding-bottom:0}
.project-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:28px}
.project-heading h2{font-size:clamp(26px,3vw,42px);max-width:660px;margin:12px 0 0}
.project-heading p{max-width:210px;margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.project-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.project-photos-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-photo{margin:0;min-width:0}
.project-image{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;background:var(--cream);line-height:0}
.project-image img{display:block;width:min(100%,315px);max-width:100%;height:auto;max-height:420px;object-fit:contain}
.project-image[data-lightbox]{cursor:zoom-in}
.project-enlarge{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:32px;height:32px;background:var(--paper);color:var(--red-dark);font-size:21px;line-height:1}
.project-image:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.project-photo figcaption{display:flex;align-items:baseline;gap:12px;padding:16px 0 0;font-size:13px;line-height:1.6}
.project-photo figcaption>span{flex-shrink:0;font-size:10px;letter-spacing:.08em;color:var(--red)}
.project-links{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:24px}
.project-links .text-link{font-size:12px}
.project-archive-heading{max-width:988px;margin-bottom:28px}
.project-archive-heading h2{font-size:clamp(28px,3vw,42px);margin-top:12px}
.project-selection{padding-top:0}
.project-selection .section-heading{padding-top:32px;border-top:1px solid var(--line);margin-bottom:30px}
.project-selection h2{font-size:clamp(30px,3.5vw,46px)}
.project-teasers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.project-teaser .project-image{height:380px}
.project-teaser .project-image img{width:min(100%,285px);max-height:100%}
.project-teaser-copy{padding-top:22px}
.project-teaser h3{font-size:clamp(21px,2.1vw,28px);line-height:1.35;margin:10px 0 0;max-width:440px}
.project-teaser h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.project-teaser .project-links{margin-top:16px}
.service-project{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:36px;align-items:center;margin:44px 0 0;padding-top:32px;border-top:1px solid var(--line)}
.service-project .project-image img{width:min(100%,240px);max-height:320px}
.service-project h3{font-size:clamp(24px,2.5vw,34px);line-height:1.35;margin:12px 0 0;max-width:550px}
/* New photos stay within native dimensions when opened; existing photos are unchanged. */
.project-gallery .lightbox img[src*="/assets/projekter/"]{width:auto}
@media(max-width:980px) and (min-width:721px){
  .project-photos-three{gap:18px}
  .project-photos-three .project-image{height:320px}
  .project-photos-three .project-image img{max-height:100%}
}
@media(max-width:720px){
  .project-groups{padding-top:8px;padding-bottom:54px}
  .project-group{padding-top:30px;padding-bottom:36px}
  .project-heading{display:block}
  .project-heading p{max-width:none;margin-top:14px}
  .project-photos,.project-photos-three,.project-teasers{grid-template-columns:minmax(0,1fr);gap:28px}
  .project-image img{max-height:420px}
  .project-photo figcaption{font-size:12px}
  .project-selection .section-heading{padding-top:24px}
  .project-teaser .project-image{height:auto;min-height:0}
  .project-teaser .project-image img{max-height:380px}
  .service-project{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:32px}
  .service-project .project-image{max-width:100%}
  .project-archive-heading{max-width:480px}
}
