:root{--ob-canvas:#fffdf9;--ob-surface:#fff;--ob-warm:#f7f3ec;--ob-red:#b9292f;--ob-red-deep:#941f25;--ob-red-soft:#f8e8e8;--ob-green:#2f6b4f;--ob-green-deep:#1d4937;--ob-green-soft:#eaf3ed;--ob-ink:#17231d;--ob-muted:#657068;--ob-border:rgba(29,73,55,.14);--ob-shadow-hover:0 26px 66px rgba(23,35,29,.15)}
html{scroll-behavior:smooth}body{background:var(--ob-canvas);color:var(--ob-ink)}
main .bg-linen{background-color:var(--ob-canvas)!important}main>section:nth-of-type(3n+2).bg-linen{background-color:var(--ob-warm)!important}
main .bg-evergreen{background-color:var(--ob-green-soft)!important;color:var(--ob-ink)!important}
main .bg-evergreen .text-linen,main .bg-evergreen .text-linen\/60,main .bg-evergreen .text-linen\/70,main .bg-evergreen .text-linen\/80{color:var(--ob-ink)!important}
main .bg-evergreen .text-linen\/60,main .bg-evergreen .text-linen\/70{color:var(--ob-muted)!important}
main .bg-evergreen [class*="text-linen"],main .bg-evergreen .text-white{color:var(--ob-ink)!important}
main .bg-evergreen .border-linen\/10,main .bg-evergreen .border-linen\/20{border-color:var(--ob-border)!important}
main .glass-dark{background:rgba(255,255,255,.72)!important;border-color:var(--ob-border)!important}
.text-terracotta{color:var(--ob-red)!important}.bg-terracotta{background-color:var(--ob-red)!important}.fill-terracotta{fill:var(--ob-red)!important}.text-evergreen{color:var(--ob-green-deep)!important}.border-evergreen\/10{border-color:var(--ob-border)!important}
header{background:rgba(255,253,249,.9)!important;border-bottom:1px solid transparent;transition:padding .35s ease,background-color .35s ease,border-color .35s ease,box-shadow .35s ease!important}
header.ob-header-scrolled{background:rgba(255,255,255,.96)!important;border-color:var(--ob-border);box-shadow:0 10px 35px rgba(23,35,29,.08)!important}
header nav a{position:relative}header nav a:not([href="/kontakt"])::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--ob-red);transition:right .3s ease}
header nav a:not([href="/kontakt"]):hover::after,header nav a:not([href="/kontakt"]):focus-visible::after{right:0}header a[href="/kontakt"]{box-shadow:0 9px 24px rgba(185,41,47,.2)}
main>section:not(:first-child){border-top:1px solid rgba(29,73,55,.06)}main h1,main h2,main h3{text-wrap:balance}main p{text-wrap:pretty}
main article,main a:has(>img){transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,border-color .45s ease}
main article:hover,main a:has(>img):hover{transform:translateY(-6px);box-shadow:var(--ob-shadow-hover);border-color:rgba(185,41,47,.2)!important}
main article img,main a:has(>img) img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .45s ease!important}main article:hover img,main a:has(>img):hover img{transform:scale(1.035);filter:saturate(1.04)}
main a[class*="rounded-full"],main button[class*="rounded-full"]{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease!important}
main a[class*="rounded-full"]::before,main button[class*="rounded-full"]::before{content:"";position:absolute;z-index:-1;top:-70%;left:-45%;width:28%;height:240%;background:rgba(255,255,255,.24);transform:rotate(22deg) translateX(-220%);transition:transform .55s ease}
main a[class*="rounded-full"]:hover,main button[class*="rounded-full"]:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(185,41,47,.2)}main a[class*="rounded-full"]:hover::before,main button[class*="rounded-full"]:hover::before{transform:rotate(22deg) translateX(620%)}
/* Content must never depend on IntersectionObserver to become readable. */
.ob-motion-ready .ob-reveal{opacity:1;transform:none;transition:opacity .68s ease,transform .68s cubic-bezier(.2,.7,.2,1)}
.ob-motion-ready .ob-reveal-item{opacity:1;transform:none;transition:opacity .56s ease var(--ob-delay,0ms),transform .56s cubic-bezier(.2,.7,.2,1) var(--ob-delay,0ms)}
.ob-services-section article,.ob-process-section article{background:#fff!important}
.ob-services-section article{box-shadow:0 12px 34px rgba(23,35,29,.07)}
.ob-process-section .grid:has(>article){align-items:stretch}
.ob-process-section article{height:100%;border:1px solid var(--ob-border)!important;box-shadow:0 10px 30px rgba(23,35,29,.06)}
.ob-stats-section .text-terracotta.whitespace-nowrap{display:block!important;font-size:clamp(2.65rem,6vw,4.75rem)!important;font-weight:600!important;line-height:.95!important;letter-spacing:-.045em!important;color:#fff8ef!important;text-shadow:0 2px 18px rgba(0,0,0,.22)}
.ob-stats-section p{font-size:clamp(.92rem,1.6vw,1.08rem)!important;line-height:1.45}
main>section:first-child>img{animation:ob-hero-breathe 16s ease-in-out infinite alternate}@keyframes ob-hero-breathe{from{transform:scale(1.01)}to{transform:scale(1.035)}}
footer{background:var(--ob-green-deep)!important;color:#fffdf9!important}footer a{transition:color .25s ease,opacity .25s ease}footer a:hover{color:#fff!important;opacity:1}
/* Social feed: scalable horizontal carousel, 4-up desktop and 2-up mobile. */
main section:has(iframe) .ob-social-track{display:flex!important;grid-template-columns:none!important;gap:1rem!important;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--ob-red) var(--ob-green-soft);padding:.35rem .2rem 1.15rem}
main section:has(iframe) .ob-social-track>article{flex:0 0 calc((100% - 3rem)/4);min-width:0;scroll-snap-align:start;scroll-snap-stop:always;box-shadow:0 12px 36px rgba(23,35,29,.08)}
main section:has(iframe) .ob-social-track iframe{display:block;width:100%!important;height:auto!important;aspect-ratio:267/476;border:0}
.ob-social-controls{display:flex;justify-content:flex-end;gap:.6rem;margin:-2.25rem 0 1.4rem}
.ob-social-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ob-border);border-radius:999px;background:#fff;color:var(--ob-green-deep);box-shadow:0 8px 24px rgba(23,35,29,.07);transition:transform .2s ease,border-color .2s ease,color .2s ease}
.ob-social-controls button:hover{transform:translateY(-2px);border-color:var(--ob-red);color:var(--ob-red)}
/* Contact page: consistent cards, readable light theme and centered locations. */
main section:has(.ob-location-card)>.mx-auto{max-width:1180px!important}
main section:has(.ob-location-card) .grid:has(>.ob-location-card){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch;gap:1.25rem!important;overflow:visible!important;padding:0!important}
main section:has(.ob-location-card) .ob-social-controls{display:none!important}
.ob-location-card{min-width:0!important;width:100%!important;height:100%;padding:1.65rem!important;border-radius:1.35rem!important;box-shadow:0 12px 34px rgba(23,35,29,.07)}
.ob-location-card .ob-location-meta{margin-bottom:1rem;color:#53645a;font-size:.88rem;line-height:1.55}
.ob-location-card .ob-map-frame{margin-top:auto;height:230px;border:1px solid var(--ob-border);border-radius:1rem}
.ob-location-card .ob-map-link{min-height:42px;margin-top:.8rem;justify-content:center;border:1px solid rgba(185,41,47,.22);border-radius:999px;padding:.7rem 1rem;color:var(--ob-red)!important;background:#fff8f8}
main section.bg-evergreen:has(.ob-contact-form){background:linear-gradient(145deg,#eaf3ed,#f7fbf8)!important;color:var(--ob-ink)!important}
main section.bg-evergreen.ob-contact-section{background:linear-gradient(145deg,#eaf3ed,#f7fbf8)!important;color:var(--ob-ink)!important}
main section.bg-evergreen:has(.ob-contact-form)>.mx-auto>.grid{align-items:stretch;gap:1.25rem!important}
main section.bg-evergreen:has(.ob-contact-form)>.mx-auto>.grid>div{height:100%;border:1px solid var(--ob-border)!important;border-radius:1.5rem!important;background:#fff!important;padding:clamp(1.5rem,3vw,2.35rem)!important;box-shadow:0 16px 42px rgba(23,35,29,.07)}
main section.bg-evergreen:has(.ob-contact-form) .text-linen\/75,main section.bg-evergreen:has(.ob-contact-form) .text-linen\/80{color:#53645a!important}
main section.bg-evergreen:has(.ob-contact-form) .space-y-3 a,main section.bg-evergreen:has(.ob-contact-form) .space-y-3 p{min-height:48px;margin-top:.65rem!important;border:1px solid var(--ob-border);border-radius:.9rem;background:var(--ob-green-soft);padding:.78rem 1rem;color:var(--ob-green-deep)!important}
main section.bg-evergreen .space-y-3 a[href^="tel:"]{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;font-size:clamp(.78rem,2.8vw,.92rem)}
main section.bg-evergreen:has(.ob-contact-form) .ob-contact-form.is-dark{--ob-fg:#17231d;--ob-muted:#5d6d63;--ob-border:rgba(29,73,55,.18);--ob-bg:#f8fbf9;--ob-button:var(--ob-green-deep);--ob-button-text:#fff;--ob-status-bg:#eef5f0;color:var(--ob-ink)}
main section.bg-evergreen:has(.ob-contact-form) .ob-contact-form h3{color:var(--ob-green-deep)!important}
main section.bg-evergreen:has(.ob-contact-form) .ob-contact-control{background:#f8fbf9!important;color:var(--ob-ink)!important}
main section.bg-evergreen:has(.ob-contact-form) .ob-contact-control::placeholder{color:#728078!important;opacity:1}
main section.bg-evergreen:has(.ob-contact-form) .ob-contact-check{background:#f3f7f4;color:#53645a}
main section.bg-evergreen:has(.ob-contact-form) .ob-contact-submit{background:var(--ob-red);color:#fff;box-shadow:0 10px 28px rgba(185,41,47,.18)}
main section.bg-evergreen:has(.ob-contact-form) .ob-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
main section.bg-evergreen:has(.ob-contact-form) .ob-channel-link{min-height:56px;border-color:var(--ob-border);background:#f6faf7;color:var(--ob-green-deep)!important;padding:.8rem .9rem}
main section.bg-evergreen:has(.ob-contact-form) .ob-channel-link:hover{border-color:rgba(185,41,47,.34);background:#fff7f7;color:var(--ob-red)!important}
main section.bg-evergreen:has(.ob-contact-form) .ob-channel-link strong{font-weight:700}
@media(max-width:767px){main>section:not(:first-child){padding-top:4.5rem!important;padding-bottom:4.5rem!important}main article:hover,main a:has(>img):hover{transform:none;box-shadow:none}main section:has(iframe) .ob-social-track{gap:.7rem!important;margin-inline:-.15rem;padding-inline:.15rem}main section:has(iframe) .ob-social-track>article{flex-basis:calc((100% - .7rem)/2)}.ob-social-controls{margin:-1.4rem 0 1rem}.ob-social-controls button{width:40px;height:40px}}
@media(max-width:1023px){main section:has(.ob-location-card) .grid:has(>.ob-location-card){grid-template-columns:1fr!important;max-width:680px;margin-inline:auto}.ob-location-card .ob-map-frame{height:280px}}
@media(max-width:639px){.ob-location-card{padding:1.2rem!important}.ob-location-card .ob-map-frame{height:220px}main section.bg-evergreen:has(.ob-contact-form)>.mx-auto>.grid>div{padding:1.25rem!important;border-radius:1.2rem!important}main section.bg-evergreen:has(.ob-contact-form) .space-y-3 a,main section.bg-evergreen:has(.ob-contact-form) .space-y-3 p{align-items:flex-start}main section.bg-evergreen:has(.ob-contact-form) .ob-channel-grid{grid-template-columns:1fr}}
@media(max-width:767px),(hover:none),(pointer:coarse){.ob-motion-ready .ob-reveal,.ob-motion-ready .ob-reveal-item{opacity:1!important;transform:none!important;transition:none!important}main a[class*="rounded-full"]:hover,main button[class*="rounded-full"]:hover{transform:none!important;box-shadow:none!important}.ob-channel-link{transform:none!important}.ob-channel-link strong,.ob-channel-link small{white-space:nowrap}.ob-channel-link strong{min-width:0;font-size:.72rem}.ob-channel-link small{flex:0 0 auto;font-size:.72rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.ob-motion-ready .ob-reveal,.ob-motion-ready .ob-reveal-item{opacity:1!important;transform:none!important}}
