.visually-hidden { position: absolute; overflow: hidden; width: 1px; height: 1px; padding: 0; border: 0; margin: -1px; clip: rect(0 0 0 0); white-space: nowrap; }
.contact-section { padding: clamp(4.5rem, 8vw, 7rem) 0; color: #fff; background: #263d3a; }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: start; gap: clamp(2.5rem, 8vw, 7rem); }
.contact-copy h2 { color: #fff; }
.contact-copy > p:not(.eyebrow) { max-width: 480px; color: #d6e1da; font-size: 1.02rem; }
.contact-mail { margin-top: 1.5rem !important; color: #ffc499 !important; font-weight: 700; }
.contact-mail a { text-decoration: underline; text-underline-offset: .2rem; }
.landing-contact-form { display: grid; gap: .8rem; padding: clamp(1.25rem, 3vw, 2rem); border-radius: .8rem; color: #37423e; background: #fffaf4; box-shadow: 0 18px 42px rgba(16, 28, 24, .22); }
.landing-contact-form label { display: grid; gap: .28rem; color: #4a5651; font-size: .78rem; font-weight: 700; }
.landing-contact-form label > span { color: #c53f32; }
.landing-contact-form input, .landing-contact-form textarea { width: 100%; padding: .68rem .75rem; border: 1px solid #d9d2c8; border-radius: .35rem; color: #27312e; background: #fff; font: inherit; font-size: .9rem; outline: none; }
.landing-contact-form textarea { resize: vertical; }
.landing-contact-form input:focus, .landing-contact-form textarea:focus { border-color: #c53f32; box-shadow: 0 0 0 3px rgba(197,63,50,.12); }
.contact-consent { margin: .1rem 0 .25rem; color: #77827d; font-size: .72rem; line-height: 1.45; }
.contact-form-message { margin: 0; padding: .7rem .8rem; border-radius: .35rem; font-size: .82rem; }
.contact-form-message.success { color: #145348; background: #e1f2e9; }
.contact-form-message.error { color: #8c302c; background: #fbe4de; }
.contact-form-message a { text-decoration: underline; }
.form-honeypot { position: absolute; left: -10000px; overflow: hidden; width: 1px; height: 1px; }
.usecase-hero { padding: clamp(4.5rem, 8vw, 7rem) 0 4rem; background: linear-gradient(115deg, #fffaf4, #f4e6d6); }
.usecase-hero-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(2rem, 7vw, 6rem); }
.usecase-lead { max-width: 580px; color: #59615f; font-size: 1.1rem; }
.usecase-visual { position: relative; min-height: 340px; overflow: hidden; border: 1px solid rgba(111,72,48,.16); border-radius: .8rem; background: #e6e9d8; box-shadow: var(--shadow); }
.usecase-visual::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(86,111,80,.19) 1px, transparent 1px), linear-gradient(90deg, rgba(86,111,80,.19) 1px, transparent 1px); background-size: 34px 34px; }
.usecase-visual::after { content: ""; position: absolute; inset: 13% 15%; border: 3px solid #c53f32; border-radius: 44% 56% 49% 51%; background: rgba(197,63,50,.16); transform: rotate(-8deg); }
.usecase-visual .label { position: absolute; z-index: 2; padding: .5rem .7rem; border-radius: .35rem; color: #33433e; background: rgba(255,255,255,.9); box-shadow: 0 8px 16px rgba(59,40,25,.13); font-size: .75rem; font-weight: 750; }
.usecase-visual .label.one { top: 19%; left: 13%; }.usecase-visual .label.two { right: 10%; bottom: 20%; }.usecase-visual .label.three { top: 48%; left: 47%; color: #fff; background: #23675d; }
.usecase-visual.sales { background: #f0ddb7; }.usecase-visual.sales::after { border-color: #23675d; background: rgba(35,103,93,.16); clip-path: polygon(4% 8%, 100% 0, 80% 84%, 20% 100%, 0 48%); border-radius: 0; transform: rotate(6deg); }.usecase-visual.analysis { background: #e9e5d4; }.usecase-visual.analysis::after { border-color: #dd7040; background: radial-gradient(circle at 35% 30%, rgba(197,63,50,.74), rgba(231,123,53,.5) 34%, rgba(255,241,212,.1) 66%); border-radius: 50%; transform: none; }
.usecase-section { padding: clamp(4.5rem, 7vw, 7rem) 0; }.usecase-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }.usecase-grid article { padding: 1.5rem; border: 1px solid #e8e0d7; border-radius: .7rem; background: #fff; }.usecase-grid h3 { margin-bottom: .45rem; letter-spacing: -.035em; }.usecase-grid p { margin: 0; color: var(--muted); font-size: .9rem; }
.plz-hero { padding: clamp(4.5rem, 8vw, 7rem) 0; background: linear-gradient(115deg, #fffaf4, #f4e6d6); }.plz-hero .section-copy { max-width: 700px; }.plz-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .65rem; max-width: 570px; margin-top: 1.6rem; }.plz-search input { min-width: 0; padding: .78rem .9rem; border: 1px solid #cfc6bb; border-radius: .4rem; font: inherit; }.plz-search input:focus { outline: 3px solid rgba(197,63,50,.16); border-color: #c53f32; }.plz-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 2rem 0 1rem; }.plz-metric { padding: 1.25rem; border: 1px solid #e5ddd3; border-radius: .7rem; background: #fff; box-shadow: 0 10px 28px rgba(73,47,29,.06); }.plz-metric strong { display: block; color: #263d3a; font-size: clamp(1.35rem, 3vw, 2rem); letter-spacing: -.05em; }.plz-metric span { display: block; margin-top: .25rem; color: var(--muted); font-size: .82rem; }.plz-source { color: var(--muted); font-size: .82rem; }.plz-related { display: flex; flex-wrap: wrap; gap: .55rem; padding: 0; list-style: none; }.plz-related a { display: inline-block; padding: .42rem .65rem; border: 1px solid #e3d8cc; border-radius: .4rem; color: #8c392e; background: #fff; font-size: .86rem; text-decoration: none; }.plz-related a:hover { border-color: #c53f32; }.plz-not-found { max-width: 620px; padding: 1.35rem; border-left: 4px solid #c53f32; background: #fff7f1; }
.plz-info { padding: clamp(3.5rem, 6vw, 5.5rem) 0 1.5rem; background: #fff; }.plz-info-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }.plz-text h2 { margin-bottom: 1rem; letter-spacing: -.035em; }.plz-text p { font-size: 1.02rem; line-height: 1.7; }.plz-facts { padding: 1.4rem; border: 1px solid #e5ddd3; border-radius: .7rem; background: #fffaf4; }.plz-facts dl { margin: 0; }.plz-facts dt { margin-top: .9rem; color: var(--muted); font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }.plz-facts dt:first-child { margin-top: 0; }.plz-facts dd { margin: .2rem 0 0; }.plz-facts dd span { color: var(--muted); font-size: .88rem; }.plz-facts h3 { margin: 1.4rem 0 .6rem; font-size: 1rem; }.plz-quellen { margin-top: 2rem; line-height: 1.6; }.plz-quellen a { color: inherit; }.plz-ki-hinweis { margin-top: .45rem; font-style: italic; }
.plz-preview { padding: clamp(3.5rem, 6vw, 5.5rem) 0; background: #f7f0e7; }.plz-preview h2 { margin-bottom: 1.4rem; letter-spacing: -.045em; }.plz-preview-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; max-width: 800px; }.plz-preview-card { min-height: 130px; padding: 1.2rem; border: 1px solid #e5ddd3; border-radius: .7rem; background: #fffdf9; }.plz-preview-card strong { display: block; color: #263d3a; font-size: clamp(1.4rem, 3vw, 2rem); letter-spacing: -.05em; }.plz-preview-card span { display: block; margin-top: .35rem; color: var(--muted); font-size: .84rem; }.plz-preview-teaser { margin: 1.3rem 0 0; color: var(--muted); font-size: .9rem; }.plz-preview-teaser a { color: #a72f29; font-weight: 700; text-decoration: underline; text-underline-offset: .18rem; }
.plz-demo { position: relative; padding: clamp(3.5rem, 6vw, 5.5rem) 0; color: #f7faf7; background: #263d3a; }.plz-demo h2 { max-width: 720px; color: #fff; }.plz-demo-intro > p:not(.eyebrow) { max-width: 700px; color: #d7e1da; }.plz-demo-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(270px, .55fr); gap: 1.15rem; margin-top: 2.2rem; }.plz-demo-karte { min-height: 420px; overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-radius: .75rem; background: #dfe5d0; box-shadow: 0 16px 35px rgba(16,28,24,.25); }.plz-demo-panel { padding: 1.35rem; border: 1px solid rgba(255,255,255,.18); border-radius: .75rem; background: rgba(255,255,255,.08); }.plz-demo-label { margin-bottom: .35rem; color: #ffc499; font-size: .7rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }.plz-demo-auswahl { min-height: 3.2em; margin-bottom: 1.4rem; color: #fff; font-weight: 690; line-height: 1.45; }.plz-demo-werte { display: grid; gap: .75rem; }.plz-demo-werte > div { padding: .82rem .9rem; border-radius: .45rem; background: rgba(255,255,255,.12); }.plz-demo-werte strong { display: block; color: #fff; font-size: 1.35rem; letter-spacing: -.045em; }.plz-demo-werte span { display: block; margin-top: .1rem; color: #d7e1da; font-size: .78rem; }.plz-demo-hinweis { margin: 1.35rem 0 0; color: #ffc499; font-size: .82rem; line-height: 1.5; }.plz-demo .leaflet-container { font-family: inherit; }.plz-demo-map-label { border: 1px solid #8f2724; border-radius: .25rem; color: #8f2724; background: #fffaf4; box-shadow: 0 1px 5px rgba(39,25,16,.22); font-weight: 750; }.plz-demo-modal { position: fixed; z-index: 9999; inset: 0; display: grid; place-items: center; padding: 1.2rem; background: rgba(19,31,28,.72); }.plz-demo-modal[hidden] { display: none; }.plz-demo-dialog { position: relative; width: min(100%, 510px); padding: clamp(1.5rem,4vw,2.35rem); border-radius: .8rem; color: #4c5752; background: #fffaf4; box-shadow: 0 24px 80px rgba(0,0,0,.35); }.plz-demo-dialog h2 { color: #263d3a; font-size: clamp(2rem,5vw,2.75rem); }.plz-demo-dialog > p:not(.eyebrow) { color: #65706b; }.plz-demo-close { position: absolute; top: .65rem; right: .7rem; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; color: #53605a; background: #eee7de; cursor: pointer; font-size: 1.5rem; line-height: 1; }.plz-demo-close:hover { color: #fff; background: #a72f29; }.plz-demo-modal-note { margin: 1rem 0 0 !important; color: #7a847f !important; font-size: .76rem; }
@media (max-width: 800px) { .contact-grid, .usecase-hero-grid, .plz-info-grid, .plz-demo-grid { grid-template-columns: 1fr; }.usecase-grid, .plz-metrics, .plz-preview-cards { grid-template-columns: 1fr; }.usecase-visual { min-height: 250px; }.plz-demo-karte { min-height: 340px; } }
@media (max-width: 520px) { .plz-search { grid-template-columns: 1fr; }.plz-search .button { justify-content: center; } }
