@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap");:root{--cream:#f5f0e8;--warm-white:#faf8f4;--charcoal:#1e1a17;--mid:#5a4f45;--accent:#8b6e52;--gold:#c4a26b;--line:rgba(139,110,82,0.25)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--warm-white);color:var(--charcoal);font-family:DM Sans,sans-serif;font-weight:300;font-size:16px;line-height:1.7;overflow-x:hidden}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 4rem;background:rgba(250,248,244,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-logo{font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--charcoal);text-decoration:none}.nav-logo span{color:var(--gold)}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);text-decoration:none;transition:color .25s}.nav-links a:hover{color:var(--charcoal)}#hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding-top:5rem}.hero-left{display:flex;flex-direction:column;justify-content:center;padding:6rem 4rem 6rem 6rem;position:relative}.hero-eyebrow{font-size:.85rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s .2s forwards}.hero-title{font-family:Cormorant Garamond,serif;font-size:clamp(3rem,5vw,5.5rem);font-weight:300;line-height:1.1;color:var(--charcoal);opacity:0;animation:fadeUp .8s .4s forwards}.hero-title em{font-style:italic;color:var(--accent)}.hero-sub{margin-top:2rem;font-size:1rem;color:var(--mid);max-width:38ch;opacity:0;animation:fadeUp .8s .6s forwards}.hero-cta{margin-top:3rem;display:flex;gap:1.5rem;opacity:0;animation:fadeUp .8s .8s forwards}.btn-primary{display:inline-block;padding:.85rem 2.2rem;background:var(--charcoal);color:var(--warm-white);text-decoration:none;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;transition:background .3s,transform .2s}.btn-primary:hover{background:var(--accent);transform:translateY(-2px)}.btn-outline{display:inline-block;padding:.85rem 2.2rem;border:1px solid var(--charcoal);color:var(--charcoal);text-decoration:none;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;transition:background .3s,color .3s}.btn-outline:hover{background:var(--charcoal);color:var(--warm-white)}.hero-right{background:var(--cream);position:relative;overflow:hidden;opacity:0;animation:fadeIn 1.2s .3s forwards}.hero-right:before{display:none}section{padding:6rem}.section-label{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}.section-title{font-family:Cormorant Garamond,serif;font-size:clamp(2.2rem,3.5vw,3.5rem);font-weight:300;line-height:1.2;color:var(--charcoal)}.section-title em{font-style:italic;color:var(--accent)}.divider{width:48px;height:1px;background:var(--gold);margin:2rem 0}#om-os{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.om-os-text p{color:var(--mid);margin-bottom:1.2rem;max-width:50ch}.om-os-image{display:flex;justify-content:center;align-items:center;padding:2rem 0}.om-os-image img{filter:drop-shadow(0 12px 40px rgba(90,60,30,.18));transition:transform .6s ease,filter .6s ease}.om-os-image img:hover{transform:translateY(-6px) scale(1.01);filter:drop-shadow(0 20px 56px rgba(90,60,30,.24))}#kontakt{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.kontakt-info p{color:var(--mid);margin-bottom:.6rem}.kontakt-info a{color:var(--accent);text-decoration:none}.kontakt-info a:hover{text-decoration:underline}.kontakt-detail{margin-top:1.2rem}.kontakt-detail strong{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}.opening-hours{width:auto;border-collapse:collapse;margin-top:.2rem}.opening-hours tr{border-bottom:1px solid var(--line)}.opening-hours tr:last-child{border-bottom:none}.opening-hours td{padding:.45rem 0;font-size:.85rem;color:var(--mid)}.opening-hours td:last-child{text-align:left;font-variant-numeric:tabular-nums;color:var(--charcoal);padding-left:6rem}.hours-wrapper{margin-top:1.2rem;display:flex;gap:3rem;align-items:flex-start}.hours-label{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}.kontakt-right{display:flex;flex-direction:column;gap:1.5rem}.kontakt-illustration{width:100%;display:flex;align-items:center;justify-content:center}.kontakt-illustration img{width:80%;height:auto;display:block}.map-link{display:inline-block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px;transition:color .2s}.map-link:hover{color:var(--charcoal)}footer{padding:2.5rem 6rem;background:var(--charcoal);color:rgba(245,240,232,.4);display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.1em}footer a{color:var(--gold);text-decoration:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes threadPulse{0%,to{opacity:.4;height:160px}50%{opacity:1;height:220px}}@keyframes spinSlow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}.opening-hours td{white-space:nowrap}@media (max-width:1100px){.btn-outline,.btn-primary{white-space:nowrap;padding:.85rem 1.4rem;font-size:.7rem}.opening-hours td:last-child{padding-left:2rem}#kontakt{gap:3rem}}@media (max-width:768px){nav{padding:1.2rem 1.5rem}.nav-links{display:none}#hero{grid-template-columns:1fr}.hero-right{display:none}.hero-left{padding:5rem 1.5rem 3rem}.hero-title{font-size:clamp(2.2rem,10vw,3.5rem)}.hero-cta{flex-direction:column;gap:1rem}.btn-outline,.btn-primary{text-align:center;width:100%;white-space:nowrap}section{padding:3.5rem 1.5rem}#om-os{grid-template-columns:1fr;gap:2.5rem}.om-os-text p{max-width:100%}#kontakt{grid-template-columns:1fr;gap:2rem}.hours-wrapper{flex-direction:column;gap:2rem}.opening-hours td:last-child{padding-left:2rem}.kontakt-illustration img{width:85%}footer{flex-direction:column;gap:.75rem;text-align:center;padding:2rem 1.5rem}}