:root{--paper:#f0ece6;--ink:#2e2c28;--muted:#6d685f;--line:#d9d3ca;--accent:#8a7659}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%}header{height:105px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 7%;border-bottom:1px solid var(--line)}.wordmark{font:24px/1.1 Georgia,serif;letter-spacing:5px;white-space:nowrap}.wordmark span{font:8px/1.4 Arial,sans-serif;display:block;letter-spacing:1.55px;margin-top:8px}nav{display:flex;gap:35px;align-items:center;font-size:12px}nav a:hover,.footer-links a:hover{text-decoration:underline}.reserve{border-left:1px solid var(--line);padding-left:30px}.hero{position:relative;min-height:650px;height:min(780px,calc(100svh - 105px));overflow:hidden;isolation:isolate}.hero-image{position:absolute;inset:0 0 0 24%;z-index:-1}.hero-image:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),transparent 35%)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:62% center}.hero-copy{padding:65px 0 65px 8%;width:53%;position:relative}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2px;margin-bottom:25px}h1,h2{font:normal clamp(42px,4.7vw,73px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-1.4px;margin:0}h1 em{font-size:.69em;white-space:nowrap}em{font-style:normal;color:var(--accent)}p{font-size:15px;line-height:1.85;color:var(--muted);max-width:440px;margin:25px 0}.hero p{max-width:340px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;padding:13px 22px;border:1px solid #9d968a;border-radius:40px;font-size:11px;letter-spacing:1.1px;background:transparent}.button span{font-size:23px;line-height:1}.button:hover{background:#e5ded2}.hero-foot{position:absolute;bottom:25px;left:8%;font-size:9px;letter-spacing:1.6px}.feature{display:grid;grid-template-columns:1fr 1fr;min-height:440px;background:#e8e2da;overflow:hidden}.feature:nth-child(2){background:#f3efea}.feature:nth-child(3){background:#e8e5de}.feature-image{position:relative;min-height:440px;overflow:hidden}.feature-image img{width:100%;height:calc(100% + 80px);position:absolute;top:-40px;object-fit:cover;transform:translateY(calc(var(--motion,0px)*-1));will-change:transform}.feature:first-child .feature-image img{object-position:center 54%}.feature-copy{padding:55px 16%;align-self:center;transform:translateY(var(--motion,0px));will-change:transform}.feature.reverse .feature-image{grid-column:2;grid-row:1}.feature.reverse .feature-copy{grid-column:1;grid-row:1}.number{display:block;font:64px/1 Georgia;margin-bottom:22px}.feature h2{font-size:34px;line-height:1.12;letter-spacing:-.6px}.feature p{font-size:14px;margin:20px 0 25px}.small-link{font-size:10px;letter-spacing:1px;display:flex;justify-content:space-between;gap:25px;max-width:300px}.small-link span{font-size:23px;line-height:1}.image-note{position:absolute;right:18px;bottom:14px;background:#f5f1e9d9;padding:3px 8px;font-size:10px;color:#5d584f}.menu-section{padding:85px 8%;background:#f9f6f1}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-intro h2,.visit h2{font-size:clamp(35px,3.7vw,55px);letter-spacing:-1px}.section-intro .eyebrow,.visit .eyebrow{margin-bottom:18px}.text-link{font-size:13px;padding-bottom:6px;border-bottom:1px solid #a9a195;white-space:nowrap}.tabs{display:flex;gap:35px;border-bottom:1px solid var(--line);margin-top:40px}.tabs button{padding:15px 0;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:15px}.tabs button[aria-selected=true]{border-color:var(--ink);color:var(--ink)}.menu-time{font-size:13px;margin:20px 0 10px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:65px}.dish{padding:23px 0;border-bottom:1px solid var(--line)}.dish-title{display:flex;justify-content:space-between;gap:20px}.dish h3{font:normal 22px Georgia;margin:0}.dish b{font-weight:normal;white-space:nowrap;font-size:15px}.dish p{font-size:14px;line-height:1.6;margin:9px 0 0;max-width:95%}.menu-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:30px;font-size:12px;color:var(--muted)}.drinks{display:flex;justify-content:space-between;align-items:center;padding:25px 0 0;margin-top:35px;border-top:1px solid var(--line);font:25px Georgia}.drinks span{font:13px Arial}.visit{padding:85px 8%;display:grid;grid-template-columns:1.25fr 1fr;gap:15%;background:#e5e0d6}.visit p{max-width:430px}.visit-info h3{font:24px Georgia;margin:0 0 14px}.visit-info h3:not(:first-child){margin-top:35px}.visit-info p{margin:0 0 15px;font-size:15px}.visit-info strong{font-weight:normal;float:right;margin-left:20px}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:40px 7%;border-top:1px solid var(--line);font-size:12px}.footer-links{display:flex;gap:24px}.credits{font-size:10px;color:var(--muted);padding:0 7% 25px}.legal{max-width:850px;margin:70px auto 100px;padding:0 25px}.legal h1{font-size:48px;margin:20px 0 35px}.legal h2{font:27px/1.3 Georgia;margin:35px 0 12px;letter-spacing:0}.legal p,.legal li{max-width:none;font-size:16px}.legal a{text-decoration:underline;overflow-wrap:anywhere}.legal .notice{padding:20px 24px;border-left:3px solid var(--accent);background:#e6dfd1;font-size:14px}.legal address{font-style:normal}.legal .back{font-size:13px}.legal li{margin-bottom:9px}.legal table{width:100%;border-collapse:collapse;font-size:14px}.legal td,.legal th{padding:12px;text-align:left;border:1px solid var(--line);vertical-align:top}
@media(min-width:1500px){.hero-copy{padding-top:85px}.hero{max-height:850px}}@media(max-width:1050px){header{margin:0 5%}nav{gap:20px}.hero{min-height:570px;height:auto}.hero-copy{padding:55px 0 75px 6%;width:58%}h1{font-size:54px}.hero-image{left:25%}.hero-foot{left:6%}.feature-copy{padding:40px 11%}.feature h2{font-size:29px}.feature,.feature-image{min-height:410px}.number{font-size:55px}.visit{gap:8%}.menu-grid{column-gap:35px}}@media(max-width:700px){header{height:83px;margin:0 6%;gap:15px}.wordmark{font-size:20px;letter-spacing:3px}.wordmark span{font-size:7px;letter-spacing:1px}nav{gap:16px;font-size:11px}nav a:first-child,nav a:nth-child(3){display:none}.reserve{padding:0;border:0}.hero{height:auto;min-height:0;padding-bottom:45px;display:flex;flex-direction:column}.hero-image{position:relative;inset:auto;order:2;height:320px;margin-top:-18px;z-index:0}.hero-image:before{background:linear-gradient(var(--paper),transparent 25%)}.hero-image img{object-position:70% 55%}.hero-copy{width:100%;padding:40px 7% 0;z-index:1}.hero .eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:20px}h1{font-size:49px;line-height:1.01;letter-spacing:-1px}.hero h1 br:nth-of-type(2){display:none}.hero h1 em{font-size:.63em}.hero p{font-size:14px;margin:22px 0;max-width:300px}.button{font-size:10px;padding:12px 18px}.hero-foot{left:7%;bottom:20px;right:7%;font-size:8px;letter-spacing:1.2px}.feature,.feature.reverse{display:flex;flex-direction:column;min-height:0}.feature-image{min-height:0;height:320px}.feature-copy{padding:35px 8% 40px}.feature h2{font-size:31px}.feature p{max-width:420px}.number{font-size:50px;margin-bottom:18px}.small-link{font-size:10px}.menu-section{padding:55px 7%}.section-intro{display:block}.section-intro h2{font-size:36px;margin-bottom:25px}.tabs{gap:24px;margin-top:22px}.tabs button{font-size:14px}.menu-grid{grid-template-columns:1fr}.dish h3{font-size:22px}.menu-bottom{display:block}.menu-bottom span{display:block;margin-bottom:18px}.drinks{flex-direction:column;align-items:start;gap:18px;font-size:24px}.visit{display:block;padding:55px 7%}.visit h2{font-size:39px}.visit-info{margin-top:45px}.visit-info strong{float:none;margin-left:20px}footer{padding:30px 7%;flex-wrap:wrap;gap:25px}footer>span{display:none}.footer-links{font-size:12px;gap:20px}.credits{font-size:9px}.legal{margin:40px auto 60px;padding:0 7%}.legal h1{font-size:36px;overflow-wrap:anywhere}.legal h2{font-size:25px}.legal table{font-size:12px}.legal td,.legal th{padding:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.feature-image img,.feature-copy{transform:none!important}}@media print{header nav,.button,.tabs,footer{display:none}.legal{margin:0;max-width:none}.legal a{color:black}}

/* Readable body copy across screen sizes. */
p,.feature p,.hero p{font-size:16px}nav{font-size:14px}.feature{min-height:470px}.feature-image{min-height:470px}@media(max-width:700px){nav{font-size:13px}.feature{min-height:0}.feature-image{min-height:0}.hero h1 br:nth-of-type(2){display:block}}

/* Café Eck's original poster logo and locally hosted DM Sans. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/dm-sans-regular.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/dm-sans-medium.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/dm-sans-semibold.ttf') format('truetype')}
body{font-family:'DM Sans',Arial,sans-serif}header{height:165px}.brand-logo{display:block;flex-shrink:0;width:126px;line-height:0}.brand-logo img{width:100%;height:auto;filter:grayscale(1) brightness(1.05) contrast(1.1);mix-blend-mode:multiply}.hero{height:min(780px,calc(100svh - 165px))}p,.feature p,.hero p{font-family:'DM Sans',Arial,sans-serif;font-weight:400;line-height:1.8}.drinks span{font-family:'DM Sans',Arial,sans-serif}.menu-section{padding-top:90px;padding-bottom:90px}.menu-section .eyebrow{letter-spacing:2.4px}.tabs{gap:40px;margin-top:42px}.tabs button{padding:17px 0;font-size:14px;font-weight:500;letter-spacing:.7px}.tabs button[aria-selected=true]{border-bottom-width:2px}.menu-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin:35px 0 10px}.menu-heading h3{font:normal 30px/1.2 Georgia,serif;letter-spacing:-.3px;margin:0}.menu-heading .menu-time{font-size:13px;letter-spacing:.2px;margin:0}.menu-grid{column-gap:75px}.dish{padding:28px 0 29px;border-bottom:1px solid #ded6c9}.dish-title{gap:14px;align-items:baseline}.dish-title:after{content:'';flex:1;border-bottom:1px dotted #c4bbab;order:2;min-width:15px}.dish-title h3{font:normal 23px/1.3 Georgia,serif;letter-spacing:-.25px;order:1}.dish-title b{font:500 16px/1.4 'DM Sans',sans-serif;order:3;font-variant-numeric:tabular-nums;color:#716049}.dish p{font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.8;letter-spacing:.1px;color:#736e65;max-width:92%;margin:12px 0 0}.menu-bottom{font-size:12px;margin-top:32px}footer .brand-logo{width:132px}.legal p,.legal li{font-family:'DM Sans',Arial,sans-serif}.legal .notice{font-size:14px}
@media(max-width:1050px){.menu-grid{column-gap:40px}.menu-heading{align-items:start}.hero{height:auto}}
@media(max-width:700px){header{height:125px}.brand-logo{width:93px}footer .brand-logo{width:110px}.hero{height:auto}.menu-section{padding:55px 7%}.menu-heading{display:block;margin-top:28px}.menu-heading h3{font-size:28px;margin-bottom:12px}.menu-heading .menu-time{font-size:13px}.tabs{gap:24px;margin-top:25px}.tabs button{font-size:13px;letter-spacing:.3px}.dish{padding:25px 0}.dish-title{gap:10px}.dish-title h3{font-size:22px}.dish-title b{font-size:15px}.dish p{font-size:15px;max-width:100%;line-height:1.8}}

/* Shared fixed navigation and the new editorial pages. */
html{scroll-padding-top:140px}.site-header{position:sticky;top:0;z-index:30;height:122px;margin:0;padding:12px 7%;background:rgba(240,236,230,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.site-header .brand-logo{width:88px}.brand-logo img{filter:none;mix-blend-mode:normal}.site-header nav{gap:25px}.site-header nav .reserve{display:inline-flex;border:1px solid #aaa08f;border-radius:30px;padding:10px 23px;font-size:14px}.site-header nav .reserve:hover{background:#e5ded2;text-decoration:none}.menu-toggle{display:flex;width:46px;height:46px;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:0;background:none;color:var(--ink)}.menu-toggle span{width:26px;height:1px;background:currentColor;transition:width .2s}.menu-toggle:hover span:last-child{width:18px}.hero{height:min(780px,calc(100svh - 122px))}.menu-open{overflow:hidden}.navigation-dialog{position:fixed;inset:0 0 auto auto;width:min(650px,100%);max-width:100%;max-height:100dvh;margin:0;padding:35px 50px 40px;background:var(--paper);color:var(--ink);border:0;box-shadow:-15px 0 70px #29251e22;overflow-y:auto}.navigation-dialog::backdrop{background:#24221f66;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:1px solid var(--line)}.dialog-top .eyebrow{margin:0;font-size:11px;letter-spacing:1px}.menu-close{display:flex;align-items:center;gap:14px;padding:8px 0;background:none;border:0;font-size:14px;color:var(--ink)}.menu-close span{font-size:30px;line-height:1}.menu-links{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:25px 0}.menu-links a{display:flex!important;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;font:36px/1.3 Georgia,serif;border-bottom:1px solid var(--line)}.menu-links a:hover{color:var(--accent);text-decoration:none}.menu-links a span{font:13px 'DM Sans',sans-serif;color:var(--muted)}.dialog-bottom p{margin:22px 0 8px;font-size:14px}.dialog-bottom>a{font-size:22px}.page-intro{padding:75px 8% 65px;max-width:1250px}.page-intro h1{font-size:clamp(42px,5.5vw,76px);line-height:1.12}.page-intro h1 em{font-size:1em;white-space:normal}.page-intro p{max-width:590px;margin-bottom:0}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:60px 7%;padding:0 8% 85px;align-items:start}.gallery figure{margin:0}.gallery figure img{width:100%;height:420px;object-fit:cover}.gallery figure.gallery-wide{grid-column:1/-1}.gallery .gallery-wide img{height:530px}.gallery .gallery-offset{padding-top:90px}.gallery figcaption{padding-top:22px}.gallery figcaption>span,.past-grid article>span{font-size:12px;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted)}.gallery h2{font-size:32px;margin:9px 0;letter-spacing:-.5px}.gallery p{margin:0;font-size:14px}.page-invitation{padding:65px 8% 75px;text-align:center;background:#e5e0d6}.page-invitation h2{font-size:clamp(34px,4vw,55px)}.page-invitation p{max-width:560px;margin:24px auto}.page-invitation .button{margin-top:28px}.page-invitation .eyebrow{margin-bottom:20px}.events-section{padding:85px 8%}.events-section .section-intro{align-items:start}.events-section .section-intro>p{max-width:360px;margin:0}.event-feature{display:grid;grid-template-columns:1.1fr 1fr;margin-top:50px;background:#e8e2da}.event-picture{position:relative;min-height:450px}.event-picture img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.event-copy{padding:48px 12%}.event-date{font-size:12px;letter-spacing:1.1px;color:#655339;display:block;margin-bottom:25px}.event-copy h3{font:42px/1.15 Georgia,serif;margin:0;letter-spacing:-.5px}.event-copy p{font-size:16px}.event-phone{display:block;font-size:14px;margin-top:20px}.past-events{padding-top:65px}.past-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.past-grid article{border-top:1px solid #bcb3a7;padding-top:22px}.past-grid h3{font:30px Georgia;margin:14px 0}.past-grid p{font-size:15px;margin:12px 0}.celebration .feature-copy{padding:50px 12%;transform:none}.celebration .feature-image img{transform:none;top:0;height:100%}.image-note{font-size:12px}.eyebrow{font-size:12px}.small-link{font-size:12px}.button{font-size:13px;letter-spacing:.5px}.credits{font-size:12px}.footer-links{flex-wrap:wrap;font-size:14px}.dish p{font-size:16px}
@media(max-width:1050px){.hero{height:auto}.page-intro{padding-top:55px}.gallery figure img{height:330px}.gallery .gallery-wide img{height:440px}.event-copy{padding:35px 9%}.event-copy h3{font-size:36px}.events-section .section-intro{gap:35px}.celebration .feature-copy{padding:40px 10%}}
@media(max-width:700px){html{scroll-padding-top:115px}.site-header{height:104px;padding:9px 6%;gap:15px}.site-header .brand-logo{width:75px}.site-header nav{gap:12px}.site-header nav .reserve{display:inline-flex;padding:9px 18px;font-size:13px}.menu-toggle{width:40px}.hero{height:auto}.navigation-dialog{padding:24px 7% 32px}.dialog-top .eyebrow{max-width:160px;font-size:10px}.menu-links a{font-size:32px;padding:15px 0}.page-intro{padding:42px 7%}.page-intro h1{font-size:42px}.gallery{padding:0 7% 55px;gap:38px;grid-template-columns:1fr}.gallery figure.gallery-wide{grid-column:auto}.gallery figure img,.gallery .gallery-wide img{height:320px}.gallery .gallery-offset{padding-top:0}.gallery h2{font-size:29px}.gallery figcaption{padding-top:17px}.page-invitation{padding:45px 7% 50px}.page-invitation h2{font-size:36px}.events-section{padding:50px 7%}.events-section .section-intro>p{max-width:none}.event-feature{display:flex;flex-direction:column;margin-top:30px}.event-picture{min-height:300px}.event-copy{padding:30px 8% 35px}.event-copy h3{font-size:37px}.past-grid{grid-template-columns:1fr;gap:24px}.past-events{padding-top:40px}.celebration .feature-copy{padding:35px 8% 40px}.celebration .feature-image{height:330px}.footer-links{gap:15px 20px}footer .brand-logo{width:95px}.hero .eyebrow{font-size:11px}.credits{font-size:11px}.hero-foot{font-size:10px}.small-link{font-size:11px}}

.menu-pending:disabled{color:var(--muted);cursor:default;opacity:.7;background:transparent}.event-copy .menu-status{font-size:13px;margin:10px 0 0}.event-copy .reservation-note{font-size:15px;letter-spacing:.3px;margin-top:24px}.gallery img[src*="eck-innenraum"]{object-position:center 58%}.celebration img[src*="eck-feiern"]{object-position:center 54%}
.feature-image img[src*="eck-quiche"]{object-position:center 66%}.event-picture img[src*="eck-fine-dining"]{object-position:center center}

.menu-toggle{gap:6px}.feature-image img[src*="eck-quiche-cappuccino"]{object-position:center center}

.weekly-button{display:flex;flex-direction:column;gap:6px;padding:22px 30px;min-width:290px;border-radius:8px;background:#66533e;color:#fffaf2;box-shadow:0 5px 18px #66533e15;transition:background .2s}.weekly-button span{font-size:11px;letter-spacing:1.8px}.weekly-button strong{font:26px/1.25 Georgia,serif}.weekly-button small{font-size:13px;line-height:1.5}.weekly-button:hover{background:#4f402f}.menu-links .weekly-nav{color:#776044}.menu-links .weekly-nav span{font-size:11px;letter-spacing:1px}@media(max-width:700px){.weekly-button{width:100%;min-width:0;margin:28px 0 5px;padding:22px 24px}.weekly-button strong{font-size:25px}}

.weekly-menu-link{flex-shrink:0;white-space:nowrap;background:transparent;border-radius:40px;box-shadow:none}@media(max-width:700px){.weekly-menu-link{margin:4px 0 5px;white-space:normal}}

.feature:first-child .feature-image img{object-fit:cover;object-position:center;height:100%;top:0;transform:none}

/* Keep the service line entirely inside the hero image, without a lower strip. */
.hero-image{left:0}
.hero-foot{z-index:2;right:8%;bottom:25px;line-height:1.7;text-shadow:0 0 12px var(--paper),0 0 5px var(--paper)}
@media(max-width:700px){.hero{padding-bottom:0}.hero-image{left:auto;height:360px}.hero-foot{left:7%;right:7%;bottom:20px;max-width:290px}.hero-image img{object-position:70% 50%}}
.privacy-note{margin:0;padding:22px 7%;background:#e8e2da;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}
.privacy-note p{font-size:13px;line-height:1.6;max-width:760px;margin:0}.privacy-note a{text-decoration:underline}.privacy-note .button{flex-shrink:0;background:transparent;color:var(--ink);cursor:pointer}
@media(max-width:700px){.privacy-note{align-items:flex-start;flex-direction:column;gap:14px}}
