:root{--bg:#0A0A0A;--surface:#151515;--card:#121212;--line:#1F1F1F;--line2:#262626;--line3:#2A2A2A;--text:#F5F2EA;--white:#FFFFFF;--muted:#B4AFA4;--subtle:#8C877D;--gold:#FCDC6B;--ink:#0A0A0A;--display:'Jost',system-ui,sans-serif;--body:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;--jp:'Hiragino Sans','Yu Gothic','Noto Sans JP','Meiryo',sans-serif;--header-h:77px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%}
a{color:var(--gold)}a:hover{color:#FFE9A6}
h1,h2,h3{font-family:var(--display);font-weight:500;color:var(--white);margin:0}
p{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.gold{color:var(--gold)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ico{flex:none}

/* Topbar */
.topbar{background:#000;border-bottom:1px solid #1C1C1C;font-size:13px;color:var(--muted)}
.topbar .wrap{padding-top:9px;padding-bottom:9px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px}
.topbar .hl{color:var(--gold);font-weight:600;letter-spacing:.04em}

/* Header */
.header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.45)}
.header .wrap{padding-top:6px;padding-bottom:6px;display:flex;align-items:center;justify-content:space-between;gap:12px 32px}
.logo{display:flex;align-items:center}
.logo img{height:64px;width:auto;display:block}
.nav{display:flex;gap:0 30px;font-family:var(--display);font-weight:500;font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.nav a{color:var(--text);text-decoration:none;padding:14px 0}
.nav a:hover,.nav a[aria-current=page]{color:var(--gold)}
.header-actions{display:flex;align-items:center;gap:8px}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid #2E2E2E;border-radius:999px;background:var(--surface);color:var(--text);align-items:center;justify-content:center;cursor:pointer;padding:0}
.mobile-nav{display:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:999px;font-family:var(--body);font-weight:700;font-size:16px;text-decoration:none;border:0;cursor:pointer;white-space:nowrap}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{color:var(--ink);filter:brightness(1.06)}
.btn-glow{box-shadow:0 0 0 4px rgba(252,220,107,.16),0 0 24px rgba(252,220,107,.3)}
.btn-outline{background:transparent;border:1.5px solid #4A4A4A;color:var(--text);font-weight:600}
.btn-outline:hover{color:var(--white);border-color:#707070}
.btn-lg{min-height:56px;padding:0 30px;font-size:17px}
.link-arrow{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;font-size:16px;color:var(--gold);text-decoration:none}
.link-arrow:hover{text-decoration:underline}

/* Section basics */
.section{border-top:1px solid #1A1A1A}
.section > .wrap{padding-top:96px;padding-bottom:96px}
.eyebrow{font-family:var(--display);font-size:13px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.h2{font-size:clamp(32px,4vw,50px);line-height:1.05}
.sec-head{display:flex;flex-direction:column;gap:12px;margin-bottom:44px}
.sec-head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:44px}
.sec-head-row > div{display:flex;flex-direction:column;gap:12px}
.lead{font-size:18px;line-height:1.65;color:var(--muted)}

/* Hero */
.hero{overflow:hidden}
.hero .wrap{padding-top:72px;padding-bottom:104px;display:flex;flex-wrap:wrap;gap:64px;align-items:center}
.hero-text{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:28px}
.kicker-row{display:flex;align-items:center;gap:14px}
.jp{font-family:var(--jp);font-size:20px;color:var(--gold);white-space:nowrap}
.rule{width:32px;height:1px;background:#4A4436}
.kicker{font-family:var(--display);font-size:13px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.hero h1{font-size:clamp(44px,6vw,86px);line-height:1;letter-spacing:-.01em}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.facts{list-style:none;margin:8px 0 0;padding:22px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:14px 32px;font-size:15px;font-weight:500}
.facts li{display:flex;align-items:center;gap:10px}
.hero-media{flex:1 1 420px;min-width:0;display:flex;justify-content:center;padding:16px 0}
.hero-circle{position:relative;width:100%;max-width:500px;aspect-ratio:1/1}
.hero-circle > img{width:100%;height:100%;object-fit:cover;border-radius:999px;display:block;background:#000;box-shadow:0 0 0 2px rgba(252,220,107,.55),0 0 56px 8px rgba(252,220,107,.22)}
.badge{position:absolute;top:2%;right:-2%;width:136px;height:136px;border-radius:999px;background:var(--gold);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-8deg);box-shadow:0 10px 30px rgba(0,0,0,.5)}
.badge b{font-family:var(--display);font-size:38px;font-weight:600;line-height:1}
.badge small{font-size:13px;font-weight:700;margin-top:4px}

/* Offers */
.offers .wrap{padding-top:24px;padding-bottom:104px}
.offer-grid{display:flex;flex-wrap:wrap;gap:24px}
.offer{flex:1 1 420px;min-width:0;border-radius:24px;padding:40px;display:flex;flex-wrap:wrap;gap:20px 36px;align-items:center}
.offer-num{font-family:var(--display);font-size:112px;font-weight:500;line-height:.9;letter-spacing:-.03em}
.offer-body{flex:1 1 220px;display:flex;flex-direction:column;gap:10px}
.offer-body h3{font-size:28px;font-weight:600}
.offer-body p{font-size:16px;line-height:1.55}
.offer-gold{background:var(--gold);color:var(--ink)}
.offer-gold h3,.offer-gold .link-arrow{color:var(--ink)}
.offer-gold p{color:#2B2610}
.offer-dark{background:var(--surface);border:1px solid var(--line3)}
.offer-dark .offer-num{color:var(--gold)}
.offer-dark p{color:var(--muted)}

/* Signature */
.sig-grid{display:flex;flex-wrap:wrap;gap:28px}
.sig{flex:1 1 250px;min-width:0;display:flex;flex-direction:column;gap:16px}
.sig img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;display:block;background:#000}
.sig-body{display:flex;flex-direction:column;gap:8px}
.sig-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.sig h3{font-size:22px}
.pcs{font-size:13px;color:var(--subtle);white-space:nowrap}
.sig p{font-size:14px;line-height:1.55;color:var(--muted)}
.sig-price{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:4px}
.sig-price b{font-family:var(--display);font-size:24px;font-weight:500;color:var(--white)}
.sig-price span{font-size:13px;font-weight:600;color:var(--gold)}

/* Poke band */
.band img{width:100%;height:480px;object-fit:cover;display:block;background:#151515}
.band .wrap{margin-top:-140px;position:relative}
.band-card{max-width:540px;background:var(--bg);border:1px solid var(--line2);border-radius:24px;padding:36px 40px;display:flex;flex-direction:column;gap:14px}
.band-card h2{font-size:38px;line-height:1.1}
.band-card p{font-size:17px;line-height:1.6;color:var(--muted)}

/* Categories */
.cat-grid{display:flex;flex-wrap:wrap;gap:32px 20px}
.cat{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--text)}
.cat img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;display:block;background:#000;transition:transform .3s ease}
.cat:hover img{transform:scale(1.02)}
.cat-label{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.cat-label b{font-family:var(--display);font-size:19px;font-weight:500;color:var(--white)}
.cat-label span{font-size:14px;color:var(--subtle);white-space:nowrap}

/* Delivery */
.deliv-grid{display:flex;flex-wrap:wrap;gap:24px;align-items:stretch}
.panel{background:var(--surface);border:1px solid var(--line2);border-radius:24px;padding:40px;display:flex;flex-direction:column;gap:20px}
.panel-deliv{flex:1 1 540px;min-width:0}
.panel-pickup{flex:1 1 380px;min-width:0;border:1.5px solid var(--gold)}
.panel h3{font-size:30px}
.panel > p{font-size:17px;line-height:1.6;color:var(--muted)}
.panel-head{display:flex;align-items:center;gap:14px}
.panel-head.between{justify-content:space-between}
.ring{width:52px;height:52px;border-radius:999px;border:1px solid #3A3523;color:var(--gold);display:flex;align-items:center;justify-content:center;flex:none}
.pill{background:var(--gold);color:var(--ink);font-weight:700;font-size:15px;padding:7px 14px;border-radius:999px}
.plz{background:var(--bg);border:1px solid var(--line2);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:12px}
.plz label{font-weight:600;font-size:16px;color:var(--white)}
.plz-row{display:flex;flex-wrap:wrap;gap:10px}
.plz input{flex:1 1 200px;min-width:0;height:52px;padding:0 16px;border:1.5px solid #3A3A3A;border-radius:12px;font-family:inherit;font-size:16px;background:var(--surface);color:var(--text)}
.plz input:focus{outline:2px solid var(--gold);outline-offset:1px}
.plz button{height:52px;padding:0 26px;border-radius:12px}
.plz-hint{font-size:14px;color:var(--subtle)}
.plz-result{display:none;gap:10px;align-items:flex-start;border-radius:12px;padding:12px 14px;font-size:15px;line-height:1.45}
.plz-result.ok{display:flex;background:#12210F;border:1px solid #2C4A22;color:#C6E8AE}
.plz-result.no{display:flex;background:#2A1510;border:1px solid #5A2C1E;color:#F7C3B0}
.check-line{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.55}
.info-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;font-size:16px}
.info-list li{display:flex;gap:12px;align-items:center}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:8px}

/* About + slideshow */
.about .wrap{display:flex;flex-wrap:wrap;gap:64px;align-items:center}
.slider{flex:1 1 440px;min-width:0;position:relative;aspect-ratio:4/3;border-radius:24px;overflow:hidden;background:var(--surface)}
.slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .9s ease}
.slider img.on{opacity:1}
.slide-cap{position:absolute;top:14px;left:14px;max-width:70%;padding:7px 14px;border-radius:999px;background:rgba(10,10,10,.72);color:#fff;font-family:var(--display);font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slide-ctrl{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:8px}
.slide-count{min-width:60px;text-align:center;padding:7px 10px;border-radius:999px;background:rgba(10,10,10,.72);color:var(--text);font-size:13px;font-weight:600}
.slide-btn{width:44px;height:44px;padding:0;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(10,10,10,.72);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.slide-btn.next{background:var(--gold);color:var(--ink);border:0}
.about-text{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:22px}
.points{display:flex;flex-direction:column;gap:20px;margin-top:8px}
.point{display:flex;gap:16px;align-items:flex-start}
.point .ring{width:48px;height:48px}
.point div{display:flex;flex-direction:column;gap:4px}
.point h3{font-size:19px}
.point p{font-size:16px;line-height:1.55;color:var(--muted)}

/* Contact */
.contact .wrap{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.contact-text{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:26px}
.contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px;font-size:17px;line-height:1.5}
.contact-list li{display:flex;gap:14px;align-items:flex-start}
.contact-list .ico{margin-top:3px}
.contact-list a{color:var(--text)}
.contact-img{flex:1 1 380px;min-width:0;width:100%;max-width:520px;aspect-ratio:4/5;object-fit:cover;border-radius:24px;display:block;margin:0 auto;background:#000}

/* Footer */
.footer{background:#000;color:var(--muted);border-top:1px solid #1A1A1A}
.footer-top{padding-top:56px;padding-bottom:28px;display:flex;flex-wrap:wrap;gap:40px 56px;justify-content:space-between;align-items:flex-start}
.footer-brand{flex:1 1 280px;max-width:360px;display:flex;flex-direction:column;gap:16px}
.footer-brand img{width:132px;height:auto;display:block}
.footer-brand p{font-size:15px;line-height:1.6}
.footer-cols{display:flex;flex-wrap:wrap;gap:32px 64px}
.footer-col{display:flex;flex-direction:column;gap:4px;font-size:15px}
.footer-col p{margin:0 0 8px;font-family:var(--display);font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.footer-col a{color:#E8E4DA;text-decoration:none;padding:6px 0}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid var(--line);padding:20px 0 28px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;font-size:14px}
.social{display:flex;gap:8px}
.social a{width:44px;height:44px;border-radius:999px;border:1px solid #2E2E2E;color:var(--text);display:flex;align-items:center;justify-content:center}

/* Floating order button (desktop) + order bar (mobile) */
.fab{position:fixed;right:28px;bottom:28px;z-index:30;min-height:60px;padding:0 30px;font-size:18px;box-shadow:0 0 0 5px rgba(252,220,107,.2),0 0 32px rgba(252,220,107,.35),0 14px 32px rgba(0,0,0,.6);opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.fab.show{opacity:1;transform:none;pointer-events:auto}
.orderbar{display:none}

/* ---------- Speisekarte ---------- */
.menu-hero .wrap{padding-top:64px;padding-bottom:44px;display:flex;flex-wrap:wrap;gap:28px 48px;align-items:flex-end;justify-content:space-between}
.menu-hero-text{flex:1 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}
.menu-hero h1{font-size:clamp(38px,5vw,68px);line-height:1.02}
.menu-hero-text p{max-width:620px;font-size:17px;line-height:1.6;color:var(--muted)}
.toggle-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.toggle{display:flex;gap:4px;padding:5px;background:var(--surface);border:1px solid var(--line3);border-radius:999px}
.toggle button{min-height:46px;padding:0 22px;border:0;border-radius:999px;background:transparent;color:var(--text);font-family:inherit;font-weight:700;font-size:15px;cursor:pointer}
.toggle button[aria-pressed=true]{background:var(--gold);color:var(--ink)}
.toggle-note{font-size:13px;color:var(--subtle)}
.catnav{position:sticky;top:var(--header-h);z-index:15;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.catnav .wrap{padding-top:12px;padding-bottom:12px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin}
.catnav a{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--surface);border:1px solid var(--line3);color:var(--text);font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap}
.catnav a:hover{border-color:var(--gold);color:var(--gold)}
.menu-body{padding-top:8px;padding-bottom:40px}
.msec{padding-top:56px;display:flex;flex-direction:column;gap:22px;scroll-margin-top:calc(var(--header-h) + 76px)}
.msec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.msec-head h2{font-size:36px}
.msec-head p{font-size:15px;color:var(--subtle)}
.items{display:flex;flex-wrap:wrap;gap:16px}
.item{flex:1 1 480px;min-width:0;display:flex;gap:20px;padding:16px;background:var(--card);border:1px solid #222;border-radius:20px}
.item-img{flex:none;width:168px;height:126px;object-fit:cover;border-radius:14px;display:block;background:#000}
.item-ph{flex:none;width:168px;height:126px;border-radius:14px;background:#000;border:1px dashed #2E2E2E;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.item-ph img{width:70px;height:auto;display:block}
.item-ph span{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle)}
.item-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}
.item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.item-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.item-name h3{font-size:20px;line-height:1.2}
.item-name span{font-size:13px;font-weight:500;color:var(--subtle)}
.item-price{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.item-price b{font-family:var(--display);font-size:21px;font-weight:500;color:var(--white);white-space:nowrap}
.item-price small{font-size:12px;white-space:nowrap}
.item-price s{color:var(--subtle);font-weight:500}
.item-price em{font-style:normal;color:var(--gold);font-weight:700}
.item-desc{font-size:14px;line-height:1.5;color:var(--muted)}
.item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:auto;padding-top:4px}
.tag{font-size:12px;font-weight:700;border:1px solid #3D5A2A;color:#BFE3A6;padding:2px 9px;border-radius:999px}
.allerg{font-size:12px;color:var(--subtle)}
.lists{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.list-card{flex:1 1 340px;min-width:0;background:var(--card);border:1px solid #222;border-radius:20px;padding:24px;scroll-margin-top:calc(var(--header-h) + 76px)}
.list-card h3{font-size:22px;margin-bottom:8px}
.list-card ul{list-style:none;margin:0;padding:0}
.list-card li{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.list-card li:last-child{border-bottom:0}
.li-img{flex:none;width:56px;height:56px;object-fit:cover;border-radius:10px;display:block;background:#000}
.li-ph{flex:none;width:56px;height:56px;border-radius:10px;background:#000;border:1px dashed #2E2E2E}
.li-name{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.li-name span{font-size:16px;color:var(--text)}
.li-name small{font-size:13px;color:var(--subtle)}
.li-price{font-family:var(--display);font-size:18px;font-weight:500;color:var(--white);white-space:nowrap}
.cta-box{margin-top:64px;padding:28px 32px;border-radius:24px;background:var(--surface);border:1.5px solid var(--gold);display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.cta-box p{font-size:16px;line-height:1.55}
.cta-box p a{font-weight:700}
.footer-slim{padding-top:40px;padding-bottom:32px;display:flex;flex-wrap:wrap;gap:24px 48px;justify-content:space-between;align-items:center}
.footer-slim img{width:104px;height:auto;display:block}
.footer-slim nav{display:flex;flex-wrap:wrap;gap:0 28px;font-size:15px}
.footer-slim nav a{color:#E8E4DA;text-decoration:none;padding:12px 0}

/* ---------- Tablet & Handy ---------- */
@media (max-width:980px){
  :root{--header-h:63px}
  .nav{display:none}
  .menu-toggle{display:inline-flex}
  .logo img{height:50px}
  .header .btn{min-height:44px;padding:0 18px;font-size:15px}
  .header .btn .ico{display:none}
  .mobile-nav{position:absolute;left:0;right:0;top:100%;z-index:25;background:var(--bg);border-bottom:1px solid var(--line2);box-shadow:0 16px 32px rgba(0,0,0,.6);flex-direction:column;padding:8px 16px 18px;font-family:var(--display)}
  .mobile-nav.open{display:flex}
  .mobile-nav a{padding:14px 0;border-bottom:1px solid var(--line);color:var(--white);font-weight:500;font-size:20px;text-decoration:none}
  .mobile-nav a:last-child{border-bottom:0}
  .fab{display:none}
  .orderbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line2);box-shadow:0 -10px 24px rgba(0,0,0,.6);align-items:center;gap:12px}
  .orderbar div{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
  .orderbar b{font-size:15px;color:var(--white)}
  .orderbar span{font-size:13px;color:var(--muted)}
  .orderbar .btn{min-height:50px;padding:0 22px;box-shadow:0 0 0 4px rgba(252,220,107,.18),0 0 22px rgba(252,220,107,.3)}
  body{padding-bottom:84px}
}
@media (max-width:700px){
  .wrap{padding-left:16px;padding-right:16px}
  .topbar .wrap{justify-content:center;text-align:center}
  .topbar .addr{display:none}
  .section > .wrap{padding-top:44px;padding-bottom:44px}
  .sec-head,.sec-head-row{margin-bottom:22px}
  .eyebrow{font-size:12px}
  .h2{font-size:30px;line-height:1.1}
  .hero .wrap{padding-top:32px;padding-bottom:40px;gap:24px}
  .hero-text{gap:18px}
  .hero h1{font-size:44px;line-height:1.02}
  .kicker{font-size:12px;letter-spacing:.18em}
  .jp{font-size:17px}
  .rule{width:24px}
  .cta-row{flex-direction:column}
  .cta-row .btn{width:100%;min-height:54px}
  .facts{flex-direction:column;gap:12px;padding-top:18px}
  .hero-media{order:3;padding:0}
  .hero-text .facts{order:4}
  .hero-circle{max-width:300px}
  .badge{width:96px;height:96px;top:-6px;right:-18px}
  .badge b{font-size:26px}
  .badge small{font-size:11px;margin-top:2px}
  .offers .wrap{padding-top:8px;padding-bottom:44px}
  .offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .offer{padding:18px 16px;gap:6px;flex-direction:column;align-items:flex-start;border-radius:18px}
  .offer-num{font-size:46px;line-height:1}
  .offer-body{flex:none;gap:4px}
  .offer-body h3{font-size:16px;font-family:var(--body);font-weight:700}
  .offer-body p{font-size:13px;line-height:1.4}
  .offer-body .long{display:none}
  .offer-body .link-arrow{display:none}
  .sig-grid{flex-wrap:nowrap;overflow-x:auto;gap:14px;margin:0 -16px;padding:0 16px 4px;scroll-snap-type:x mandatory}
  .sig{flex:none;width:264px;gap:12px;scroll-snap-align:start}
  .sig img{border-radius:16px}
  .sig h3{font-size:20px}
  .sig p{font-size:13px}
  .sig-price b{font-size:21px}
  .sig-price span{font-size:12px}
  .band img{height:260px}
  .band .wrap{margin-top:-56px}
  .band-card{padding:22px 20px;border-radius:20px;gap:10px}
  .band-card h2{font-size:28px}
  .band-card p{font-size:15px}
  .cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .cat{gap:8px}
  .cat img{border-radius:12px}
  .cat-label{flex-direction:column;gap:0}
  .cat-label b{font-size:17px}
  .cat-label span{font-size:13px}
  .deliv-grid{gap:16px}
  .panel{padding:22px 20px;border-radius:20px;gap:14px}
  .panel h3{font-size:24px}
  .panel > p{font-size:15px}
  .panel-deliv .ring{display:none}
  .plz{padding:0;border:0;background:transparent}
  .plz-row{flex-wrap:nowrap}
  .plz button{padding:0 18px}
  .about .wrap{gap:22px}
  .slider{border-radius:18px;flex-basis:auto;width:100%}
  .slide-cap{top:10px;left:10px;font-size:14px;padding:6px 12px}
  .slide-ctrl{right:10px;bottom:10px;gap:6px}
  .slide-count{min-width:54px;font-size:12px;padding:6px 8px}
  .points{gap:16px}
  .point .ring{width:44px;height:44px}
  .point h3{font-size:18px}
  .point p{font-size:14px}
  .lead{font-size:16px}
  .contact .wrap{gap:24px}
  .contact-img{max-width:100%;aspect-ratio:4/3}
  .footer-top{padding-top:32px;gap:24px}
  .footer-brand img{width:104px}
  .footer-cols{gap:20px 40px}
  /* Speisekarte */
  .menu-hero .wrap{padding-top:32px;padding-bottom:24px;gap:18px}
  .menu-hero h1{font-size:38px}
  .menu-hero-text p{font-size:15px}
  .toggle-wrap{align-items:stretch;width:100%}
  .toggle button{flex:1 1 0;padding:0 10px;font-size:14px}
  .msec{padding-top:36px;gap:16px}
  .msec-head{flex-direction:column;gap:4px;padding-bottom:10px}
  .msec-head h2{font-size:28px}
  .msec-head p{font-size:13px}
  .items{gap:10px}
  .item{flex-basis:100%;gap:12px;padding:10px;border-radius:16px}
  .item-img,.item-ph{width:112px;height:84px;border-radius:10px}
  .item-ph img{width:48px}
  .item-ph span{font-size:9px}
  .item-name h3{font-size:16px}
  .item-name span{font-size:12px}
  .item-price b{font-size:17px}
  .item-price small{font-size:11px}
  .item-desc{font-size:13px;line-height:1.45}
  .allerg{font-size:11px}
  .list-card{padding:18px}
  .cta-box{padding:20px;margin-top:40px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .slider img,.fab,.cat img{transition:none}
}