*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-weight:var(--body-weight);font-size:var(--f-p);line-height:var(--lh-normal);color:var(--text-body);background-color:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--c-accent);color:var(--c-white)}:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}a:not(.btn):not(.hero-btn):not(.btn-tour):not(.nav-link):not(.footer-list a):not(.catering-cta__contact-item){color:var(--c-text);text-decoration:underline;text-underline-offset:3px}a:not(.btn):not(.hero-btn):not(.btn-tour):not(.nav-link):not(.footer-list a):not(.catering-cta__contact-item):hover{color:var(--c-accent)}p,ul,ol{font-size:var(--f-p);margin-bottom:var(--s4);max-width:65ch}.container--narrow{max-width:55ch;width:100%}.auto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));row-gap:var(--s20);column-gap:var(--s8);align-items:stretch}.modular-section{scroll-margin-top:var(--header-height)}.section{position:relative;z-index:1}footer{background-color:var(--c-text);color:var(--c-white);padding:var(--s12) 0 var(--s8);margin-top:0}.footer-title{color:var(--c-accent);font-size:1rem;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.footer-list{list-style:none;padding:0;margin:0}.footer-list li{margin-bottom:.4rem;color:rgba(250,250,243,.7)}.footer-list a{color:rgba(250,250,243,.7);text-decoration:none;transition:color var(--dur-base) var(--ease-out)}.footer-list a:hover{color:var(--c-white)}.text-center{text-align:center}.intro-area{padding:var(--s12) 0;background-color:var(--c-bg)}.intro-card{background:var(--c-white);padding:var(--s12);box-shadow:var(--stamp-shadow);max-width:900px;margin:0 auto;text-align:center;position:relative;z-index:1}.intro-card__kicker{display:block;font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--c-accent);margin-bottom:1rem;font-size:.9rem}.intro-card__title{margin-top:0;font-size:var(--f-h2);color:var(--c-text);line-height:1.1}.intro-card__content{margin:var(--s8) auto 0;max-width:65ch;font-size:var(--f-p);color:var(--c-text);text-align:left}.intro-card .btn{margin-top:var(--s8)}.card{padding:var(--s8);background:var(--surface-raised);background-image:var(--paper-texture);border:var(--bw-stamp) solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--stamp-shadow);transition:transform var(--dur-base) var(--ease-stamp),box-shadow var(--dur-base) var(--ease-stamp)}@media (hover:hover){.card:hover{transform:translate(-3px,-3px);box-shadow:var(--stamp-shadow-lg)}}.card .card-title,.card h2,.card h3{margin-top:0;margin-bottom:var(--s4);font-family:var(--font-display);font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.4rem;background-color:var(--accent);color:var(--text-on-accent) !important;font-family:var(--font-body);font-weight:var(--body-weight-bold);font-size:var(--f-overline);text-transform:uppercase;letter-spacing:var(--ls-overline);text-decoration:none;border:var(--bw-stamp) solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--stamp-shadow);margin-top:var(--s8);cursor:pointer;position:relative;transition:transform var(--dur-fast) var(--ease-stamp),box-shadow var(--dur-fast) var(--ease-stamp),background-color var(--dur-fast) var(--ease-stamp)}.btn:before{content:"";position:absolute;inset:0;border:2px solid rgba(42,39,32,.1);transform:translate(4px,4px);z-index:-1;transition:transform .3s ease}.btn:hover{background-color:var(--accent-hover);transform:translate(-2px,-2px);box-shadow:var(--stamp-shadow-lg)}.btn:active{transform:var(--press-translate);box-shadow:var(--stamp-shadow-sm)}.btn:hover:before{transform:translate(2px,2px)}.cta-group{margin-top:var(--s12);display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4)}.badge--accent{background:var(--c-accent);color:#fff;padding:6px 16px;font-size:.7rem;text-transform:uppercase;font-weight:800;letter-spacing:.1em;display:inline-block;margin-bottom:1.5rem;transform:rotate(-2deg)}.contact-grid{display:flex;flex-wrap:wrap;gap:var(--s12);margin-top:2rem}.contact-form-area{flex:2 1 350px}.contact-sidebar{flex:1 1 300px}#catering-request input,#catering-request select,#catering-request textarea{width:100%;padding:1rem;border:2px solid rgba(42,39,32,.15);background:var(--c-white);background-image:var(--paper-texture);font-family:inherit;font-size:1rem;margin-bottom:1.25rem;transition:border-color var(--dur-base) var(--ease-out)}#catering-request input:focus,#catering-request textarea:focus{border-color:var(--c-accent);outline:none;box-shadow:var(--raw-shadow)}.contact-list{list-style:none;margin:1.5rem 0}.contact-list li{display:flex;align-items:center;gap:12px;margin-bottom:1rem}.contact-list svg{color:var(--c-accent)}.section--thanks{padding:var(--s12) 1.5rem;min-height:60vh}.btn--large{display:inline-block;padding:1.4rem 3rem;background:var(--c-text);color:#fff !important;text-decoration:none;border:2px solid var(--c-text);box-shadow:var(--raw-shadow);font-weight:700;text-transform:uppercase;letter-spacing:.08em}footer{background-color:var(--c-text);color:var(--c-white);padding:var(--s12) 0 var(--s8);margin-top:0}.footer-text{color:var(--c-white);opacity:.7}.footer-grid{display:flex;flex-wrap:wrap;gap:var(--s8)}.footer-col{flex:1 1 220px}.footer-title{color:var(--c-accent);font-size:1rem;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.footer-list{list-style:none;padding:0;margin:0}.footer-list li{margin-bottom:var(--s2);color:rgba(250,250,243,.7)}.footer-list a{color:rgba(250,250,243,.7);text-decoration:none;transition:color var(--dur-base) var(--ease-out)}.footer-list a:hover{color:var(--c-accent);color:var(--c-accent)}.footer-bottom p{color:rgba(255,255,255,.5);font-size:.85rem;margin-bottom:0;text-transform:uppercase;letter-spacing:.05em}.footer-bottom{border-top:var(--rough-border);padding-top:var(--s8);margin-top:var(--s12);padding-bottom:var(--s4)}.section{padding-block:var(--s12)}.hero-module{position:relative;margin:0;padding:0;min-height:100vh;width:100%}.hero-module__mobile-image{display:block;width:100%;height:100%;object-fit:cover;z-index:1}.hero-module__video{display:none}@media (min-width:900px){.hero-module__mobile-image{display:none}.hero-module__video{display:block;width:100%;height:100%;object-fit:cover}}.hero-module__text{position:sticky;top:var(--header-height);z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--s4);height:calc(100vh - var(--header-height));pointer-events:none;color:#fcfcf9;width:100%;max-width:100%;left:0;right:0}.hero-module .container{margin-inline:auto;padding:0 var(--s4)}.hero-module__visual-container{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.hero-module__visual{position:relative;height:calc(100vh - var(--header-height));width:100%;overflow:hidden;background:var(--c-bg-dark);z-index:1;display:flex;align-items:center;justify-content:center}.hero-module__visual:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.55) 50%,rgba(0,0,0,.75) 100%);z-index:2;pointer-events:none}.hero-module__visual canvas{display:block;width:100%;height:100%;object-fit:cover}.hero-module__video{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:100%;min-height:100%;width:auto;height:auto;object-fit:cover;display:block;z-index:0}.hero-module__content{pointer-events:auto;max-width:900px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;padding:var(--s8)}.hero-module__headline{font-family:var(--font-display);color:var(--c-white);font-size:clamp(2.5rem,6vw + 1rem,5rem);font-weight:800;line-height:.95;margin-bottom:clamp(1rem,4vw,2.5rem);hyphens:none;letter-spacing:-.03em}.hero-module__lead{font-size:clamp(1.1rem,2vw,1.6rem);line-height:1.6;max-width:70ch;margin-inline:auto;margin-bottom:2.5rem;opacity:1;color:var(--c-white)}.hero-module__info{font-size:.85rem;color:rgba(250,250,243,.6);margin-top:1.5rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.hero-btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2rem;background-color:var(--accent);color:var(--text-on-accent);text-decoration:none;font-family:var(--font-body);font-weight:var(--body-weight-bold);text-transform:uppercase;letter-spacing:var(--ls-overline);border:var(--bw-stamp) solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--stamp-shadow);transition:transform var(--dur-fast) var(--ease-stamp),box-shadow var(--dur-fast) var(--ease-stamp),background-color var(--dur-fast) var(--ease-stamp);position:relative;overflow:hidden;margin-bottom:2rem}.hero-btn:before{content:"";position:absolute;inset:0;background:var(--c-accent);transform:scaleX(0);transform-origin:right;transition:transform .3s ease;z-index:-1}.hero-btn:hover{background-color:var(--accent-hover);transform:translate(-2px,-2px);box-shadow:var(--stamp-shadow-lg)}.hero-btn:active{transform:var(--press-translate);box-shadow:var(--stamp-shadow-sm)}.hero-btn:hover:before{transform:scaleX(1);transform-origin:left}.hero-badge{display:inline-block;background:var(--c-accent);color:#fff;padding:.5rem 1.2rem;font-size:.75rem;text-transform:uppercase;font-weight:800;letter-spacing:.1em;transform:rotate(-2deg)}.tour-poster{background:var(--c-bg);padding:var(--s12) 0;position:relative;overflow:hidden}.tour-poster:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><defs><pattern id="grunge" patternUnits="userSpaceOnUse" width="100" height="100"><path d="M0 50 Q25 25 50 50 T100 50 M50 0 Q75 25 50 50 T50 100" stroke="%23000" stroke-width="0.5" fill="none" opacity="0.05"/></pattern></defs><rect width="100" height="100" fill="url(%23grunge)"/></svg>');opacity:.3;z-index:1;pointer-events:none}.poster-container{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 var(--s8)}.poster-header{text-align:center;margin-bottom:var(--s12);position:relative}.poster-header h2{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,5rem);font-weight:900;color:var(--c-accent);text-transform:uppercase;letter-spacing:.05em;margin:0;text-shadow:2px 2px 0px rgba(0,0,0,.2)}.poster-header .poster-subtitle{font-family:var(--font-display);font-size:clamp(1.2rem,3vw,2rem);color:var(--c-text);text-transform:uppercase;letter-spacing:.1em;margin:var(--s4) 0 0;font-weight:700}.poster-tour-list{max-width:800px;margin:0 auto var(--s12)}.poster-tour-stop{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--s8);padding-bottom:var(--s8);position:relative}.poster-date{font-family:var(--font-display);font-size:clamp(2rem,6vw,3.5rem);font-weight:900;color:var(--c-accent);text-align:center;margin:var(--s4) 0;text-transform:uppercase;letter-spacing:.05em;border-bottom:3px solid var(--c-accent);padding-bottom:var(--s4);width:100%}.poster-location h3{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.5rem);color:var(--c-text);text-align:center;margin:var(--s4) 0 0;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.poster-time{font-family:var(--font-display);font-size:clamp(1rem,2.5vw,1.5rem);color:var(--text-muted);text-align:center;margin:var(--s2) 0 var(--s4);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.poster-venue{font-size:1rem;color:var(--text-muted);text-align:center;margin:var(--s2) 0;text-transform:uppercase;letter-spacing:.05em}.poster-divider{width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--c-accent),transparent);margin:var(--s8) 0;opacity:.5}.poster-action{text-align:center;margin-top:var(--s8)}.btn-tour{display:inline-block;padding:var(--s4) var(--s8);background:var(--accent);color:var(--text-on-accent);text-decoration:none;font-family:var(--font-body);font-weight:var(--body-weight-bold);text-transform:uppercase;letter-spacing:var(--ls-overline);border:var(--bw-stamp) solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--stamp-shadow);transition:transform var(--dur-fast) var(--ease-stamp),box-shadow var(--dur-fast) var(--ease-stamp),background-color var(--dur-fast) var(--ease-stamp);position:relative}.btn-tour:hover{background:var(--accent-hover);transform:translate(-2px,-2px);box-shadow:var(--stamp-shadow-lg)}.btn-tour:active{transform:var(--press-translate);box-shadow:var(--stamp-shadow-sm)}.btn-tour:before{content:"";position:absolute;inset:0;border:var(--bw-stamp) solid rgba(42,39,32,.1);transform:translate(4px,4px);z-index:-1;transition:transform var(--dur-fast) var(--ease-stamp);border-radius:var(--radius-sm)}.btn-tour:hover:before{transform:translate(2px,2px)}.section-faq h2{font-size:var(--f-h2);margin-bottom:var(--s12)}.faq-item{background:var(--surface-raised);background-image:var(--paper-texture);margin-top:var(--s4);overflow:hidden;box-shadow:var(--stamp-shadow);border-radius:var(--radius-md);border:var(--bw-stamp) solid var(--border-strong);padding:var(--s8) var(--s6);max-width:700px;gap:var(--s4);margin-left:auto;margin-right:auto;transition:transform var(--dur-base) var(--ease-stamp),box-shadow var(--dur-base) var(--ease-stamp)}@media (hover:hover){.faq-item:hover{transform:translate(-2px,-2px);box-shadow:var(--stamp-shadow-lg)}}.faq-item summary{display:flex;justify-content:space-between;align-items:center;padding:var(--s6);cursor:pointer;font-family:var(--font-display);font-weight:700;list-style:none;font-size:1.2rem}.faq-item summary::-webkit-details-marker,.faq-item summary::marker{display:none}.faq-icon{margin-right:7px;width:7px;height:7px;border-right:2px solid var(--c-text);border-bottom:2px solid var(--c-text);transform:rotate(45deg);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.faq-item[open] .faq-icon{transform:rotate(-135deg)}.faq-animation-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-slow) var(--ease-stamp);overflow:hidden}details[open] .faq-animation-wrapper{grid-template-rows:1fr}.faq-content{min-height:0;padding-inline:var(--s6);padding-bottom:var(--s8)}.faq-answer{opacity:0;transform:translateY(-10px);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}details[open] .faq-answer{opacity:1;transform:translateY(0)}.faq-answer,.menu-card{will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.brand-intro{padding-block:var(--s12);background-image:var(--paper-texture)}.intro-header{margin-bottom:clamp(0rem,5vw,6rem);display:flex;flex-wrap:wrap;align-items:baseline;gap:clamp(1rem,5vw,4rem);padding-bottom:var(--s8);position:relative;z-index:1}.intro-header h2{flex:1 1 320px;margin:0;font-size:clamp(1.8rem,8vw,3.5rem);letter-spacing:-.03em;line-height:1}.speech-bubble{display:inline-block;position:relative;background:var(--c-white);border:3px solid var(--c-text);padding:.35em .7em .4em;box-shadow:7px 7px 0 var(--c-text);transform:rotate(-2deg);transform-origin:left center;margin-bottom:clamp(20px,3vw,32px);line-height:1.1}.speech-bubble:before{content:'';position:absolute;bottom:-30px;left:28px;width:0;height:0;border-right:20px solid transparent;border-top:30px solid var(--c-text)}.speech-bubble:after{content:'';position:absolute;bottom:-22px;left:31px;width:0;height:0;border-right:15px solid transparent;border-top:22px solid var(--c-white);z-index:1}.speech-bubble--right{transform:rotate(1.5deg);transform-origin:right center}.speech-bubble--right:before{left:auto;right:28px;border-right:none;border-left:20px solid transparent;border-top:30px solid var(--c-text)}.speech-bubble--right:after{left:auto;right:31px;border-right:none;border-left:15px solid transparent;border-top:22px solid var(--c-white)}.intro-header p.lead{flex:1 1 400px;margin:0;font-size:clamp(1.1rem,1.5vw,1.4rem);line-height:1.65;color:var(--text-muted);max-width:65ch}.features-grid{display:grid;grid-template-columns:1fr;gap:var(--s12);align-items:start}@media (min-width:1024px){.features-grid{grid-template-columns:repeat(3,1fr)}}.feature-card{background:var(--surface-raised);background-image:var(--paper-texture);border:var(--bw-stamp) solid var(--border-strong);border-radius:var(--radius-md);padding:var(--s2);box-shadow:var(--stamp-shadow);transition:transform var(--dur-base) var(--ease-stamp),box-shadow var(--dur-base) var(--ease-stamp);height:100%}@media (hover:hover){.feature-card:hover{transform:translate(-3px,-3px);box-shadow:var(--stamp-shadow-lg)}}.feature-icon{display:flex;padding-top:var(--s4);padding-left:var(--s4);align-content:center;margin-bottom:var(--s4);color:var(--c-text)}.feature-icon svg{width:64px;height:64px;fill:currentColor;transition:transform .4s ease}@keyframes sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.feature-root:hover .feature-icon svg{transform-origin:bottom center;animation:sway 2.5s ease-in-out infinite}.feature-cloud:hover .feature-icon svg{animation:float 3s ease-in-out infinite}.feature-loaded:hover .feature-icon svg{animation:pulse 1.5s ease-in-out infinite}.feature-card h3{margin:var(--s4);font-family:var(--font-display);font-weight:700}.feature-card p{margin:var(--s4);max-width:100%}.phone-icon{display:inline-block;margin-right:8px;font-size:1.2rem;animation:ring-effect 3s infinite;transform-origin:center}@keyframes ring-effect{0%{transform:rotate(0deg) scale(1)}5%{transform:rotate(15deg) scale(1.2)}10%{transform:rotate(-15deg) scale(1.2)}15%{transform:rotate(15deg) scale(1.2)}20%{transform:rotate(-15deg) scale(1.2)}25%{transform:rotate(0deg) scale(1)}100%{transform:rotate(0deg) scale(1)}}.btn:hover .phone-icon{animation:ring-effect .5s infinite}.text-center{text-align:center}.sd-overline{font-family:var(--font-body);font-weight:var(--body-weight-bold);font-size:var(--f-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--text-body)}.sd-overline--accent{color:var(--accent)}.sd-container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--s4)}.sd-grain{position:relative;isolation:isolate}.sd-grain:after{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--paper-texture);background-repeat:repeat;opacity:var(--paper-opacity);pointer-events:none;mix-blend-mode:multiply}.hero-banner{position:relative;width:100%;min-height:55vh;background-image:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.7)),var(--hero-bg);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--c-text);padding:2rem 1rem}.hero-banner h1,.hero-banner .lead{color:var(--c-white);text-shadow:none;margin-bottom:1rem}.hero-banner h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);margin-bottom:clamp(1.5rem,3vw,2.5rem)}.page-intro{max-width:800px;margin-inline:auto;margin-bottom:3rem;color:var(--c-text)}.menu-card{display:flex;flex-direction:column;background:var(--surface-raised);background-image:var(--paper-texture);color:var(--text-body);padding:var(--s8) var(--s6);box-shadow:var(--stamp-shadow);border-radius:var(--radius-md);border:var(--bw-stamp) solid var(--border-strong);max-width:700px;transition:transform var(--dur-base) var(--ease-stamp),box-shadow var(--dur-base) var(--ease-stamp)}@media (hover:hover){.menu-card:hover{transform:translate(-3px,-3px);box-shadow:var(--stamp-shadow-lg)}}.menu-header h3{margin-top:.5rem;font-family:var(--font-display);font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.2;min-height:2.4em}.menu-desc{font-size:.95rem;line-height:1.5;margin-block:1rem;min-height:calc(3*1.5*0.95rem)}.menu-footer{margin-top:auto}.menu-image{margin:1.5rem 0;border-radius:var(--radius-sm);overflow:hidden;height:clamp(180px,20vw,260px)}.menu-image img{width:100%;height:100%;display:block;object-fit:cover;border-radius:var(--radius-sm)}.menu-usp{color:var(--c-accent);font-weight:700;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:2.8em}.nutri-fact{background-color:rgba(92,107,79,.25);color:var(--c-text);padding:12px;font-size:.9rem;line-height:1.4;min-height:calc(3*0.9rem*1.4 + 24px)}.button-center-wrapper{display:flex;justify-content:center;width:100%;margin-top:3rem;padding-bottom:4rem}.catering-hero{position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,transparent 40%,rgba(180,170,160,.1) 40%,rgba(180,170,160,.1) 40.5%,transparent 40.5%),linear-gradient(225deg,transparent 55%,rgba(160,150,140,.08) 55%,rgba(160,150,140,.08) 55.3%,transparent 55.3%),linear-gradient(315deg,transparent 30%,rgba(190,180,170,.06) 30%,rgba(190,180,170,.06) 30.4%,transparent 30.4%),linear-gradient(135deg,#e5e2dc 0%,#efece7 30%,#dddad5 60%,#e9e7e2 100%);padding:var(--s16) var(--s4)}.catering-hero__grain{position:absolute;inset:0;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAMAAAA9YU9MAAAABlBMVEUAAAD///+l2Z/dAAAAAnRSTlP/AOW3MEoAAAAQSURBVDjLY2AYBaNgFGAhAAAByAAB989pXAAAAABJRU5ErkJggg==");background-repeat:repeat;opacity:.05;pointer-events:none;z-index:1}.catering-hero__rays{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:0;overflow:hidden;pointer-events:none}.catering-hero__rays svg{width:140vmax;height:140vmax;flex-shrink:0;will-change:transform;animation:rays-rotate 120s linear infinite}@keyframes rays-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.catering-hero__veins{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.catering-hero__content{position:relative;z-index:2;text-align:center;max-width:900px;padding:var(--s8);display:flex;flex-direction:column;align-items:center}.catering-hero__badge{display:inline-block;background:var(--c-accent);color:var(--c-white);padding:.5rem 1.4rem;font-size:.7rem;text-transform:uppercase;font-weight:800;letter-spacing:.14em;margin-bottom:var(--s8);transform:rotate(-2deg);animation:badge-appear .8s cubic-bezier(.2,.8,.2,1) both}@keyframes badge-appear{from{opacity:0;transform:rotate(-2deg) translateY(-20px)}to{opacity:1;transform:rotate(-2deg) translateY(0)}}.catering-hero__headline{font-family:var(--font-display);font-size:clamp(3.5rem,10vw + 1rem,9rem);font-weight:700;line-height:.88;color:var(--c-text);margin:0 0 var(--s4);letter-spacing:-.04em;text-transform:uppercase;animation:headline-rise 1s cubic-bezier(.2,.8,.2,1) .2s both;content-visibility:visible;text-wrap:balance}.catering-hero__headline-line{display:block}.catering-hero__ampersand{display:block;font-size:.5em;color:var(--c-accent);font-style:italic;line-height:1.2;letter-spacing:0;text-transform:none}@keyframes headline-rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.catering-hero__tagline-wrap{display:flex;align-items:flex-start;gap:.5rem;margin:0 0 var(--s6);max-width:680px;animation:headline-rise 1s cubic-bezier(.2,.8,.2,1) .5s both}.catering-hero__tagline{font-family:var(--font-display);font-size:clamp(1.05rem,2.2vw,1.8rem);font-style:italic;font-weight:400;color:var(--text-muted);margin:0;flex:1;min-width:0}.catering-hero__quote-open,.catering-hero__quote-close{color:var(--c-accent);opacity:.5;flex-shrink:0;margin-top:.15em}.catering-hero__quote-close{align-self:flex-end;margin-top:0;margin-bottom:.15em}.catering-hero__lead{font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.7;max-width:55ch;opacity:1;margin:0 0 var(--s8);animation:headline-rise 1s cubic-bezier(.2,.8,.2,1) .7s both}.catering-hero__highlights{display:flex;gap:var(--s8);margin-bottom:var(--s8);flex-wrap:wrap;justify-content:center;animation:headline-rise 1s cubic-bezier(.2,.8,.2,1) .9s both}.catering-hero__highlight{display:flex;flex-direction:column;align-items:center;padding:var(--s4) var(--s6);background:rgba(250,250,243,.2);border:var(--bw-hair) solid rgba(250,250,243,.35);border-radius:var(--radius-sm);min-width:120px}.catering-hero__highlight-number{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:700;color:var(--c-accent);line-height:1}.catering-hero__highlight-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--text-muted);margin-top:.3rem}.catering-hero__cta{animation:headline-rise 1s cubic-bezier(.2,.8,.2,1) 1.1s both}@media (max-width:767px){.catering-hero{min-height:auto;padding:var(--s12) var(--s4)}.catering-hero__content{padding:var(--s4)}.catering-hero__headline{font-size:clamp(2.6rem,12vw,4.5rem)}.catering-hero__tagline-wrap{max-width:100%}.catering-hero__quote-open,.catering-hero__quote-close{width:20px;height:16px}.catering-hero__highlights{gap:var(--s4)}.catering-hero__highlight{min-width:90px;padding:var(--s3) var(--s4)}@keyframes headline-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}.catering-intro{background:var(--c-bg)}.catering-intro__inner{max-width:720px}.catering-intro__title{font-family:var(--font-display);font-size:var(--f-h2);font-weight:700;color:var(--c-text-dark);line-height:1.15;margin:0 0 var(--s6);letter-spacing:-.02em}.catering-intro__text{font-size:var(--f-p);line-height:1.8;color:var(--text-muted);margin:0}.catering-firmen{position:relative;background:var(--c-bg-dark);overflow:hidden}.catering-firmen>.catering-firmen__header,.catering-firmen>.catering-firmen__rule,.catering-firmen>.cf-table,.catering-firmen>.cf-specs,.catering-firmen>.catering-firmen__action{width:min(92%,1200px);margin-inline:auto}.catering-firmen__header{display:grid;grid-template-columns:1fr;gap:16px;align-items:end}@media (min-width:640px){.catering-firmen__header{grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px)}}.catering-firmen__header-right{display:flex;align-items:flex-end}.catering-firmen__label{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;line-height:1.334;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--c-accent);margin:0 0 12px}.catering-firmen__label:before{content:"";display:block;width:20px;height:2px;background:var(--c-accent)}.catering-firmen__title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw + .25rem,3rem);font-weight:700;color:var(--c-text-dark);line-height:1.1;letter-spacing:-.02em;margin:0}.catering-firmen__lead{font-size:1rem;line-height:1.5;color:var(--text-muted);margin:0}.catering-firmen__rule{border:none;height:2px;background:var(--c-accent);opacity:.15;margin-block:clamp(24px,3vw,40px)}.cf-table{width:100%;border-collapse:collapse;table-layout:fixed}.cf-table__th--num{width:56px}.cf-table__th--who{width:38%}.cf-table__th--what{width:auto}.cf-table__head{border-bottom:2px solid var(--c-accent)}.cf-table__th{font-size:.6875rem;line-height:1.4546;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--c-accent);text-align:left;padding:0 16px 12px 0;vertical-align:bottom}.cf-table__group+.cf-table__group{border-top:1px solid rgba(42,39,32,.1)}.cf-table__num{font-family:var(--font-display);font-size:clamp(2rem,3vw,2.75rem);font-weight:700;color:var(--c-accent);opacity:.2;line-height:1;letter-spacing:-.04em;vertical-align:top;padding:24px 0 24px}.cf-table__who{vertical-align:top;padding:24px 24px 24px 0}.cf-table__audience{display:block;font-size:.6875rem;line-height:1.4546;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--c-accent);margin:0 0 8px}.cf-table__title{font-family:var(--font-display);font-size:clamp(1.125rem,2vw,1.5rem);font-weight:700;color:var(--c-text-dark);line-height:1.2;margin:0 0 4px}.cf-table__subtitle{font-family:var(--font-display);font-size:.875rem;font-style:italic;font-weight:400;color:var(--text-muted);line-height:1.4286;margin:0 0 8px}.cf-table__intro{font-size:.8125rem;line-height:1.5385;color:var(--text-muted);margin:0}.cf-table__feat{vertical-align:top;padding:16px 0;border-top:1px solid rgba(42,39,32,.06)}.cf-table__row--main .cf-table__feat{border-top:none;padding-top:24px}.cf-table__feat-label{display:block;font-family:var(--font-display);font-size:.875rem;line-height:1.4286;font-weight:700;color:var(--c-text-dark);margin:0 0 4px}.cf-table__feat-text{display:block;font-size:.8125rem;line-height:1.5385;color:var(--text-muted)}@media (max-width:639px){.cf-table,.cf-table__head,.cf-table__group,.cf-table__row,.cf-table__th,.cf-table__num,.cf-table__who,.cf-table__feat{display:block;width:100%}.cf-table__head{display:none}.cf-table__num{padding:24px 0 8px}.cf-table__who{padding:0 0 16px}.cf-table__feat{padding:12px 0 12px 20px;border-left:2px solid var(--c-accent);border-top:none;margin-bottom:4px}.cf-table__row--main .cf-table__feat{padding-top:12px}.cf-table__group+.cf-table__group{margin-top:24px;padding-top:24px}}.cf-specs{margin-top:clamp(40px,5vw,64px)}.cf-specs__title{font-family:var(--font-display);font-size:clamp(1.25rem,2.5vw + .25rem,1.75rem);font-weight:700;color:var(--c-text-dark);line-height:1.2;margin:0 0 clamp(20px,3vw,32px)}.cf-specs__table{width:100%;border-collapse:collapse}.cf-specs__th{font-size:.6875rem;line-height:1.4546;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--c-accent);text-align:left;padding:0 16px 12px 0;border-bottom:2px solid var(--c-accent)}.cf-specs__row{border-bottom:1px solid rgba(42,39,32,.08)}.cf-specs__td{font-size:.875rem;line-height:1.4286;padding:16px 16px 16px 0;vertical-align:top}.cf-specs__td--merkmal{font-family:var(--font-display);font-weight:700;color:var(--c-text-dark);white-space:nowrap}.cf-specs__td--wert{font-weight:600;color:var(--c-accent);white-space:nowrap}.cf-specs__td--vorteil{color:var(--text-muted)}@media (max-width:639px){.cf-specs__table,.cf-specs__table thead,.cf-specs__table tbody,.cf-specs__table tr,.cf-specs__table th,.cf-specs__table td{display:block;width:100%}.cf-specs__table thead{display:none}.cf-specs__row{padding:16px 0;border-bottom:1px solid rgba(42,39,32,.08)}.cf-specs__td{padding:2px 0}.cf-specs__td--merkmal{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.cf-specs__td--wert{font-size:1.125rem}.cf-specs__td--vorteil{font-size:.8125rem}}.catering-firmen__action{margin-block:clamp(32px,4vw,48px)}.catering-privat{position:relative;background:var(--c-bg);overflow:hidden}.catering-privat__texture{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000' fill-opacity='0.02'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none;z-index:0}.catering-privat .container{position:relative;z-index:1}.catering-privat__header{text-align:center;margin-bottom:var(--s12)}.catering-privat__label{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--c-accent);margin-bottom:var(--s4)}.catering-privat__title{font-family:var(--font-display);font-size:clamp(2rem,5vw,4rem);font-weight:700;color:var(--c-text-dark);line-height:.95;letter-spacing:-.03em;margin:0 0 var(--s6);text-transform:uppercase}.catering-privat__lead{font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.7;max-width:55ch;margin:0 auto;color:var(--text-muted)}.catering-privat__events{display:grid;grid-template-columns:1fr;gap:var(--s6);margin-bottom:var(--s12)}@media (min-width:768px){.catering-privat__events{grid-template-columns:repeat(3,1fr);gap:var(--s8)}}.catering-privat__event-card{background:var(--surface-raised);background-image:var(--paper-texture);border:var(--bw-stamp) solid var(--border-strong);border-radius:var(--radius-md);padding:var(--s8);text-align:center;transition:transform var(--dur-base) var(--ease-stamp),box-shadow var(--dur-base) var(--ease-stamp);box-shadow:var(--stamp-shadow)}.catering-privat__event-card:nth-child(1){transform:rotate(-1deg)}.catering-privat__event-card:nth-child(2){transform:rotate(.5deg)}.catering-privat__event-card:nth-child(3){transform:rotate(-.8deg)}.catering-privat__event-card:hover{transform:rotate(0deg) translate(-3px,-3px) !important;box-shadow:var(--stamp-shadow-lg)}.catering-privat__event-icon{color:var(--c-accent);margin-bottom:var(--s4)}.catering-privat__event-icon svg{transition:transform .4s cubic-bezier(.2,.8,.2,1)}.catering-privat__event-card:hover .catering-privat__event-icon svg{transform:scale(1.12)}.catering-privat__event-title{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--c-text-dark);margin:0 0 var(--s4)}.catering-privat__event-text{font-size:.92rem;line-height:1.6;color:var(--text-muted);margin:0;max-width:100%}.catering-privat__testimonial{position:relative;background:var(--c-white);padding:var(--s12) var(--s8);margin:0 auto var(--s8);max-width:700px;text-align:center;border:var(--bw-stamp) solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--stamp-shadow)}.catering-privat__quote-mark{color:#edc982;opacity:.7}.catering-privat__quote-mark--open{position:absolute;top:var(--s6);left:var(--s6)}.catering-privat__quote-mark--close{position:absolute;bottom:var(--s6);right:var(--s6)}.catering-privat__testimonial-text{font-family:var(--font-display);font-size:clamp(1.2rem,2vw,1.6rem);font-style:italic;line-height:1.5;color:var(--c-text-dark);margin:0 0 var(--s4);max-width:100%}.catering-privat__testimonial-author{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--c-accent)}.catering-privat__action{text-align:center;margin-top:var(--s6)}.catering-cta{position:relative;background:var(--c-accent);color:var(--c-white);padding:var(--s16) var(--s4);overflow:hidden;text-align:center}.catering-cta__deco{position:absolute;top:50%;right:-5%;transform:translateY(-50%);opacity:.4;pointer-events:none}.catering-cta__inner{position:relative;z-index:1;max-width:750px;margin-inline:auto;display:flex;flex-direction:column;align-items:center}.catering-cta__headline{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.8rem);font-weight:700;color:var(--c-white);line-height:1;letter-spacing:-.03em;margin:0 0 var(--s6)}.catering-cta__lead{font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.7;color:rgba(250,250,243,.7);margin:0 0 var(--s8);max-width:50ch}.catering-cta__contact-row{display:flex;flex-wrap:wrap;gap:var(--s6);justify-content:center;margin-bottom:var(--s8)}.catering-cta__contact-item{display:inline-flex;align-items:center;gap:.6rem;color:rgba(250,250,243,.8);text-decoration:none;font-size:.95rem;transition:color .2s ease;padding:.5rem 1rem;border:var(--bw-hair) solid var(--border-ondark);border-radius:var(--radius-sm)}.catering-cta__contact-item:hover{opacity:1;color:var(--c-white);border-color:var(--c-white)}.catering-cta__contact-item svg{flex-shrink:0}.catering-cta__btn{background:var(--c-white);border-color:var(--c-white);color:var(--c-accent) !important;padding:1.2rem 3rem;font-size:1rem}.catering-cta__btn:hover{background:0 0;color:var(--c-white) !important}.u-mb-s4{margin-bottom:var(--s4)}.u-mb-s6{margin-bottom:var(--s6)}.u-mb-s8{margin-bottom:var(--s8)}.u-mb-s12{margin-bottom:var(--s12)}.u-italic{font-style:italic}.hochzeit-teaser{position:relative;overflow:hidden;min-height:420px;display:flex;align-items:center}.hochzeit-teaser__bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;transform:scale(1.04);transition:transform 8s ease}.hochzeit-teaser:hover .hochzeit-teaser__bg{transform:scale(1)}.hochzeit-teaser__overlay{position:absolute;inset:0;background:linear-gradient(105deg,hsla(91,10%,12%,.82) 0%,hsla(91,10%,12%,.55) 60%,hsla(91,10%,12%,.25) 100%)}.hochzeit-teaser__inner{position:relative;z-index:1;padding:clamp(3rem,6vw,5rem) var(--s12);max-width:620px}.hochzeit-teaser__badge{display:inline-block;font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent);background:hsla(60,33%,98%,.1);border:1px solid var(--c-accent);border-radius:100px;padding:.3rem .9rem;margin-bottom:1rem}.hochzeit-teaser__headline{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--c-white);line-height:1.1;margin-bottom:1rem;hyphens:none}.hochzeit-teaser__lead{color:hsla(60,33%,98%,.85);font-size:1.05rem;line-height:1.65;margin-bottom:2rem}.hochzeit-teaser__btn{background:var(--c-accent) !important;color:var(--c-white) !important;border-color:var(--c-accent) !important;font-size:1rem;padding:.9rem 2.2rem}.page-hochzeit .card h1{font-size:clamp(1.5rem,2.5vw + .5rem,2.2rem)}.page-hochzeit .card h2{font-size:clamp(1.2rem,1.5vw + .5rem,1.6rem)}.hw-img{display:block;width:100%;max-width:360px;height:220px;object-fit:cover;border-radius:var(--radius-md);margin:.25rem auto 1.5rem}.hw-duo{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0 1.5rem}.hw-duo img{width:100%;height:160px;object-fit:cover;border-radius:var(--radius-md)}@media (max-width:520px){.hw-duo{grid-template-columns:1fr}.hw-img{max-width:100%;height:180px}}