/* Schriften lokal eingebunden (kein Google-Server) */
@font-face{font-family:Jost;src:url(../fonts/jost-variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url(../fonts/lato-300.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:Lato;src:url(../fonts/lato-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url(../fonts/lato-700.woff2) format("woff2");font-weight:700;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
img{max-width:100%}
.d-burger .icon-close{display:none}
.d-burger[aria-expanded="true"] .icon-open{display:none}
.d-burger[aria-expanded="true"] .icon-close{display:block}
a:focus-visible,button:focus-visible{outline:2px solid #1E1F1E;outline-offset:3px}
body{margin:0;background:#FAFAF8}
a{color:#1E1F1E}a:hover{color:#5E5E5D}
.d-nav{display:flex}
@media (max-width:1240px){.d-nav{gap:20px !important;letter-spacing:0.1em !important}}
@media (max-width:1100px){.d-nav{display:none}}
.d-burger{display:none}
@media (max-width:1100px){.d-burger{display:inline-flex}}
@media (min-width:1101px){.d-mobilemenu{display:none}}
.d-mlink{transition:padding-left .3s,background-color .3s}
.d-mlink:hover{padding-left:12px;background-color:#F0F0ED}
@media (prefers-reduced-motion:no-preference){@keyframes dDrop{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.d-mobilemenu nav{animation:dDrop .35s cubic-bezier(.2,.7,.2,1) both}}
@media (max-width:480px){.d-logo{height:52px !important}}
@media (max-width:640px){.d-h1{font-size:72px !important}.d-h2big{font-size:48px !important}.d-cta{font-size:64px !important}.d-phone{display:none}}
.d-link{position:relative;text-decoration:none}
.d-link::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.d-link:hover::after{transform:scaleX(1)}
.d-btn{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,background-color .35s,color .35s}
.d-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.16)}
.d-btn-dark:hover{background-color:#000000 !important;color:#FFFFFF !important}
.d-btn-line:hover{background-color:#1E1F1E !important;color:#FFFFFF !important}
.d-tile{transition:background-color .35s,color .35s,transform .35s cubic-bezier(.2,.7,.2,1)}
.d-tile:hover{background-color:#1E1F1E !important;color:#FFFFFF !important;transform:translateY(-3px)}
.d-tile:hover span{color:#FFFFFF !important;transform:translateX(4px)}
.d-tile span{transition:transform .35s,color .35s}
.d-pic{overflow:hidden}
.d-pic img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.d-pic:hover img{transform:scale(1.05)}
.d-row{transition:background-color .3s}
.d-row:hover{background-color:#F0F0ED}
.d-face img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.d-face:hover img{transform:scale(1.07)}
.d-big{transition:letter-spacing .6s cubic-bezier(.2,.7,.2,1)}
.d-big:hover{letter-spacing:0.01em}
.d-voucher{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.d-vwrap:hover .d-voucher{transform:rotate(0deg) translateY(-10px) !important}
@media (prefers-reduced-motion:no-preference){
@keyframes dUp{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes dWipe{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes dKen{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes dFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
.d-in{animation:dUp 1.1s cubic-bezier(.2,.7,.2,1) both}.d-d1{animation-delay:.15s}.d-d2{animation-delay:.3s}
.d-wipe{animation:dWipe 1.5s cubic-bezier(.7,0,.2,1) .35s both}
.d-ken{animation:dKen 3.2s cubic-bezier(.2,.7,.2,1) .35s both}
.d-float{animation:dFloat 6s ease-in-out infinite}
@supports (animation-timeline: view()){
.d-reveal{animation:dUp linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
.d-wipe-scroll{animation:dWipe linear both;animation-timeline:view();animation-range:entry 0% cover 35%}
}
@supports (animation-timeline: scroll()){
@keyframes dShrink{to{height:52px}}
.d-logo{animation:dShrink linear both;animation-timeline:scroll();animation-range:0 220px}
}
}
