:root{
  --apricot:#F2C99A; --apricot-light:#FAE8CC; --apricot-pale:#FDF5EC;
  --ink:#1A1410; --ink-mid:#3D2E22; --ink-light:#7A6555;
  --cream:#FAF6F0; --cream-dark:#F0E8DA; --white:#FFFFFF;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Josefin Sans',sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden;}
img{display:block;width:100%;height:100%;object-fit:cover;}

.logo{display:inline-flex;align-items:baseline;line-height:1;}
.logo-fest{font-family:'Josefin Sans',sans-serif;font-weight:300;letter-spacing:0.08em;text-transform:uppercase;}
.logo-mahl{font-family:'Satisfy',cursive;letter-spacing:-0.01em;}

nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 3rem;background:rgba(250,246,240,0.93);backdrop-filter:blur(14px);border-bottom:0.5px solid rgba(26,20,16,0.08);}
.nav-logo .logo-fest{font-size:1.05rem;}
.nav-logo .logo-mahl{font-size:1.3rem;}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-links a{font-weight:200;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;color:var(--ink-light);transition:color .25s;}
.nav-links a:hover{color:var(--ink);}

/* HERO */
#hero{height:100vh;min-height:640px;position:relative;overflow:hidden;}
.hero-img{position:absolute;inset:0;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(26,20,16,0.72) 38%,rgba(26,20,16,0.15) 100%);}
.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:5rem;max-width:680px;}
.hero-eyebrow{font-weight:100;font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--apricot);margin-bottom:1.5rem;}
.hero-logo-xl{margin-bottom:2rem;}
.hero-logo-xl .logo-fest{font-size:clamp(4rem,8vw,7rem);color:var(--cream);display:block;line-height:0.88;}
.hero-logo-xl .logo-mahl{font-size:clamp(4.4rem,8.8vw,7.7rem);color:var(--apricot);display:block;line-height:1;}
.hero-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:1.2rem;color:rgba(250,246,240,0.8);line-height:1.6;margin-bottom:3rem;}
.hero-cta{display:inline-block;font-weight:200;font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;text-decoration:none;color:var(--ink);background:var(--apricot);padding:0.95rem 2.2rem;border-radius:1px;transition:background .25s;}
.hero-cta:hover{background:var(--apricot-light);}
.hero-scroll{position:absolute;bottom:2.5rem;right:3.5rem;z-index:2;display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:rgba(250,246,240,0.35);font-size:0.57rem;letter-spacing:0.2em;text-transform:uppercase;}
.scroll-bar{width:0.5px;height:44px;background:rgba(250,246,240,0.3);animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:.2}50%{opacity:1}}

/* STRIP */
#strip{display:grid;grid-template-columns:1fr 1fr 1fr;height:340px;}
.strip-cell{position:relative;overflow:hidden;}
.strip-cell img{transition:transform .5s ease;}
.strip-cell:hover img{transform:scale(1.04);}
.strip-label{position:absolute;bottom:1.4rem;left:1.4rem;font-weight:200;font-size:0.56rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(250,246,240,0.9);background:rgba(26,20,16,0.38);padding:0.3rem 0.7rem;border-radius:1px;backdrop-filter:blur(4px);z-index:1;}

/* ABOUT */
#about{background:var(--white);padding:0;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;}
.about-img-col{position:relative;}
.about-main-img{height:580px;overflow:hidden;}
.about-accent{position:absolute;bottom:-2.5rem;right:-2.5rem;width:240px;height:185px;overflow:hidden;border:5px solid var(--white);box-shadow:0 6px 36px rgba(26,20,16,0.15);z-index:2;}
.about-text-col{display:flex;flex-direction:column;justify-content:center;padding:5rem;}
.about-h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2rem,3.2vw,3rem);line-height:1.15;margin-bottom:2rem;}
.about-text-col p{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.08rem;line-height:1.85;color:var(--ink-mid);margin-bottom:1.2rem;}
.about-text-col p.lead{font-size:1.28rem;font-style:italic;color:var(--ink);}

/* LEISTUNGEN */
#leistungen{background:var(--cream);padding:7rem 0;}
.leistungen-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;}
.l-card{position:relative;overflow:hidden;border-radius:2px;}
.l-card-img{height:440px;overflow:hidden;}
.l-card-img img{transition:transform .5s ease;}
.l-card:hover .l-card-img img{transform:scale(1.04);}
.l-card-body{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,20,16,0.88) 35%,rgba(26,20,16,0.05) 70%);display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;}
.l-num{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:2.5rem;color:var(--apricot);line-height:1;margin-bottom:0.7rem;}
.l-title{font-weight:300;font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--cream);margin-bottom:0.5rem;}
.l-text{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:0.95rem;line-height:1.65;color:rgba(250,246,240,0.75);}

/* QUOTE */
#quote-break{position:relative;height:480px;overflow:hidden;}
.qb-img{position:absolute;inset:0;}
.qb-overlay{position:absolute;inset:0;background:rgba(26,20,16,0.55);display:flex;align-items:center;justify-content:center;text-align:center;padding:3rem;}
.qb-q{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(1.8rem,3.5vw,3rem);color:var(--cream);line-height:1.4;max-width:20ch;}
.qb-q::before{content:'\201E';color:var(--apricot);}
.qb-q::after{content:'\201C';color:var(--apricot);}
.qb-attr{font-weight:100;font-size:0.6rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--apricot);margin-top:1.5rem;}

/* PORTFOLIO */
#portfolio{background:var(--ink);padding:7rem 0;}
#portfolio .section-label{color:var(--apricot);}
#portfolio .section-title{color:var(--cream);}
.portfolio-showcase{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:340px 340px;gap:6px;margin-top:3rem;}
.ps-item{position:relative;overflow:hidden;cursor:pointer;}
.ps-item img{transition:transform .5s ease;object-fit:cover;width:100%;height:100%;}
.ps-item:hover img{transform:scale(1.04);}
.ps-item.wide{grid-column:1/3;}
.ps-overlay{position:absolute;inset:0;background:rgba(26,20,16,0);transition:background .35s;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;}
.ps-item:hover .ps-overlay{background:rgba(26,20,16,0.62);}
.ps-meta{opacity:0;transform:translateY(5px);transition:all .35s;}
.ps-item:hover .ps-meta{opacity:1;transform:translateY(0);}
.ps-cat{font-weight:100;font-size:0.56rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--apricot);margin-bottom:0.25rem;}
.ps-name{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1rem;color:var(--cream);}

/* FOOD DETAIL GRID */
#foodgrid{background:var(--cream-dark);padding:7rem 0;}
.food-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:240px 240px;gap:8px;margin-top:3rem;}
.fg-item{overflow:hidden;position:relative;}
.fg-item img{transition:transform .5s ease;}
.fg-item:hover img{transform:scale(1.06);}
.fg-wide{grid-column:1/3;}
.fg-tall{grid-row:1/3;}
.fg-label{position:absolute;bottom:1rem;left:1rem;font-weight:200;font-size:0.56rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(250,246,240,0.85);background:rgba(26,20,16,0.35);padding:0.25rem 0.55rem;border-radius:1px;}

/* PROZESS */
#prozess{background:var(--white);padding:0;}
.prozess-wrap{display:grid;grid-template-columns:1fr 1fr;}
.prozess-img{overflow:hidden;}
.prozess-img img{height:100%;min-height:520px;object-fit:cover;}
.prozess-text{padding:5rem;display:flex;flex-direction:column;justify-content:center;}
.pstep{display:flex;gap:2rem;margin-bottom:2.2rem;padding-bottom:2.2rem;border-bottom:0.5px solid rgba(26,20,16,0.08);}
.pstep:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.ps-n{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:2rem;color:var(--apricot);line-height:1;flex-shrink:0;width:2rem;}
.ps-t{font-weight:300;font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.4rem;}
.ps-p{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1rem;line-height:1.7;color:var(--ink-mid);}

/* KONTAKT */
#kontakt{background:var(--ink);color:var(--cream);padding:0;}
.kontakt-wrap{display:grid;grid-template-columns:1fr 1fr;}
.kontakt-img{overflow:hidden;}
.kontakt-img img{height:100%;min-height:500px;object-fit:cover;}
.kontakt-text{padding:5rem;display:flex;flex-direction:column;justify-content:center;}
.k-h{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2rem,3.2vw,3rem);line-height:1.15;margin-bottom:1.5rem;}
.k-h em{font-style:italic;color:var(--apricot);}
.k-p{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.05rem;line-height:1.8;color:rgba(250,246,240,0.62);margin-bottom:2.5rem;}
.cta-btn{display:inline-block;font-weight:200;font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;text-decoration:none;color:var(--ink);background:var(--apricot);padding:0.95rem 2.2rem;border-radius:1px;transition:background .25s;}
.cta-btn:hover{background:var(--apricot-light);}
.k-details{margin-top:2.5rem;}
.kd{padding:1.1rem 0;border-bottom:0.5px solid rgba(250,246,240,0.1);}
.kd:first-child{border-top:0.5px solid rgba(250,246,240,0.1);}
.kd-l{font-weight:100;font-size:0.56rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--apricot);margin-bottom:0.3rem;}
.kd-v{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:0.98rem;color:var(--cream);}

/* FOOTER */
footer{background:var(--ink);border-top:0.5px solid rgba(250,246,240,0.07);padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;}
.footer-logo .logo-fest{font-size:0.85rem;color:var(--cream);}
.footer-logo .logo-mahl{font-size:1rem;color:var(--apricot);}
.footer-links{display:flex;gap:2rem;list-style:none;}
.footer-links a{font-weight:100;font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(250,246,240,0.28);text-decoration:none;transition:color .25s;}
.footer-links a:hover{color:rgba(250,246,240,0.7);}
.footer-copy{font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(250,246,240,0.18);font-weight:100;}

/* UTILS */
.container{max-width:1240px;margin:0 auto;padding:0 3.5rem;}
.section-label{font-weight:100;font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--ink-light);margin-bottom:0.8rem;}
.section-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.2rem,3.5vw,3.5rem);line-height:1.1;margin-bottom:1.5rem;}
.fade-up{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}

/* LEGAL PAGES */
.legal-hero{background:var(--ink);padding:10rem 0 5rem;}
.legal-hero .section-label{color:var(--apricot);}
.legal-hero h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.5rem,4vw,4rem);color:var(--cream);line-height:1.1;}
.legal-body{padding:5rem 0 7rem;background:var(--cream);}
.legal-body h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.6rem;color:var(--ink);margin:2.5rem 0 1rem;line-height:1.2;}
.legal-body h3{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.15rem;color:var(--ink);margin:1.8rem 0 0.6rem;}
.legal-body h4{font-weight:300;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-light);margin:1.5rem 0 0.5rem;}
.legal-body p{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.02rem;line-height:1.85;color:var(--ink-mid);margin-bottom:1rem;}
.legal-body p:first-of-type{margin-top:0;}
.legal-body a{color:var(--ink);text-underline-offset:3px;}
.legal-body a:hover{color:var(--apricot);}
.legal-body ul{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.02rem;line-height:1.85;color:var(--ink-mid);margin:0.5rem 0 1rem 1.5rem;}
.legal-divider{border:none;border-top:0.5px solid rgba(26,20,16,0.1);margin:2.5rem 0;}
.legal-address{font-family:'Cormorant Garamond',serif;font-style:normal;font-weight:300;font-size:1.02rem;line-height:1.85;color:var(--ink-mid);}
