/* DATECH: zugängliche Bewegung, Kundenstimmen und direkter Kontakt. */
.footer-partner{display:flex;align-items:center;gap:32px;padding-block:30px;border-top:1px solid var(--line)}
.footer-partner-brand{width:180px;flex-shrink:0}
.footer-partner-brand img{width:100%;mix-blend-mode:multiply}
.footer-partner .eyebrow{display:block;font-size:.6rem;margin:0 0 7px}
.footer-partner strong{font-size:.95rem}
.footer-partner p{font-size:.76rem;margin:3px 0 0;color:var(--muted)}
.footer-partner>.text-link{margin-left:auto;font-size:.78rem;white-space:nowrap;color:var(--accent)}
.footer-bottom>div{flex-wrap:wrap}
.consent-settings{border:0;background:transparent;padding:0;color:inherit;font:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px}
.consent-panel{position:fixed;inset:auto 24px 24px;z-index:1000;max-width:1000px;margin-inline:auto;display:flex;gap:28px;align-items:center;background:#f3f9fc;border:1px solid #79b8d1;border-top:3px solid var(--accent);border-radius:8px;padding:25px 30px;box-shadow:0 12px 70px #153b4a45;max-height:85dvh;overflow:auto}
.consent-panel h2{font-size:1.1rem;line-height:1.5;margin:0 0 8px}
.consent-panel p{font-size:.77rem;line-height:1.75;margin:0 0 8px;color:var(--muted)}
.consent-panel a{font-size:.76rem;text-decoration:underline}
.consent-actions{display:flex;flex-direction:column;gap:10px;flex-shrink:0}
.consent-actions button{min-width:165px;border:1px solid var(--accent);border-radius:4px;background:white;color:var(--accent-hover);font-weight:600;font-size:.78rem;padding:12px 18px;min-height:44px}
.consent-actions button:hover{background:var(--accent-soft)}
@media(max-width:760px){.footer-partner{align-items:flex-start;gap:20px;flex-wrap:wrap}.footer-partner-brand{width:150px}.footer-partner>div{flex:1;min-width:180px}.footer-partner>.text-link{margin-left:0}.consent-panel{inset:auto 12px 84px;padding:20px;display:block}.consent-actions{margin-top:18px;flex-direction:row;flex-wrap:wrap}.consent-actions button{flex:1;min-width:140px}.footer-bottom>div{gap:16px}}
@media print{.consent-panel,.consent-settings{display:none!important}}
.site-header.is-scrolled{box-shadow:0 7px 24px #153b4a24}
.hero-frames,.hero-frame{position:absolute;inset:0}
.hero-frame{overflow:hidden}
.hero-frame.is-active{animation:frame-appear 850ms ease both}
.hero-frame.is-active .hero-photo{animation:frame-pan 8s linear both;transform-origin:60% 50%}
.hero-visual.is-paused .hero-photo{animation-play-state:paused}
.hero-visual::after{pointer-events:none}
.hero .image-caption{bottom:94px}
.carousel-controls{display:flex;align-items:center;gap:10px}
.carousel-controls button{border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);min-width:40px;min-height:40px;padding:8px 12px;font-size:.79rem;line-height:1.2}
.carousel-controls button:hover{border-color:var(--accent);color:var(--accent)}
.carousel-controls button:disabled{color:var(--muted);cursor:default}
.carousel-controls [data-position]{font-size:.75rem;min-width:40px;text-align:center}
.carousel-controls [data-pause]{margin-left:auto;min-width:81px}
.hero-controls{position:absolute;z-index:4;bottom:37px;right:40px;color:var(--ink);padding:7px 9px;background:#fffffff2;border:1px solid #ffffffa0;border-radius:5px;min-width:260px}
.hero-controls button{border-color:transparent;background:transparent;min-height:32px}
.hero-controls button:hover{background:var(--accent-soft)}
.hero-controls [data-pause]{min-width:88px}
.hero-controls [data-position]{font-size:.69rem}
@keyframes frame-appear{from{opacity:.2}to{opacity:1}}
@keyframes frame-pan{from{transform:scale(1)}to{transform:scale(1.045)}}
[data-reveal]{transition:opacity 650ms ease var(--reveal-delay,0ms),transform 650ms cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
.motion-enabled [data-reveal]:not(.is-visible){opacity:0;transform:translateY(20px)}
.motion-enabled [data-reveal].is-visible{opacity:1;transform:none}
.motion-enabled .steps li::before{transition:transform .5s .15s;background:var(--accent)}
.motion-enabled .steps li:not(.is-visible)::before{transform:scale(0)}

.reviews-section{padding:48px 0;background:#f3f9fc;border-bottom:1px solid #f0e1d7}
.reviews-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:65px;align-items:center}
.reviews-layout h2{font-size:2rem}
.reviews-layout header>p:not(.eyebrow):not(.review-rating){font-size:.85rem;color:var(--muted);max-width:390px}
.reviews-layout .eyebrow{margin-bottom:14px}
.reviews-layout .text-link{font-size:.77rem}
.review-carousel,.reviews-invitation{padding:28px 32px;background:white;border:1px solid #eadbcf;border-radius:8px;min-width:0}
.review-slides{min-height:190px;display:grid;align-items:start}
.review-slide{grid-area:1/1;animation:review-enter 420ms ease both;min-width:0}
.review-slide blockquote{margin:15px 0 25px;font-size:1.02rem;line-height:1.85;color:var(--ink);overflow-wrap:anywhere}
.review-slide footer{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.75rem}
.review-slide footer a{color:var(--blue);font-weight:650}
.review-slide footer time{color:var(--muted)}
.review-carousel .carousel-controls{border-top:1px solid var(--line);padding-top:17px;margin-top:22px}
.review-attribution{font-size:.65rem;margin:13px 0 0;line-height:1.7}
.review-stars{letter-spacing:.09em;color:#946009;font-size:1rem}
.review-rating{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:5px}
.review-rating strong{font-size:2rem;line-height:1}
.review-rating>span:first-of-type{color:#946009;font-size:1.4rem}
.review-rating>span:last-child{font-size:.76rem;color:var(--muted)}
.review-rating>span.review-stars{font-size:1.25rem;color:#946009}
.review-links{display:grid;gap:4px;margin:16px 0}
.review-links .text-link,.review-read-more{min-height:44px}
.reviews-layout .review-source-note{font-size:.72rem;line-height:1.65;margin:14px 0 0}
.review-slide .review-read-more{font-size:.75rem;margin-top:12px}
.reviews-section .review-slides{min-height:275px}
.reviews-section .carousel-controls button{min-width:44px;min-height:44px}
.reviews-section .review-slide footer>span{color:var(--muted)}
.review-quote-mark{font:normal 4rem Georgia,serif;color:var(--accent);line-height:1}
.reviews-invitation h3{font-size:1.6rem}
.reviews-invitation p{font-size:.9rem;color:var(--muted)}
.review-preview-label{display:inline-block;background:var(--accent-soft);border:1px solid #c5e0eb;color:var(--accent-hover);font-size:.64rem;border-radius:3px;padding:4px 8px;margin-bottom:21px}
.review-placeholder h3{font-size:1.4rem;line-height:1.3}
.review-placeholder p{font-size:.89rem;color:var(--muted);margin-bottom:0;line-height:1.85}
@keyframes review-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

/* Fotos bleiben bis zur ausdrücklichen Übermittlung im Browser. */
.contact-form-wrap>h2{line-height:1.25}
.contact-form-wrap fieldset{margin:32px 0}
.contact-form-wrap legend{letter-spacing:.07em;color:var(--accent);font-size:.76rem}
.contact-form-wrap legend small{text-transform:none;font-weight:400;letter-spacing:0;color:var(--muted)}
.message-label{margin-top:20px}
.form-status{padding:20px 23px;margin:20px 0;border-radius:5px;border:1px solid #a9cdd6;background:#edf7f8;color:var(--ink);font-size:.88rem;line-height:1.75}
.form-status.is-error{background:#fff3e9;color:#76340f;border-color:#e4b799}
.form-availability{padding:14px 18px;border-left:3px solid var(--accent);background:var(--accent-soft);font-size:.8rem;color:var(--ink)}
.form-availability a{text-decoration:underline}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.upload-zone{position:relative;display:flex;align-items:center;flex-direction:column;gap:9px;border:1.5px dashed #b8cbd4;border-radius:7px;padding:30px 20px;background:#f6f9fa;text-align:center;transition:background .2s,border-color .2s}
.upload-zone.is-dragging{border-color:var(--accent);background:var(--accent-soft)}
.upload-symbol{color:var(--accent);font-size:2rem;font-weight:300;line-height:1.2}
.upload-zone strong{font-size:.9rem}
.upload-zone>span:not(.upload-symbol){font-size:.74rem;color:var(--muted);line-height:1.8}
.btn-upload{margin-top:10px;font-size:.78rem;min-height:43px;padding:11px 18px;cursor:pointer}
.upload-input{position:absolute;width:1px;height:1px;padding:0;border:0;opacity:0;bottom:0;left:50%}
.upload-zone:focus-within{outline:3px solid var(--accent);outline-offset:3px}
.upload-status{font-size:.79rem;margin:12px 0;color:var(--muted)}
.upload-status.is-error{color:#943510}
.upload-previews{display:grid;gap:12px;list-style:none;padding:0;margin:15px 0 0}
.upload-previews>li{display:grid;grid-template-columns:72px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:0 14px;align-items:center;border:1px solid var(--line);padding:10px;border-radius:5px;background:white}
.upload-previews img{grid-row:1/3;width:72px;height:58px;object-fit:cover;border-radius:3px}
.upload-previews span{grid-column:2;align-self:end;font-size:.8rem;overflow-wrap:anywhere}
.upload-previews small{grid-column:2;align-self:start;font-size:.67rem;color:var(--muted)}
.upload-previews button{grid-column:3;grid-row:1/3;background:transparent;border:1px solid var(--line);border-radius:4px;padding:7px 9px;font-size:.7rem;color:var(--accent)}
.upload-previews button:hover{background:var(--accent-soft)}
.privacy-checkbox{display:flex;gap:12px;align-items:flex-start;font-size:.78rem;line-height:1.7;font-weight:400}
.privacy-checkbox>input{width:18px;height:18px;min-width:18px;margin-top:4px;accent-color:var(--accent)}
.privacy-checkbox>span{color:var(--muted)}
.privacy-checkbox a{color:var(--ink);text-decoration:underline}
#submit-damage:disabled{opacity:.65;transform:none}
.contact-form-wrap [aria-busy=true]{cursor:progress}
.contact-form-wrap [aria-busy=true] .upload-zone{opacity:.65}
.contact-form-wrap [aria-busy=true] #submit-damage::after{content:"";width:15px;height:15px;border:2px solid #ffffff70;border-top-color:white;border-radius:50%;animation:submit-spin 800ms linear infinite}
@keyframes submit-spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.reviews-layout{gap:35px}.reviews-layout h2{font-size:1.75rem}.review-carousel{padding:24px}.hero-controls{right:24px}.hero .image-caption{bottom:92px}}
@media(max-width:760px){.reviews-section{padding:38px 0}.reviews-layout{grid-template-columns:1fr;gap:26px}.reviews-layout header>p:not(.eyebrow):not(.review-rating){max-width:none}.reviews-layout h2 br{display:none}.review-carousel{padding:24px 20px}.review-slides{min-height:180px}.review-slide blockquote{font-size:.94rem}.review-slide footer{font-size:.72rem;align-items:flex-start}.review-placeholder h3{font-size:1.3rem}.hero .image-caption{bottom:79px;right:20px}.hero-controls{bottom:19px;right:20px;min-width:250px;padding:5px 7px}.carousel-controls button{min-width:38px}.upload-zone{padding:25px 16px}}
@media(max-width:440px){.hero-controls{min-width:0;left:18px;right:18px}.hero .image-caption{right:18px;bottom:77px;font-size:.63rem}.review-slide footer{flex-direction:column;gap:7px}.review-carousel .carousel-controls{gap:6px}.carousel-controls button{font-size:.73rem}.upload-previews>li{grid-template-columns:58px minmax(0,1fr);gap:4px 10px}.upload-previews img{width:58px;height:58px}.upload-previews button{grid-column:2;grid-row:3;justify-self:start}.upload-zone strong{font-size:.84rem}}
@media(prefers-reduced-motion:reduce){.hero-frame,.hero-photo,.review-slide{animation:none!important;transform:none!important}.motion-enabled [data-reveal]:not(.is-visible){opacity:1;transform:none}.contact-form-wrap [aria-busy=true] #submit-damage::after{animation:none}}
@media print{[data-reveal]{opacity:1!important;transform:none!important}.carousel-controls,.upload-zone{display:none!important}.reviews-layout{display:block}.review-slide[hidden]{display:block!important}.review-carousel{border:0}.form-availability{display:none}}
