.photo-section{padding:88px 0;background:var(--background)}
.photo-heading{max-width:760px;margin-bottom:36px}
.photo-heading h2{font-size:clamp(30px,3.4vw,46px);line-height:1.15;letter-spacing:-.03em;font-weight:800;color:var(--navy);margin-top:15px}
.photo-heading>p:last-child{margin-top:17px;font-size:17px;line-height:1.7;color:var(--muted-foreground);max-width:650px}
.compare-section{padding-bottom:72px}
.comparison{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:16/9;border-radius:24px;background:var(--navy);box-shadow:var(--shadow-lift-value);max-width:1100px;margin:0 auto}
.comparison-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.comparison-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.comparison-label{position:absolute;top:24px;z-index:2;pointer-events:none;border-radius:999px;padding:9px 19px;font-family:var(--font-display);font-size:13px;font-weight:800;letter-spacing:.04em;background:var(--navy);color:var(--navy-foreground);box-shadow:var(--shadow-soft-value)}
.comparison-label-before{left:24px}.comparison-label-after{right:24px;background:var(--brand)}
.comparison-divider{position:absolute;inset-block:0;left:var(--split);width:3px;transform:translateX(-50%);background:white;pointer-events:none;box-shadow:0 0 16px #0004;z-index:2}
.comparison-divider>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:3px;width:58px;height:58px;border-radius:50%;background:var(--brand);border:3px solid white;color:white;box-shadow:var(--shadow-card-value)}
.comparison-divider svg{width:19px;height:19px;flex-shrink:0}.comparison-divider svg:first-child{transform:rotate(180deg)}
.comparison-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:3;margin:0;touch-action:pan-y}
.comparison:focus-within{outline:3px solid var(--brand-bright);outline-offset:5px}
.comparison-hint{text-align:center;font-size:13px;color:var(--muted-foreground);margin-top:22px}
.project-gallery{background:var(--surface);border-top:1px solid var(--border)}
.project-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;padding:0}
.project-photo-grid li{min-width:0}
.project-photo{position:relative;display:block;width:100%;aspect-ratio:3/4;border-radius:18px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-soft-value);background:var(--brand-soft);cursor:zoom-in;text-align:left}
.project-photo>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.project-photo:hover>img{transform:scale(1.035)}
.photo-open{position:absolute;inset:auto 14px 14px 14px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);background:var(--background);color:var(--navy);padding:12px 15px;border-radius:11px;font-size:12px;font-weight:700;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}
.photo-open svg{width:17px;height:17px}.project-photo:hover .photo-open,.project-photo:focus-visible .photo-open{opacity:1;transform:none}
.project-gallery-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:28px}
.photo-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--brand);border-radius:999px;min-height:48px;padding:12px 23px;font-family:var(--font-display);font-size:14px;line-height:1.4;font-weight:800;cursor:pointer;transition:background .2s,color .2s}
.photo-button svg{width:18px;height:18px}.photo-button-outline{color:var(--brand);background:transparent}.photo-button-primary,.photo-button-outline:hover{background:var(--brand);color:var(--primary-foreground)}.photo-button-primary:hover{background:var(--navy);border-color:var(--navy)}
.photo-button:focus-visible,.project-photo:focus-visible,.photo-lightbox button:focus-visible{outline:3px solid var(--brand-bright);outline-offset:4px}
.photo-lightbox{position:fixed;inset:0;width:min(1150px,94vw);max-width:94vw;height:92dvh;max-height:92dvh;margin:auto;border:1px solid var(--navy-border);border-radius:20px;padding:16px;background:var(--navy-deep);color:white;box-shadow:var(--shadow-lift-value)}
.photo-lightbox::backdrop{background:rgb(5 17 32 / .88);backdrop-filter:blur(7px)}
.photo-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}
.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.lightbox-counter{font-size:13px;color:var(--navy-muted)}
.photo-lightbox button{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);border:1px solid var(--navy-border);color:white;cursor:pointer}.photo-lightbox button:hover{background:var(--brand)}
.photo-lightbox button svg{width:20px;height:20px}.lightbox-close svg{transform:rotate(45deg)}
.lightbox-image-wrap{min-height:0;display:flex;align-items:center;justify-content:center}.lightbox-image{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;border-radius:5px}
.lightbox-controls{display:flex;justify-content:center;gap:12px}.lightbox-prev svg{transform:rotate(180deg)}
@media(max-width:767px){.photo-section{padding:56px 0}.photo-heading{margin-bottom:26px}.photo-heading>p:last-child{font-size:15px}.project-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.comparison{aspect-ratio:4/3;border-radius:18px}.comparison-label{top:15px;padding:7px 13px;font-size:11px}.comparison-label-before{left:15px}.comparison-label-after{right:15px}.comparison-divider>span{width:48px;height:48px}.photo-open{display:none}.project-photo{border-radius:14px}}
@media(max-width:479px){.project-photo-grid{gap:10px}.project-gallery-actions{gap:10px}.photo-button{font-size:12px;padding:11px 17px;min-height:44px}.comparison{aspect-ratio:1/1}.photo-lightbox{width:96vw;max-width:96vw;padding:10px;border-radius:13px}}
@media(prefers-reduced-motion:reduce){.project-photo>img,.photo-open{transition:none}}
#ueber-uns img[src*="uber-uns"]{aspect-ratio:4/3;object-position:center;width:100%;height:auto}
@media(max-width:1023px){
  #ueber-uns .container-site>div:first-child>figure{position:relative;inset:auto;margin:-40px 16px 0;max-width:none}
  #ueber-uns .container-site{row-gap:32px}
}
.area-locations-card{padding:32px;border:1px solid var(--border);border-radius:24px;background:var(--card);box-shadow:var(--shadow-card-value)}
.area-locations-card h3{font-size:26px;font-weight:800;color:var(--navy);margin-top:13px;line-height:1.2}
.area-locations-intro{font-size:14px;line-height:1.6;color:var(--muted-foreground);margin-top:12px}
.area-location-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px;list-style:none;padding:0}
.area-location-list li{max-width:100%}.area-location-list li>span{display:flex;font-size:12px;padding:8px 11px;max-width:100%}
.area-locations-note{border-top:1px solid var(--border);padding-top:18px;margin-top:24px;font-size:12px;line-height:1.7;color:var(--muted-foreground)}
@media(max-width:639px){.area-locations-card{padding:24px 20px;border-radius:18px}.area-locations-card h3{font-size:23px}}
