/* Senélle Aesthetics – gemeinsames Stylesheet aller Seiten.
   Layout, Farben und Typografie stehen wie im Entwurf direkt an den Elementen (style="…");
   hier liegen Hover, Fokus, Animationen und Breakpoints. Farbwerte = Designsystem-Tokens. */
body{margin:0;background:#2b231e;-webkit-font-smoothing:antialiased}
a{color:#6e5948}a:hover{color:#2b231e}
.sn-btn,.sn-btn-outline,.sn-btn-light,.sn-btn-ghost{transition:background-color .3s ease,color .3s ease,border-color .3s ease}
.sn-btn:hover{background:#6e5948 !important;border-color:#6e5948 !important;color:#fbf8f3 !important}
.sn-btn-outline:hover{background:#1f1a16 !important;border-color:#1f1a16 !important;color:#fbf8f3 !important}
.sn-btn-light:hover{background:#e8ddcf !important;border-color:#e8ddcf !important;color:#1f1a16 !important}
.sn-btn-ghost:hover{background:#fbf8f3 !important;border-color:#fbf8f3 !important;color:#1f1a16 !important}
.sn-link{transition:color .3s ease,border-color .3s ease}
.sn-link:hover{color:#6e5948 !important;border-color:#6e5948 !important}
.sn-link svg{transition:transform .3s ease}
.sn-link:hover svg{transform:translateX(4px)}
.sn-nav a{transition:color .3s ease}
.sn-nav a:hover{color:#6e5948 !important}
.sn-foot a:hover{color:#fbf8f3 !important}
.sn-faq{transition:color .3s ease}
.sn-faq:hover{color:#6e5948 !important}
.sn-card .sn-img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.sn-card:hover .sn-img{transform:scale(1.05)}
.sn-map .sn-map-img{transition:transform 1.2s cubic-bezier(.22,.61,.36,1)}
.sn-map:hover .sn-map-img{transform:scale(1.04)}
a:focus-visible,button:focus-visible{outline:2px solid #6e5948;outline-offset:3px}
@keyframes snUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes snZoom{from{transform:scale(1.1)}to{transform:scale(1)}}
@keyframes snFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes snMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes snReveal{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes snWipe{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes snPinDrop{from{opacity:0;transform:translateY(-36px)}to{opacity:1;transform:none}}
@keyframes snPulse{0%{box-shadow:0 0 0 0 rgba(110,89,72,.5)}100%{box-shadow:0 0 0 20px rgba(110,89,72,0)}}
@media (prefers-reduced-motion:no-preference){
.sn-in{animation:snUp 1s cubic-bezier(.2,.7,.2,1) both}
.sn-d1{animation-delay:.1s}.sn-d2{animation-delay:.22s}.sn-d3{animation-delay:.34s}.sn-d4{animation-delay:.46s}.sn-d5{animation-delay:.6s}
.sn-zoom{animation:snZoom 2.6s cubic-bezier(.2,.7,.2,1) both}
.sn-float{animation:snUp 1s cubic-bezier(.2,.7,.2,1) .7s both,snFloat 7s ease-in-out 1.8s 3}
.sn-marquee{animation:snMarquee 50s linear 3}
.sn-map-pulse{animation:snPulse 2.4s ease-out 5}
@supports (animation-timeline:view()){
.sn-map{view-timeline:--snmap block}
.sn-map-pin{animation:snPinDrop linear both;animation-timeline:--snmap;animation-range:entry 50% entry 100%}
.sn-reveal,.sn-reveal-2,.sn-reveal-3,.sn-reveal-4{animation:snReveal linear both;animation-timeline:view()}
.sn-reveal{animation-range:entry 0% entry 45%}
.sn-reveal-2{animation-range:entry 10% entry 55%}
.sn-reveal-3{animation-range:entry 20% entry 65%}
.sn-reveal-4{animation-range:entry 30% entry 75%}
.sn-wipe{animation:snWipe linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
}
}
@media (max-width:1140px){.sn-desk{display:none !important}}
@media (min-width:1141px){.sn-mob{display:none !important}}
.sn-foot a:focus-visible{outline-color:#e8ddcf}
.sn-link{position:relative}
.sn-link::after{content:"";position:absolute;left:-6px;right:-6px;top:50%;height:44px;transform:translateY(-50%)}
.sn-top a,.sn-hit{display:inline-block;padding:12px 0;margin:-12px 0}
.sn-foot a{display:inline-block;align-self:flex-start;padding:5px 0;margin:-5px 0}
.sn-marquee-wrap:hover .sn-marquee{animation-play-state:paused}
@media (min-width:768px){.sn-3col{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media (max-width:951px){.sn-hero-img{margin-right:auto !important}}
/* --- Website-Ergänzungen (im Canvas nicht nötig) --- */
/* FAQ: geöffnete Frage – Plus dreht zum Kreuz */
.sn-faq[aria-expanded="true"] svg{transform:rotate(45deg)}
/* Mobilmenü als Vollbild-Ebene */
.sn-menu{position:fixed;inset:0;z-index:100;overflow-y:auto;overscroll-behavior:contain;background:#fbf8f3}
.sn-menu[hidden]{display:none}
html.sn-menu-open{overflow:hidden}
@media (min-width:1141px){.sn-menu{display:none !important}}
[id]{scroll-margin-top:0}
