:root{--cream:#f4f0e7;--ink:#191811;--olive:#303729;--brown:#7c5e48;--line:rgba(25,24,17,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:6px}.skip{position:fixed;top:-70px;padding:12px;background:var(--cream);z-index:20}.skip:focus{top:0}header{padding:26px 5%;display:flex;justify-content:space-between;align-items:center}.brand{font-size:22px;letter-spacing:.17em;line-height:1.25}.brand span{display:block;font-size:11px;letter-spacing:.13em;margin-top:5px}nav{display:flex;gap:28px;font-size:14px}nav a:hover{text-decoration:underline;text-underline-offset:5px}.menu-toggle{display:none}.dark{background:var(--ink);color:var(--cream);--line:rgba(244,240,231,.16)}.olive{background:var(--olive);color:var(--cream);--line:rgba(244,240,231,.19)}.brown{background:var(--brown);color:var(--cream);--line:rgba(244,240,231,.2)}section{padding:110px 28px}.inner{max-width:850px;margin:auto}.eyebrow,h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;line-height:1.5;margin:0 0 25px}h1,h2,h4,.price,.bundle-price{font-family:'Bodoni MT',Didot,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.02;margin:0 0 28px}h1{font-size:clamp(58px,6.2vw,100px)}h2{font-size:clamp(44px,4.65vw,76px)}h4{font-size:clamp(32px,3.3vw,48px)}p{margin:0 0 20px}.intro{font-size:18px;max-width:680px}.subtitle{font-size:22px;margin-top:-6px}.muted{color:rgba(244,240,231,.77)}.hero{position:relative;min-height:680px;padding:110px 8% 80px;overflow:hidden}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,15,10,.9),rgba(16,15,10,.34)),url('assets/restaurant.webp') center 58%/cover}.hero-inner{position:relative;max-width:1200px;margin:auto}.hero-inner>p:not(.eyebrow){color:#e0d9ce;font-size:18px}.hero-bottom{position:relative;display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:.15em;margin:80px auto 0;max-width:1200px;border-top:1px solid #ffffff45;padding-top:20px}.button{border:0;border-radius:30px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:17px 23px;background:var(--ink);color:var(--cream);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;transition:transform .2s,opacity .2s}.button:hover{transform:translateY(-2px);opacity:.85}.button.light{background:var(--cream);color:var(--ink)}.button span{font-size:18px;line-height:1}.challenge{border-top:1px solid var(--line);margin-top:45px;padding-top:35px}.challenge .eyebrow{margin-bottom:16px}.approach{margin-top:65px}.approach a{border-top:1px solid var(--line);display:flex;gap:28px;align-items:center;padding:32px 0;transition:padding .2s}.approach a:hover{padding-left:12px}.approach a>span:last-child{margin-left:auto}.approach h3{font-size:14px;margin-bottom:5px}.approach p{font-size:16px;color:#c1beb4;margin:0}.number{font-size:12px;color:#b6b2a6}.closing-line{border-top:1px solid var(--line);padding-top:28px;margin:25px 0 0}.feature{width:100%;height:auto;display:block;object-fit:cover;margin:75px 0}.packages{display:grid;border-top:1px solid var(--line);gap:35px;padding-top:35px;margin-top:45px}.three{grid-template-columns:1fr 1fr 1fr}.two{grid-template-columns:1fr 1fr;margin-top:60px}.packages article{display:flex;flex-direction:column}.packages h3{font-size:13px;margin-bottom:20px}.packages ul{margin:0 0 30px}ul{padding:0;list-style:none;font-size:16px;line-height:1.65}.price{font-size:40px;margin-top:auto;margin-bottom:5px}.three .price{white-space:nowrap}.note{font-size:12px;color:#79766e;margin:45px 0}.pilot{border-top:1px solid var(--line);padding-top:40px;margin-top:40px}.pilot .eyebrow{margin-bottom:14px}dl{display:grid;grid-template-columns:180px 1fr;margin:40px 0;gap:10px}dt{text-transform:uppercase;font-size:12px;letter-spacing:.1em;font-weight:600}dd{margin:0;font-size:16px}.bundle-price{font-size:46px;margin:40px 0}.bundle-price span{white-space:nowrap}#managed h2{font-size:clamp(39px,4.4vw,66px)}.restaurant{margin:50px 0 65px}.managed-list{color:#e5d9cd}.managed-price{margin:30px 0 40px}.soon{opacity:.75;margin-bottom:0}#kontakt{padding-top:140px;padding-bottom:65px}footer{border-top:1px solid var(--ink);margin-top:100px;padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:30px}footer .brand{font-size:16px}footer .brand span{font-size:10px}footer nav{font-size:12px;gap:16px}dialog{border:0;background:var(--cream);color:var(--ink);max-width:580px;width:calc(100% - 32px);padding:50px;box-shadow:0 20px 100px #0005}dialog::backdrop{background:#17161099;backdrop-filter:blur(5px)}dialog h4{font-size:40px}dialog>p{font-size:15px}.close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:30px}label{display:block;font-size:14px;margin:20px 0 8px}textarea{width:100%;border:1px solid #aaa396;background:transparent;padding:14px;color:inherit;resize:vertical;margin-bottom:20px}#status{margin:15px 0 0;font-size:13px}
@media(min-width:1600px){.inner{max-width:960px}}@media(max-width:760px){header{padding:23px 24px;position:relative}.brand{font-size:19px}.menu-toggle{display:flex;gap:12px;background:none;border:0;padding:8px 0;font-size:14px}header nav{display:none;position:absolute;top:88px;left:0;right:0;z-index:5;background:var(--cream);padding:26px;flex-direction:column;border-top:1px solid var(--line)}header nav.open{display:flex}section{padding:75px 24px}.hero{padding:85px 24px 32px;min-height:650px}.hero-photo{background-position:65% center}.hero h1{font-size:clamp(2rem,10.5vw,3.75rem);line-height:1.06;overflow-wrap:anywhere}.hero-bottom{margin-top:65px}.hero-inner>p:not(.eyebrow){font-size:16px}h2{font-size:47px;letter-spacing:-.045em}.intro{font-size:16px}.subtitle{font-size:19px}.desktop{display:none}.eyebrow{font-size:11px}.approach{margin-top:40px}.approach a{gap:17px;padding:27px 0}.approach p{font-size:14px}.feature{margin:45px 0}.three,.two{grid-template-columns:1fr;gap:30px}.packages{margin-top:30px}.packages article{border-bottom:1px solid var(--line);padding-bottom:26px}.packages article:last-child{border:0;padding-bottom:0}.packages h3{margin-bottom:14px}.packages ul{margin-bottom:20px}.packages .price{font-size:36px}.note{margin:30px 0}.pilot{margin-top:30px;padding-top:30px}dl{grid-template-columns:1fr;gap:5px}dd{margin-bottom:12px}h4{font-size:35px}.bundle-price{font-size:36px;line-height:1.2}.managed-price{font-size:32px;line-height:1.15}#managed h2 span{display:block;font-size:.72em;margin-top:9px}#kontakt{padding-top:80px;padding-bottom:40px}footer{margin-top:70px;align-items:flex-start;flex-direction:column}footer nav{flex-wrap:wrap;font-size:13px}dialog{padding:40px 24px}dialog h4{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.food{aspect-ratio:1.6;object-position:center 60%}.restaurant{aspect-ratio:1.8;object-position:center 75%}.image-credit{font-size:12px;opacity:.72;margin:-55px 0 50px}.restaurant+.image-credit{margin-top:-45px}.legal{max-width:850px;margin:auto;padding:70px 24px}.legal h1{font-size:clamp(44px,7vw,72px)}.legal h2{font-family:Arial,Helvetica,sans-serif;font-size:20px;letter-spacing:0;margin:35px 0 12px}.legal a{text-decoration:underline;overflow-wrap:anywhere}.legal address{font-style:normal}.legal .draft{border-left:2px solid var(--brown);padding:12px 18px;background:#e9e2d6}@media(max-width:760px){.image-credit,.restaurant+.image-credit{margin-top:-30px;margin-bottom:35px}.food{aspect-ratio:1.1}.restaurant{aspect-ratio:1.25}}

.arrow-icon{display:inline-block;width:1.1em;height:1.1em;vertical-align:-.15em;flex-shrink:0}.approach .arrow-icon{width:20px;height:20px}.menu-toggle{color:inherit}.managed-price{white-space:nowrap}@media(max-width:760px){.managed-price{font-size:clamp(1.3rem,6.8vw,2rem)}}

/* Snapshot case: existing THE TABLE palette and typography. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.snapshot-teaser{margin:55px 0 65px;padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.snapshot-teaser>p{max-width:640px}.map-preview{margin:30px 0 20px;max-height:215px;overflow:hidden;position:relative;color:var(--ink);background:var(--cream);padding:22px 18px;mask-image:linear-gradient(#000 65%,transparent)}.map-preview .heatmap{min-width:680px}.demo-note{font-size:13px;line-height:1.6;opacity:.75;margin:20px 0 28px}.snapshot-opening h1{font-size:clamp(42px,5.3vw,78px);max-width:900px}.back-link{display:inline-block;font-size:14px;margin-bottom:50px;border-bottom:1px solid currentColor}.case-disclaimer{max-width:620px;font-size:15px;color:#69665e;margin:25px 0 30px}.text-link{display:inline-flex;gap:15px;align-items:center;font-size:14px;border-bottom:1px solid currentColor;padding:10px 0}.search-scenarios{margin-top:45px;border-top:1px solid var(--line)}.search-scenarios p{padding:22px 0;border-bottom:1px solid var(--line);margin:0;font-family:Georgia,serif;font-size:22px}.heatmap-scroll{overflow-x:auto;margin-top:45px;padding-bottom:10px;scrollbar-color:#7c5e48 #e8e1d5}.heatmap{width:100%;min-width:720px;border-collapse:separate;border-spacing:7px 10px;table-layout:fixed;font-size:14px}.heatmap th{text-align:center;font-weight:400;font-size:13px;line-height:1.4}.heatmap th:first-child{width:150px;text-align:left}.heatmap thead th{padding-bottom:12px}.heatmap .your-restaurant th{font-weight:700}.heat-cell{display:flex;align-items:center;justify-content:center;min-height:54px;font-size:14px}.level-1{background:#e9e2d6;color:#514537}.level-2{background:#c9b89c;color:#352d22}.level-3{background:#7c5e48;color:#fff}.level-4{background:#303729;color:#fff}.heat-legend{display:flex;flex-wrap:wrap;gap:18px;margin:20px 0;font-size:13px}.heat-legend span{display:flex;gap:8px;align-items:center}.heat-legend i{width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:12px}.map-method{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.map-method summary{cursor:pointer;font-size:15px}.map-method p{margin:20px 0 0;font-size:15px;max-width:730px}.snapshot-insights{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:50px}.snapshot-insights article{border-top:1px solid var(--line);padding-top:25px}.snapshot-insights h3{font-size:22px;letter-spacing:0;text-transform:none;font-weight:400;line-height:1.3;margin-bottom:15px}.snapshot-insights article>p:last-child{color:#dddccf}.opportunity-line{font-family:Georgia,serif;font-size:26px;line-height:1.4;max-width:650px;margin:35px 0}.next-steps{margin:45px 0}.next-steps article{display:flex;gap:25px;border-top:1px solid var(--line);padding:26px 0}.next-steps article>span{font-size:13px;opacity:.6}.next-steps h3{font-size:14px;margin:0 0 10px}.next-steps p{margin:0}.snapshot-offer{border-top:1px solid var(--line);padding-top:40px;margin-top:50px}.snapshot-offer>p:not(.eyebrow):not(.price){max-width:600px}.snapshot-offer .price{margin:30px 0}.snapshot-offer .text-link{display:flex;width:fit-content;margin-top:20px}@media(max-width:760px){.snapshot-opening h1{font-size:clamp(35px,9vw,55px)}.snapshot-opening{padding-top:45px}.snapshot-insights{grid-template-columns:1fr;gap:25px}.snapshot-teaser{margin:40px 0;padding:30px 0}.map-preview{max-height:175px;margin-top:25px;padding:12px}.search-scenarios p{font-size:19px}.opportunity-line{font-size:23px}.heatmap{min-width:690px}.heatmap th:first-child{width:135px}.back-link{margin-bottom:35px}}

@media(max-width:760px){#snapshot-main h2{font-size:clamp(30px,8.8vw,47px);overflow-wrap:anywhere}.snapshot-teaser .button{font-size:11px;gap:12px;padding:16px 18px}}

/* Keep the snapshot viewport fixed; only the heatmap owns horizontal scrolling. */
.snapshot-page{width:100%;max-width:100%;overflow-x:clip}
#snapshot-main,#snapshot-main section,#snapshot-main .inner{min-width:0;max-width:100%}
#snapshot-main .inner{width:100%;max-width:850px}
#snapshot-main .heatmap-scroll{position:relative;width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;contain:inline-size}
#snapshot-main .heat-cell{position:relative}
#snapshot-main .snapshot-insights{grid-template-columns:repeat(2,minmax(0,1fr))}
#snapshot-main .snapshot-insights article,#snapshot-main .next-steps article>div{min-width:0;overflow-wrap:anywhere}
#snapshot-main .next-steps article>span{flex-shrink:0}
#snapshot-main h1,#snapshot-main h3,#snapshot-main h4,#snapshot-main p{overflow-wrap:anywhere}
#snapshot-main .button,#snapshot-main .text-link{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.snapshot-page footer nav{max-width:100%;flex-wrap:wrap}
@media(min-width:1600px){#snapshot-main .inner{max-width:960px}}
@media(max-width:760px){#snapshot-main .snapshot-insights{grid-template-columns:minmax(0,1fr)}#snapshot-main .snapshot-offer .button{font-size:11px;gap:12px;padding:16px 18px}.snapshot-page header{gap:16px}.snapshot-page header .brand{min-width:0}.snapshot-page .menu-toggle{flex-shrink:0}}

/* Performance first: preserve the established palette and responsive rhythm. */
.hero-inner>p:not(.eyebrow){max-width:760px}
.story-bridge{border-top:1px solid var(--line);margin:55px 0 0;padding-top:28px;max-width:680px;font-size:18px}
.approach a>div{min-width:0;overflow-wrap:anywhere}
.approach a>span{flex-shrink:0}
@media(max-width:760px){.story-bridge{margin-top:40px;padding-top:24px;font-size:16px}#mission h2,#vorgehen h2{font-size:clamp(34px,10vw,47px);overflow-wrap:anywhere}}

/* Keep the wider hospitality wordmark comfortable on small screens. */
header .brand{min-width:0}header .brand span{max-width:100%;white-space:normal}header .menu-toggle{flex-shrink:0}@media(max-width:760px){header{gap:16px}.hero .eyebrow{max-width:100%;line-height:1.6}}

.project-steps{margin:28px 0 32px}
.project-steps p{margin:0}
.contact-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:32px 0;gap:14px}
.contact-choices a{display:grid;grid-template-columns:1fr auto;align-content:center;align-items:center;gap:5px 10px;padding:19px 15px;border:1px solid var(--line);color:var(--ink);min-width:0}
.contact-choices a:hover,.contact-choices a:focus-visible{background:var(--olive);color:var(--cream)}
.contact-choices strong{font-size:16px;font-weight:500}
.contact-choices small{grid-column:1/-1;font-size:13px;overflow-wrap:anywhere}
@media(max-width:760px){.contact-choices{grid-template-columns:1fr;gap:8px}}
.framework-diamond{display:block;width:min(100%,742px);margin:clamp(36px,5vw,64px) auto 0;scroll-margin-block:18vh}
.framework-diamond img{display:block;width:100%;height:auto}
@media(max-width:620px){.framework-diamond{max-width:372px}.framework-diamond img{aspect-ratio:372/400}}
