:root{--green:#063d31;--deep:#032a22;--gold:#d4a33e;--cream:#f5efe2}
*{box-sizing:border-box}
body{margin:0;background:#e9e5dd;color:#fff;font-family:Arial,sans-serif}
.catalog-shell{width:min(100%,1180px);min-height:100vh;margin:auto;background:var(--cream);box-shadow:0 10px 35px #001b1626}
header{text-align:center;background:radial-gradient(circle at 50% 0,#0b5b49,var(--deep) 72%);padding:26px 18px 24px;border-bottom:4px solid var(--gold)}
header img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 5px 10px #0007)}
header h1{margin:5px 0 3px;font:700 clamp(30px,8vw,40px) Georgia,serif}
header h1 span,header p span{display:block;margin-top:5px;color:#ecd496;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:.62em}
header p{margin:8px 0;color:#eee2c8;font-weight:700}
.languages{display:flex;justify-content:center;gap:8px;margin-top:14px}.languages b{padding:6px 14px;border:1px solid #d4a33e99;border-radius:99px;color:#f3ddad;font-size:12px}
.catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:16px}
.catalog-card{position:relative;display:flex;min-height:220px;overflow:hidden;flex-direction:column;justify-content:flex-end;padding:20px;border-radius:20px;color:#fff;text-decoration:none;text-shadow:0 2px 5px #000;border:1px solid #d4a33e88;box-shadow:0 8px 20px #00231c22;transition:transform .18s ease}
.catalog-card:hover,.catalog-card:focus-visible{transform:translateY(-3px);outline:3px solid var(--gold);outline-offset:2px}
.catalog-card::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,34,27,.97),rgba(0,34,27,.22));z-index:0}
.catalog-card>*{position:relative;z-index:1}.catalog-card h2{margin:7px 0 6px;font:700 28px/1 Georgia,serif}.catalog-card h2 span{display:block;margin-top:7px;color:#edd38e;font:700 15px Arial,sans-serif}.catalog-card small{color:#e0bd62;font-size:10px;font-weight:900;letter-spacing:1px}.catalog-card i{position:absolute;right:16px;bottom:16px;display:grid;width:38px;height:38px;place-items:center;border:2px solid var(--gold);border-radius:50%;color:var(--gold);font-size:22px;font-style:normal}.icon{position:absolute;right:18px;top:17px;color:var(--gold);font-size:28px}
.lunch{grid-column:1/-1;min-height:295px;background:url('catalog-assets/lunch.png') center/cover no-repeat}.tasting{background:url('catalog-assets/tasting.jpg') center/cover no-repeat}.alacarte{background:url('catalog-assets/alacarte.jpg') center/cover no-repeat}.japanese{background:url('catalog-assets/japanese.png') center/cover no-repeat;background-color:#173c35}.dessert{background:url('catalog-assets/dessert.webp') center/cover no-repeat}.drinks{background:radial-gradient(circle at 72% 20%,#9d753c 0 7%,transparent 8%),linear-gradient(145deg,#173c35,#061d18 72%)}
.lunch h2{font-size:36px}.lunch em{display:block;width:max-content;padding:9px 12px;border:1px solid #fff;border-radius:6px;background:#f9f8f6;color:#082a22;text-shadow:none;font-size:19px;font-weight:900;font-style:normal;box-shadow:0 5px 13px #0006}.lunch p{max-width:84%;margin:11px 0 0;font-size:13px;line-height:1.4}.lunch p span{display:block;margin-top:4px;color:#edd38e}.guide{position:absolute;right:12px;top:12px;display:flex;align-items:center;gap:8px;padding:8px 9px 8px 12px;border-radius:99px;background:#f9f8f6;color:#082a22;text-shadow:none;box-shadow:0 8px 20px #0006}.guide b,.guide small{display:block;color:#082a22;letter-spacing:0}.guide b{font-size:11px}.guide small{margin-top:2px;color:#8b6a27;font-size:9px}.guide strong{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--gold);font-size:18px}
@media(max-width:390px){.catalog-grid{gap:10px;padding:11px}.catalog-card{min-height:205px;padding:15px}.catalog-card h2{font-size:23px}.lunch{min-height:290px}.lunch h2{font-size:32px}.lunch p{max-width:90%;font-size:12px}}
@media(min-width:541px) and (max-width:1180px){
  body{background:var(--cream)}
  .catalog-shell{width:100%;box-shadow:none}
  header{padding:34px 28px 30px}
  header img{width:88px;height:88px}
  header h1{font-size:clamp(40px,6vw,58px)}
  header p{font-size:18px}
  .languages b{padding:8px 18px;font-size:14px}
  .catalog-grid{gap:20px;padding:24px}
  .catalog-card{min-height:300px;padding:28px;border-radius:24px}
  .catalog-card h2{font-size:clamp(34px,5vw,52px)}
  .catalog-card h2 span{font-size:20px}
  .catalog-card small{font-size:13px}
  .catalog-card i{right:24px;bottom:24px;width:50px;height:50px;font-size:28px}
  .icon{right:26px;top:24px;font-size:36px}
  .lunch{min-height:390px}
  .lunch h2{font-size:clamp(46px,7vw,66px)}
  .lunch em{padding:12px 16px;font-size:clamp(24px,3.5vw,34px)}
  .lunch p{max-width:72%;font-size:17px}
  .guide{right:20px;top:20px;padding:10px 11px 10px 15px}
  .guide b{font-size:14px}.guide small{font-size:11px}.guide strong{width:40px;height:40px;font-size:22px}
}
