/* Focused changes for the IONOS/PHP revision. */
.carousel{position:relative;border-radius:5px;overflow:hidden;touch-action:pan-y;isolation:isolate}
.carousel-viewport{overflow:hidden;width:100%;border-radius:5px}
.carousel-track{display:flex;width:100%;transition:transform .45s cubic-bezier(.22,.61,.36,1);will-change:transform}
.carousel-slide{flex:0 0 100%;min-width:0}
.carousel-photo{display:block;width:100%;border:0;padding:0;background:#e6e1d5;cursor:zoom-in}
.carousel-photo img{display:block;width:100%;height:390px;object-fit:cover;user-select:none}
.carousel .gallery-arrow{z-index:2;display:grid;place-items:center;width:48px;height:48px;background:rgba(255,253,249,.96);color:var(--green);border:1px solid #fff;border-radius:50%;box-shadow:0 4px 18px #0003;top:50%;padding:10px;transition:background .2s}
.carousel .gallery-arrow svg{width:25px;height:25px}.carousel .gallery-arrow:hover{background:var(--green);color:white;transform:translateY(-50%)}
.carousel .gallery-arrow.left{left:16px}.carousel .gallery-arrow.right{right:16px}
.carousel-dots{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;gap:8px;padding:8px 12px;background:#14251280;border-radius:30px}
.carousel-dots button{width:8px;height:8px;padding:0;background:#ffffff80;border:1px solid white;border-radius:50%;cursor:pointer;position:relative}
.carousel-dots button::before{content:"";position:absolute;inset:-7px}.carousel-dots button[aria-current="true"]{background:white}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.field-icon svg{width:24px;height:24px}.field-icon{color:var(--green)}
.nearby-intro .mini-card img{height:160px;aspect-ratio:4/3;object-fit:cover}
.area-intro{display:grid;grid-template-columns:1fr 1.12fr;gap:60px;align-items:center;max-width:none;margin:0;padding-top:65px;padding-bottom:65px}
.area-intro h2{margin:12px 0 0}.area-intro-content>p{margin-top:0;color:#555c52;font-size:16px}.area-intro .category-links{margin-top:24px;gap:10px}
.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.legal-page{max-width:1050px;margin:0 auto;padding-top:125px;padding-bottom:80px}.legal-page h1,.response-page h1{font-family:Georgia,serif;font-size:44px;font-weight:400;line-height:1.12;color:var(--green)}
.legal-page h2{font-size:25px;font-weight:400;margin:32px 0 12px}.legal-page p,.legal-page li{font-size:15px;line-height:1.8;color:#454d42}.legal-page a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-page ul{padding-left:22px}
.response-page{max-width:980px;margin:auto;padding-top:65px;min-height:80vh}.response-page .contact-form{margin:30px 0;max-width:720px}.form-errors{padding:15px 22px;background:#f5e8e2;border-left:3px solid #99654c}.form-errors ul{padding-left:18px;margin:0}
.success-card{padding:36px;background:#edf0e6;border-radius:5px;margin:30px 0}.success-card h1{margin-top:0}
@media(max-width:900px){.area-intro{gap:30px;grid-template-columns:1fr 1fr}.carousel-photo img{height:360px}.legal-page{padding-top:95px}}
@media(max-width:650px){.area-intro{grid-template-columns:1fr;gap:24px}.carousel-photo img{height:300px}.carousel .gallery-arrow{width:42px;height:42px;padding:8px}.carousel .gallery-arrow.left{left:10px}.carousel .gallery-arrow.right{right:10px}.nearby-intro .mini-card img{height:210px}.legal-page h1,.response-page h1{font-size:35px}.success-card{padding:25px}}
@media(prefers-reduced-motion:reduce){.carousel-track{transition:none}}
