
/* La Ville 2026: restrained, legible dining navigation and generous visit CTAs. */
.menus {
  position:relative;
  background:#eee8df;
  color:#26221f;
  padding:clamp(86px,9vw,132px) max(6vw,24px) clamp(90px,9vw,128px);
}
.menus::before {
  content:"";
  display:block;
  width:42px;
  height:1px;
  background:#a78c5f;
  margin:0 auto 30px;
}
.menus > .eyebrow {color:#826743;letter-spacing:.22em;}
.menus h2 {color:#2c2824;margin:15px auto 9px;}
.menus .menu-subhead {
  display:block;
  margin:0 auto clamp(32px,4vw,58px);
  color:#665c51;
  font-size:14px;
  line-height:1.6;
  letter-spacing:.005em;
}
.menus .menu-links {
  max-width:1130px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
  border:0;
}
.menus .menu-links > a {
  border:1px solid #d8cdc0;
  background:#faf7f1;
  color:#27241f;
  min-height:235px;
  padding:34px 28px 28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:17px;
  position:relative;
  transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;
}
.menus .menu-links > a+a {border:1px solid #d8cdc0;}
.menus .menu-links > a:hover,
.menus .menu-links > a:focus-visible {
  background:#ffffff;
  border-color:#a78c5f;
  box-shadow:0 14px 32px rgba(71,50,36,.08);
  transform:translateY(-2px);
}
.menus .menu-links > a .eyebrow {
  color:#846f54;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.6;
}
.menus .menu-links .menutitle {
  color:#29241f;
  font-size:clamp(32px,3.25vw,47px);
  line-height:1.02;
  font-weight:500;
  overflow-wrap:break-word;
}
.menus .menu-links > a > svg {
  color:#8c734f;
  width:17px;
  height:17px;
}
.menus .menu-links .menu-cue {
  color:#7e6543;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  border-bottom:1px solid #b99e76;
  padding-bottom:4px;
  margin-top:2px;
}
.visit .visit-actions {
  margin-top:32px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;
}
.visit .visit-actions .btn,
.visit .visit-actions .directions-link {
  margin:0;
  min-height:50px;
  padding:16px 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:11px;
  line-height:1.3;
  letter-spacing:.11em;
}
.visit .visit-actions .directions-link {
  border:1px solid #897860;
  color:#eee4d4;
  text-decoration:none;
  transition:background .2s,color .2s;
}
.visit .visit-actions .directions-link:hover,
.visit .visit-actions .directions-link:focus-visible {
  background:#eee4d4;
  color:#241f1e;
}
@media (max-width:900px) {
  .menus .menu-links {gap:12px;}
  .menus .menu-links > a {padding:28px 15px;min-height:195px;}
}
@media (max-width:700px) {
  .menus {padding:78px 20px 85px;}
  .menus h2 {font-size:clamp(70px,18vw,94px);}
  .menus .menu-subhead {margin:0 auto 28px;font-size:13px;}
  .menus .menu-links {grid-template-columns:1fr;max-width:480px;gap:13px;}
  .menus .menu-links > a {
    min-height:134px;
    padding:23px 60px 22px 24px;
    align-items:flex-start;
    gap:10px;
    text-align:left;
  }
  .menus .menu-links .menutitle {font-size:clamp(31px,9vw,42px);}
  .menus .menu-links > a > svg {position:absolute;right:24px;top:50%;transform:translateY(-50%);width:19px;height:19px;}
  .menus .menu-links .menu-cue {margin-top:0;}
  .visit .visit-actions {margin-top:30px;flex-direction:column;align-items:stretch;gap:16px;}
  .visit .visit-actions .btn,.visit .visit-actions .directions-link {width:100%;min-height:54px;}
}
