/* Taunus Entrümpelung 1.2.0 — project photography, typography, and mobile layout. */
.te-proof,.te-gallery{--te-line:rgba(214,226,219,.18);--te-muted:#b5bfbc;position:relative;isolation:isolate;background:#1c2325;color:#f4f5f1;padding:clamp(72px,8vw,128px) 5vw;border-block:1px solid var(--te-line)}
.te-proof::before,.te-gallery::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 90% 0,rgba(171,199,184,.08),transparent 55%)}
.te-proof-inner,.te-gallery-inner{max-width:1280px;margin-inline:auto;min-width:0}
.te-icon{width:20px;height:20px;flex:none;display:block}
.te-eyebrow{display:flex;align-items:center;gap:12px;color:#c4cdca;font-size:.67rem;font-weight:700;line-height:1.6;letter-spacing:.15em;text-transform:uppercase}
.te-eyebrow::before{content:"";width:26px;height:1px;background:currentColor;flex:none}
.te-proof-top{display:grid;grid-template-columns:.78fr 1.22fr;grid-template-areas:"copy media" "action media";column-gap:6vw;row-gap:32px;align-items:center}
.te-proof-copy{grid-area:copy;align-self:end;padding-top:14px}
.te-proof-media{grid-area:media;min-width:0}
.te-proof-copy h2,.te-gallery-heading h2{font-family:"Arial Black",Arial,sans-serif;font-size:clamp(2.6rem,4.5vw,4.6rem);font-weight:900;line-height:.99;letter-spacing:-.065em;margin:28px 0 24px}
.te-proof-copy h2 span,.te-gallery-heading h2 span{color:#c4cdca}
.te-proof-copy>p,.te-gallery-heading>p,.te-project-copy>p{max-width:34rem;font-size:1rem;line-height:1.75;color:var(--te-muted)}
.te-proof-link{grid-area:action;align-self:start;justify-self:start;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:6px 6px 6px 20px;border:1px solid #c4cdca50;border-radius:4px;color:#f4f5f1;font-size:.82rem;font-weight:700;line-height:1.4;text-decoration:none;transition:border-color .2s,background .2s}
.te-link-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:2px;background:#c4cdca;color:#202426}
.te-link-icon .te-icon{width:17px;height:17px;transition:transform .2s}
.te-proof-link:hover{border-color:#c4cdca;background:#c4cdca0a}
.te-proof-link:hover .te-icon{transform:translate(2px,-2px)}
.te-text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#dbe3df;font-size:.76rem;font-weight:700;text-decoration:none;line-height:1.5;border-bottom:1px solid transparent;transition:border-color .2s}
.te-text-link:hover{border-bottom-color:#c4cdca}
.te-text-link .te-icon{width:15px;height:15px}
.te-comparison{min-width:0;padding:16px;background:linear-gradient(135deg,#ffffff06,#ffffff01);border:1px solid #d6e2db30;border-radius:10px;box-shadow:0 24px 70px #00000026}
.te-comparison-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 14px;color:#c4cdca;font-size:.6rem;font-weight:700;line-height:1.5;letter-spacing:.12em;text-transform:uppercase}
.te-comparison-hint{display:flex;align-items:center;gap:8px;color:#939f99;font-size:.58rem;letter-spacing:.06em}
.te-comparison-hint .te-icon{width:12px;height:12px}
.te-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.te-photo{margin:0;min-width:0}
.te-photo>a{display:block;position:relative;aspect-ratio:3/4;background:#111719;border:1px solid #c4cdca1f;border-radius:5px;overflow:hidden;cursor:zoom-in;text-decoration:none}
.te-photo img{display:block;width:100%;height:100%;object-fit:contain;transition:filter .3s}
.te-photo>a:hover img{filter:brightness(1.06)}
.te-image-tag{position:absolute;top:10px;left:10px;background:#12191be6;border:1px solid #ffffff35;border-radius:3px;padding:6px 9px;color:#f4f5f1;font-size:.57rem;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.11em;pointer-events:none}
.te-photo[data-te-state=after] .te-image-tag{background:#d6e1dae8;color:#1b2421;border-color:#ffffff44}
.te-image-open{position:absolute;bottom:10px;right:10px;width:32px;height:32px;display:grid;place-items:center;background:#12191bdb;border:1px solid #ffffff3d;border-radius:50%;color:#f4f5f1;pointer-events:none;transition:background .2s}
.te-image-open .te-icon{width:14px;height:14px}
.te-photo>a:hover .te-image-open{background:#24322c}
.te-photo figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 1px 0;font-size:.62rem;line-height:1.5;color:#b5bfbc}
.te-photo figcaption span:last-child{font-size:.57rem;color:#8d9b93}
.te-compare-switch{display:flex;border:1px solid #c4cdca3b;border-radius:5px;background:#111819;padding:4px;margin-bottom:12px;gap:4px}
.te-compare-switch button{flex:1;min-height:44px;padding:10px 14px;border:0;border-radius:3px;background:transparent;color:#b5bfbc;font:inherit;font-size:.76rem;font-weight:700;cursor:pointer;transition:background .18s,color .18s}
.te-compare-switch button[aria-pressed=true]{background:#c4cdca;color:#182120;box-shadow:0 1px 8px #0002}
.te-compare-switch button[aria-pressed=false]:hover{background:#ffffff0c;color:white}
.te-proof-reviews{margin-top:64px;padding-top:30px;border-top:1px solid var(--te-line)}
.te-proof-reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.te-mini-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.te-mini-review{padding:30px;border:1px solid var(--te-line);border-radius:6px;background:#ffffff03;display:flex;flex-direction:column;align-items:start}
.te-mini-review blockquote{margin:20px 0 26px;font-size:1.03rem;line-height:1.7;color:#e6ebe7}
.te-mini-review p{margin:0;margin-top:auto;font-size:.76rem;line-height:1.6;color:#9ba9a2}
.te-mini-review p strong{color:#d9e0dc;font-weight:700}
.te-mini-review p span{display:block;margin-top:2px;font-size:.68rem}
.te-star-icons{display:inline-flex;align-items:center;gap:4px;line-height:1;color:#c4cdca;vertical-align:middle}
.te-star-icons svg{display:block;width:16px;height:16px}
.te-gallery{background:#192124}
.te-gallery-heading{max-width:55rem;margin-bottom:50px}
.te-gallery-heading h2{font-size:clamp(2.7rem,5.6vw,5.7rem);margin-top:28px}
.te-gallery-heading>p{max-width:38rem}
.te-project-row{display:grid;grid-template-columns:.65fr 1.35fr;gap:4vw;align-items:center;padding:48px 0;border-top:1px solid var(--te-line)}
.te-project-number{display:flex;align-items:center;gap:12px;color:#98aaa0;font-size:.65rem;font-weight:700;letter-spacing:.13em;line-height:1.5;margin-bottom:22px}
.te-project-number::before{content:"";width:7px;height:7px;border:1px solid #b7c8bd;flex:none}
.te-project-copy h3{font-size:clamp(1.6rem,2.4vw,2.4rem);line-height:1.1;letter-spacing:-.04em;font-weight:800;margin:0 0 20px}
.te-project-copy>p{font-size:.95rem;margin:0;max-width:23rem}
.te-gallery-note{font-size:.73rem;line-height:1.6;color:#97a69f;border-top:1px solid var(--te-line);padding-top:22px;margin:0}
.te-references-page .content-hero{min-height:0;padding-top:10.5rem;padding-bottom:4.5rem}
.te-references-page .content-hero h1{font-size:clamp(3.5rem,8.3vw,8rem);line-height:.93;margin:26px 0}
.te-references-page .reference-review-grid{gap:18px;align-items:stretch}
.te-references-page .reference-review-card{min-height:0;background:linear-gradient(140deg,#2b3435,#242c2e);color:#ecf1ed;border:1px solid #c4cdca30;border-radius:8px;padding:32px;box-shadow:none}
.te-references-page .reference-review-card blockquote{color:#dce3df;font-size:1.03rem;line-height:1.75}
.te-references-page .reference-review-top strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:.95rem;line-height:1.4}
.te-references-page .reference-review-top small{color:#9fada6;line-height:1.5}
.te-references-page .reference-review-source{color:#aab7b0;font-size:.6rem;letter-spacing:.13em}
.te-references-page .reference-review-avatar{background:#c4cdca0b;color:#c4cdca;border:1px solid #c4cdca40;border-radius:6px;font-size:.74rem}
.te-references-page .reference-review-stars{margin:24px 0 20px;line-height:1}
#te-project-gallery,#kundenstimmen{scroll-margin-top:105px}
.te-photo a:focus-visible,.te-proof-link:focus-visible,.te-text-link:focus-visible,.te-compare-switch button:focus-visible,.te-lightbox button:focus-visible{outline:2px solid #d8e4db;outline-offset:4px}
.header-cta:focus-visible{outline:2px solid #c4cdca;outline-offset:5px}
/* Content-sized wordmark: no fixed minimum that can exceed a phone viewport. */
.site-footer{padding-top:clamp(60px,7vw,112px);padding-bottom:40px}
.site-footer .footer-title{container-type:inline-size;width:100%;max-width:100%;min-width:0;display:flex;flex-direction:column;gap:8px;overflow:visible;line-height:1.02;letter-spacing:-.065em;font-size:inherit}
.site-footer .footer-title>span{display:block;flex:none;max-width:100%;white-space:nowrap;line-height:1.02;letter-spacing:-.065em;padding:.03em .08em .04em 0}
.site-footer .footer-title>span:first-child{font-size:clamp(1.5rem,18vw,13rem);align-self:flex-start}
.site-footer .footer-title>span:last-child{font-size:clamp(1rem,9.2vw,8rem);align-self:flex-end}
@supports(font-size:1cqw){.site-footer .footer-title>span:first-child{font-size:clamp(1.5rem,20cqw,13rem)}.site-footer .footer-title>span:last-child{font-size:clamp(1rem,10.3cqw,8rem)}}
.site-footer .footer-bottom{margin-top:clamp(36px,5vw,72px);padding-top:24px}
.site-footer .footer-links a{min-height:36px;padding:4px 0;border-radius:0;background:transparent;color:inherit;font-size:.68rem;text-decoration:none}
.site-footer .footer-links a:hover{text-decoration:underline;text-underline-offset:5px}
/* Native dialog uses original image files and closes with Escape. */
.te-lightbox:not([open]){display:none}
.te-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px}
.te-lightbox{width:min(1180px,calc(100vw - 40px));height:min(900px,calc(100vh - 40px));height:min(900px,calc(100dvh - 40px));max-width:none;max-height:none;margin:auto;padding:20px;border:1px solid #c4cdca50;border-radius:10px;background:#131b1e;color:#f4f5f1;box-shadow:0 24px 100px #000a}
.te-lightbox::backdrop{background:#080d10eb;backdrop-filter:blur(8px)}
.te-lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:20px}
.te-lightbox-heading{margin:0;font:inherit;font-weight:700;font-size:.95rem;line-height:1.5}
.te-lightbox-image{width:100%;height:100%;min-height:0;object-fit:contain;display:block}
.te-lightbox-close{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;color:#e5ebe7;background:transparent;border:1px solid #c4cdca40;border-radius:4px;cursor:pointer;font:inherit;font-size:.75rem}
.te-lightbox-close svg{width:16px;height:16px}
.te-lightbox .te-compare-switch{max-width:320px;width:100%;margin:0 auto}
html.te-lightbox-open{overflow:hidden}
@media(max-width:900px){
 .te-proof-top{grid-template-columns:1fr;grid-template-areas:"copy" "media" "action";gap:30px}
 .te-proof-copy{padding:0}
 .te-proof-copy h2{font-size:clamp(3rem,6.8vw,4.3rem)}
 .te-project-row{grid-template-columns:1fr;gap:30px;align-items:start}
 .te-project-copy>p{max-width:38rem}
 .te-project-number{margin-bottom:14px}
}
@media(max-width:760px){
 .site-header{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:14px 16px}
 .brand{min-width:0;width:auto;gap:8px}
 .brand-name{display:block;width:105px;font-size:.61rem;line-height:1.35;white-space:normal}
 .brand-mark{width:28px;height:28px;flex-shrink:0}
 .header-cta{width:auto;height:42px;min-height:42px;justify-content:center;gap:6px;padding:0 11px;font-size:.68rem;letter-spacing:.02em}
 .header-cta svg{width:13px;height:13px}
 .mobile-menu-trigger{width:40px;height:42px;justify-content:center}
 .floating-call{display:none}
 .te-proof,.te-gallery{padding:64px 20px}
 .te-proof-copy h2,.te-gallery-heading h2{font-size:clamp(2.5rem,11.5vw,4.2rem);line-height:1.02;margin:24px 0 20px}
 .te-proof-copy>p,.te-gallery-heading>p{font-size:.96rem;line-height:1.7}
 .te-proof-link{gap:28px}
 .te-proof-reviews{margin-top:48px;padding-top:26px}
 .te-proof-reviews-heading{align-items:start;flex-direction:column;gap:12px}
 .te-mini-review-grid{grid-template-columns:1fr;gap:14px}
 .te-mini-review{padding:26px 22px}
 .te-mini-review blockquote{font-size:1rem;margin:18px 0 24px}
 .te-gallery-heading{margin-bottom:36px}
 .te-project-row{padding:34px 0;gap:24px}
 .te-project-copy h3{font-size:1.9rem;margin-bottom:14px}
 .te-project-copy>p{font-size:.93rem}
 .te-references-page .content-hero{padding:9rem 20px 3.5rem}
 .te-references-page .content-hero h1{font-size:clamp(2.8rem,12.4vw,5.8rem);line-height:.98;letter-spacing:-.065em}
 .te-references-page .reference-reviews{padding:64px 20px}
 .te-references-page .reference-reviews-heading{gap:24px;margin-bottom:32px}
 .te-references-page .reference-reviews-heading h2{margin-top:0;font-size:clamp(2.3rem,11vw,3.6rem)}
 .te-references-page .reference-rating{margin-top:20px}
 .te-references-page .reference-review-card{padding:26px 22px}
 .site-footer .footer-title>span:last-child{align-self:flex-start}
 .site-footer .footer-links{gap:10px 20px}
}
@media(max-width:640px){
 .te-comparison{padding:12px;border-radius:8px}
 .te-comparison-top{padding-bottom:12px;font-size:.59rem;gap:10px}
 .te-comparison-hint{font-size:.54rem;letter-spacing:0}
 .te-comparison.is-enhanced .te-photo-pair{grid-template-columns:1fr}
 .te-comparison.is-enhanced .te-photo>a{aspect-ratio:3/4}
 .te-image-tag{top:12px;left:12px;padding:7px 10px;font-size:.61rem}
 .te-image-open{bottom:12px;right:12px;width:38px;height:38px}
 .te-photo figcaption{padding-top:10px;font-size:.65rem}
 .te-photo figcaption span:last-child{font-size:.6rem}
 .te-lightbox{width:calc(100vw - 20px);height:calc(100vh - 20px);height:calc(100dvh - 20px);padding:14px;gap:12px}
 .te-lightbox-heading{font-size:.84rem}
 .te-lightbox-close{padding:8px 10px}
 .te-lightbox-close span{display:none}
}
@media(max-width:350px){.brand-name{width:80px;font-size:.54rem}.header-cta{padding-inline:9px}.header-cta svg{display:none}.te-proof,.te-gallery{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.te-photo img,.te-compare-switch button,.te-proof-link,.te-link-icon .te-icon{transition:none}}
