/* Fotoausgabe: ruhige Bildflächen, kurze Texte und feine Liniengrafiken. */
.hero-warm{padding-top:22px;padding-bottom:64px;gap:70px}
.hero-warm figure img{height:600px;max-height:none;object-position:50% 55%}
.hero-warm h1{font-size:clamp(56px,6.2vw,88px);letter-spacing:-3.6px}
.hero-warm .lead{max-width:460px}
.image-note{bottom:30px;left:-22px;padding:22px 26px;box-shadow:0 15px 45px #302d2520}
.service{position:relative;padding:30px;display:flex;flex-direction:column}
.service-icon{display:block;width:49px;height:49px;margin-bottom:26px;color:var(--accent)}
.service-icon svg{width:100%;height:100%}
.service p{max-width:310px;line-height:1.7;margin-bottom:24px}
.service a{margin-top:auto;padding-top:8px;min-height:36px}
.growth-art{width:160px;max-width:100%;color:var(--accent);margin-top:9px}
.philosophy .wrap{align-items:center;grid-template-columns:.5fr 1.5fr}
.philosophy .body-copy{font-size:17px;line-height:1.8}
.philosophy h2{font-size:clamp(38px,4.3vw,59px)}
.moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:start}
.moment{margin:0;min-width:0}
.moment:nth-child(2){padding-top:58px}
.photo-button{position:relative;display:block;border:0;padding:0;width:100%;background:transparent;border-radius:7px;overflow:hidden;color:var(--ink)}
.photo-button img{height:350px;object-fit:cover;transition:transform .5s ease}
.moment:nth-child(2) img{object-position:51% 48%}
.photo-button:hover img{transform:scale(1.035)}
.photo-zoom{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:38px;height:38px;background:#fff9ef;border-radius:50%;font-size:21px}
.moment figcaption{padding:22px 0 0}
.moment h3{font-family:var(--display);font-size:27px;margin-bottom:8px}
.moment p{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:0}
.image-credit{font-size:10px;color:var(--muted);margin:25px 0 0;text-align:right;letter-spacing:.3px}
.contact{padding:76px 0}
.contact-details strong{font-family:var(--display);font-size:27px}
.contact-mail{margin-top:15px!important;overflow-wrap:anywhere}
.placeholder-note{display:block;font-size:10px;margin-top:13px;opacity:.8;line-height:1.5}
.footer-logo{font-family:var(--display);font-size:24px;color:var(--ink)}
.site-footer{padding:35px 0}
.site-footer p{margin:6px 0 0}
.dialog-close,.photo-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:28px}
.photo-dialog{padding:16px;background:#faf7ef;width:min(1000px,calc(100% - 32px));max-height:94vh;border:0;border-radius:9px}
.photo-dialog img{width:100%;height:75vh;max-height:760px;object-fit:contain;background:#eae5da;border-radius:3px}
.photo-dialog p{font-size:14px;margin:14px 8px 0;color:#304735}
.photo-close{background:#fff9ef;z-index:1;box-shadow:0 2px 12px #0002;color:#304735}
body:has(dialog[open]){overflow:hidden}
.friendly .hero-friendly{padding-top:18px}
.friendly h1{font-size:clamp(62px,7.7vw,105px)}
.hero-friendly figure{margin-top:36px}
.hero-friendly img{aspect-ratio:2.4;object-position:center 44%;max-height:540px}
.friendly .service-icon{width:58px;height:58px;background:#fff6;padding:9px;border-radius:50%}
.friendly .moment .photo-button{border-radius:65px 65px 20px 20px}
.friendly .moment:nth-child(2) .photo-button{border-radius:20px}
.friendly .moment h3{font-size:24px;font-weight:700;letter-spacing:-.8px}
.friendly .growth-art{color:#aa4247}
.clear .hero-clear{align-items:center;padding-top:32px;padding-bottom:48px}
.clear .hero-copy{padding-bottom:30px}
.clear h1{font-size:clamp(53px,5.6vw,79px)}
.clear .hero-clear figure img{height:590px;object-position:center 55%}
.clear .service{display:grid;grid-template-columns:70px 1fr 1.2fr 120px;align-items:center}
.clear .service-icon{margin:0;width:42px;height:42px}
.clear .service p{margin:0;grid-row:auto;grid-column:auto}
.clear .service a{margin:0;grid-column:auto}
.clear .moment .photo-button{border-radius:0}
.clear .moment:nth-child(2){padding-top:0}
.clear .moment h3{font-size:24px;font-weight:500}
.clear .growth-art{color:#526944}
.clear .footer-logo{font-size:18px;letter-spacing:1px}
@media(max-width:980px){
 .hero-warm{gap:40px}.hero-warm h1{font-size:59px}.hero-warm figure img{height:520px}
 .moments{gap:19px}.photo-button img{height:285px}.moment h3{font-size:23px}
 .clear .service{grid-template-columns:45px 1fr 1.1fr}.clear .service a{grid-column:2}.clear .service p{grid-row:1/3;grid-column:3}
 .clear .hero-clear figure img{height:510px}
}
@media(max-width:720px){
 .demo-strip span{font-size:8px;letter-spacing:0}.hero-warm{gap:22px;padding-top:28px;padding-bottom:35px}
 .hero-warm h1{font-size:clamp(53px,11vw,70px);letter-spacing:-2.6px}.hero-warm figure img{height:430px;object-position:center}
 .image-note{left:0;bottom:20px;font-size:19px;padding:18px 22px}
 .hero-friendly img{aspect-ratio:1.25;object-position:51% center}
 .friendly h1{font-size:clamp(59px,14vw,88px)}
 .philosophy .wrap{grid-template-columns:1fr}.philosophy .wrap>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:20px}
 .growth-art{width:73px;margin:0 0 22px}.philosophy h2{font-size:37px}.philosophy .body-copy{font-size:15px}
 .moments{grid-template-columns:1fr;gap:32px}.moment:nth-child(2){padding-top:0}
 .photo-button img{height:auto;aspect-ratio:1.15;object-position:center 53%}
 .moment:nth-child(2) img{aspect-ratio:1.35}.moment figcaption{padding-top:17px}.moment h3{font-size:28px}
 .image-credit{text-align:left;margin-top:24px}.contact{padding:49px 0}
 .clear .hero-clear figure img{height:auto;aspect-ratio:1.1}.clear .hero-copy{padding-bottom:0}
 .clear .service{grid-template-columns:38px 1fr;gap:18px}.clear .service p{grid-column:2;grid-row:auto}.clear .service a{grid-column:2}
 .photo-dialog{padding:10px}.photo-dialog img{height:65vh}.photo-dialog p{margin:10px 6px;font-size:13px}
 .site-footer .footer-links{flex-wrap:wrap;gap:20px}.friendly .moment .photo-button{border-radius:35px 35px 16px 16px}
}
@media(prefers-reduced-motion:reduce){.photo-button img{transition:none}.photo-button:hover img{transform:none}}
