/* ══════════════════════════════════════════════════════════════════
   LA VALETTE BOUTIQUE — LEGACY PAGE MAPPING LAYER
   ──────────────────────────────────────────────────────────────────
   Layer 2 of 2. Requires design-system.css to be loaded first.

   These pages were built on the previous dark theme and use their own
   short class names (.sec, .sk, .bc, .fd, .ncta …). Rather than touch a
   single line of their markup, this layer restyles those existing class
   names using homepage tokens. No HTML changes, no content changes.

   SECTION 1 remaps the old dark-theme CSS variables onto the new light
   palette. This matters because some markup carries inline styles like
   color:var(--iv,#F2EDE2). Because the variable is now DEFINED, the
   hard-coded dark-theme fallback never applies — the inline style
   silently resolves to the correct light-theme colour. That removes the
   need for dozens of !important overrides.
   ══════════════════════════════════════════════════════════════════ */

/* ═══ 1. LEGACY TOKEN REMAP ═══ */
:root {
  --iv:     var(--ink);          /* was ivory   #F2EDE2 */
  --ivory:  var(--ink);
  --bn:     var(--ink-70);       /* was bone    #C8C0B0 */
  --bone:   var(--ink-70);
  --as:     var(--ink-55);       /* was ash     #7A7268 */
  --ash:    var(--ink-55);
  --am:     var(--sage);         /* was amber   #B89970 */
  --amber:  var(--sage);
  --am2:    var(--sage-dk);
  --amber-lt: var(--sage-dk);
  --gold:   var(--sage);
  --gold2:  var(--sage-dk);
  --su:     var(--cream);        /* was surface #141210 */
  --wm:     var(--travertine);   /* was warm    #1A1714 */
  --bd:     var(--border-lt);
  --text-color: var(--ink-70);
  --mn-ivory: var(--ink);
  --mn-bone:  var(--ink-70);
  --mn-ash:   var(--ink-55);
  --mn-amber: var(--sage);
  --mn-border: var(--border-lt);
}

/* ═══ 2. NAVIGATION ═══
   SCOPED TO nav#nav DELIBERATELY. These pages contain three <nav> elements:
   the header (#nav), the mobile drawer (.drawer-nav) and the footer link
   row (.foot-primary). An earlier version of this file styled the bare
   `nav` element, so the footer's row inherited position:fixed;top:0 and
   rendered as a second header — 'To reserve · Journal · Contact ·
   Instagram' — above the content on every SEO page. The homepage never had
   this because its own CSS is scoped to the .nav class.
   CONTAINING-BLOCK WARNING. On these pages .drawer is a CHILD of nav#nav
   (on the homepage it is a child of <body>). transform, filter, backdrop-filter
   and will-change on an ancestor all make position:fixed descendants resolve
   against that ancestor instead of the viewport. An earlier version of this
   file set both backdrop-filter and transform:translateZ(0) directly on
   nav#nav, which shrank the full-screen drawer to the 390x81 nav box: the
   menu items spilled out over the hero, the author byline and the Reserve
   button. The glass is therefore painted on nav#nav::before instead. The
   pseudo-element carries the filter, so the nav element itself creates no
   containing block and the drawer is full-screen again. Do not move
   background/backdrop-filter/transform back onto nav#nav. */
nav#nav {
  --np: 0;
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: var(--z-sticky);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px var(--gutter);
}
nav#nav::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: rgba(242,235,224, calc(var(--np) * 0.72));
  -webkit-backdrop-filter: blur(calc(var(--np) * 20px)) saturate(1.4);
  backdrop-filter: blur(calc(var(--np) * 20px)) saturate(1.4);
  border-bottom: 1px solid rgba(20,22,20, calc(var(--np) * 0.04));
  transition: background var(--t-slow) var(--ez),
              backdrop-filter var(--t-slow) var(--ez),
              border-color var(--t-slow) var(--ez);
}
/* Class fallbacks, in case a page in the rollout does use them. */
nav#nav.sc, nav#nav.scrolled { --np: 1; }

nav#nav .logo { display: inline-flex; align-items: center; }
/* The markup carries an inline style="height:120px" on the logo, which the
   previous stylesheet also had to defeat. Matching the homepage's 32px logo
   (which yields an 85px nav) requires !important — the alternative is
   editing the markup, which is out of scope while content is locked. */
nav#nav .logo img {
  height: 88px !important;
  width: auto;
  display: block;
  /* logo.svg ships cream for dark backgrounds; invert to ink for light nav */
  filter: invert(1) brightness(0.15);
  transition: filter var(--t-slow) var(--ez), opacity var(--t-base);
}
@media (max-width: 768px) { nav#nav .logo img { height: 56px !important; } }

.nav-r { display: flex; align-items: center; gap: var(--s2); }

.lang-dd { position: relative; }
.lang-sel {
  appearance: none; -webkit-appearance: none;
  background: transparent; border: none; cursor: pointer;
  font-family: var(--font);
  font-size: var(--fs-micro);
  font-weight: var(--w-med);
  letter-spacing: var(--ls-kicker);
  text-transform: uppercase;
  color: var(--ink-70);
  padding: 8px 16px 8px 8px;
  transition: color var(--t-base) var(--ez-alt);
}
.lang-sel:hover { color: var(--ink); }
.lang-sel option { background: var(--white); color: var(--ink); letter-spacing: 0; text-transform: none; }
.lang-dd::after {
  content: ''; position: absolute; right: 4px; top: 50%;
  width: 5px; height: 5px;
  border-right: 1px solid var(--ink-40);
  border-bottom: 1px solid var(--ink-40);
  transform: translateY(-75%) rotate(45deg);
  pointer-events: none;
}

.ncta, .nav-cta {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 40px; padding: 10px 22px;
  font-size: var(--fs-micro); font-weight: var(--w-med);
  letter-spacing: var(--ls-kicker); text-transform: uppercase;
  color: var(--white); background: var(--sage);
  border: 1px solid var(--sage); border-radius: var(--r-sm);
  white-space: nowrap;
  transition: background var(--t-base) var(--ez-alt), border-color var(--t-base) var(--ez-alt);
}
.ncta:hover, .nav-cta:hover { background: var(--sage-dk); border-color: var(--sage-dk); }

.ham { display: none; background: none; border: none; cursor: pointer; padding: 6px; flex-direction: column; gap: 5px; }
.ham span { display: block; width: 22px; height: 1.5px; background: var(--ink); transition: transform var(--t-base) var(--ez-alt), opacity var(--t-base); }
.ham.x span:nth-child(1) { transform: rotate(45deg) translate(4px,5px); }
.ham.x span:nth-child(2) { opacity: 0; }
.ham.x span:nth-child(3) { transform: rotate(-45deg) translate(4px,-5px); }
@media (max-width: 899px) { .nav-r .lang-dd { display: none; } }

/* ═══ 3. DRAWER ═══ removed — now /assets/drawer.css (shared component) */

/* ═══ 4. BREADCRUMB ═══ */
.bc {
  padding: 96px var(--gutter) 0;
  font-size: var(--fs-micro);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  color: var(--ink-55);
}
.bc a { color: var(--ink-55); transition: color var(--t-base) var(--ez-alt); }
.bc a:hover { color: var(--sage-dk); }
.bc-sep { margin: 0 8px; opacity: 0.5; }

/* ═══ 5. HERO ═══ */
.hero {
  position: relative; overflow: hidden;
  padding: clamp(140px, 18vh, 200px) var(--gutter) var(--section-sm);
  text-align: center;
  background: var(--travertine);
}
.hero > * { position: relative; z-index: 2; }
.hero-vid-wrap { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.hero-vid { width: 100%; height: 100%; object-fit: cover; opacity: 0.28; filter: saturate(0.9); }
.hero-vid-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(242,235,224,0.55) 0%, rgba(242,235,224,0.35) 45%, rgba(242,235,224,0.75) 100%);
}
.hero .bc { padding: 0; margin-bottom: var(--s2); display: block; color: var(--ink-55); }
.hero h1 {
  font-size: var(--fs-display);
  letter-spacing: var(--ls-tighter);
  line-height: var(--lh-tight);
  margin-bottom: var(--s3);
}
.hero .hint {
  font-size: var(--fs-body-lg);
  color: var(--ink-70);
  max-width: 62ch;
  margin: 0 auto;
  line-height: var(--lh-body);
}

/* ═══ 6. KICKER (.sk / .kk) ═══ */
.sk, .kk, .sec-kicker, .clb, .rk {
  display: block;
  font-size: var(--fs-micro);
  font-weight: var(--w-med);
  letter-spacing: var(--ls-kicker);
  text-transform: uppercase;
  color: var(--sage);
  line-height: var(--lh-micro);
  margin-bottom: var(--s2);
}
.sk::before, .kk::before {
  content: ''; display: block;
  width: 20px; height: 1px;
  background: var(--sage);
  margin: 0 0 12px;
  opacity: 0.8;
}
.hero .sk { display: inline-block; }
.hero .sk::before { margin: 0 auto 12px; }

/* ═══ 7. SECTIONS ═══ */
.sec {
  padding: var(--section-sm) var(--gutter);
  position: relative;
}
.sec > * { max-width: var(--container-w); margin-left: auto; margin-right: auto; }
.si  { max-width: var(--container-w); margin: 0 auto; }
.siw { max-width: var(--container); margin: 0 auto; }

.sec h2 { margin-bottom: var(--s3); max-width: 24ch; }
.sec p {
  font-size: var(--fs-body-lg);
  line-height: var(--lh-body);
  color: var(--ink-70);
  margin-bottom: var(--s3);
  max-width: 68ch;
}
.sec p:last-child { margin-bottom: 0; }
.sec .btn { margin-top: var(--s3); }

/* Alternating surfaces — the homepage uses flat travertine, not gradients */
.bg-su { background: var(--cream); }
.bg-wm { background: var(--travertine); }

/* ═══ 8. FURTHER DISCOVER ═══ */
.fd {
  padding: var(--section-sm) var(--gutter) var(--s4);
  text-align: center;
  border-top: 1px solid var(--border-lt);
}
.fd-title {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font);
  font-size: var(--fs-micro);
  font-weight: var(--w-med);
  letter-spacing: var(--ls-kicker);
  text-transform: uppercase;
  color: var(--sage);
  cursor: pointer; user-select: none;
  padding: 10px 16px;
  border: 1px solid transparent; border-radius: var(--r-sm);
  transition: color var(--t-base) var(--ez-alt), border-color var(--t-base);
}
.fd-title:hover { color: var(--sage-dk); border-color: var(--border-lt); }
.fd-title-icon {
  width: 7px; height: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg) translate(-2px,-2px);
  transition: transform var(--t-slow) var(--ez);
}
.fd.open .fd-title-icon { transform: rotate(225deg) translate(-2px,-2px); }

/* Accordion. JS toggles .open on .fd and assigns a staggered
   transition-delay to each link, so the children animate in sequence. */
.fd-wrap {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--t-slow) var(--ez);
}
.fd.open .fd-wrap { max-height: 600px; }

.fd-links {
  display: flex; flex-wrap: wrap; justify-content: center;
  align-items: center; gap: 8px 4px;
  max-width: var(--container-w); margin: var(--s3) auto 0;
}
.fd-links a, .fd-links .fd-dot {
  opacity: 0;
  transform: translateY(4px);
  transition: opacity var(--t-slow) var(--ez), transform var(--t-slow) var(--ez),
              color var(--t-base) var(--ez-alt);
}
.fd.open .fd-links a, .fd.open .fd-links .fd-dot {
  opacity: 1;
  transform: translateY(0);
}
.fd-links a {
  font-size: var(--fs-caption);
  color: var(--ink-55);
  padding: 4px 6px;
}
.fd-links a:hover { color: var(--sage-dk); }
.fd-dot { color: var(--ink-25); }

@media (prefers-reduced-motion: reduce) {
  .fd-links a, .fd-links .fd-dot { opacity: 1; transform: none; }
}

/* ═══ 9. FOOTER ═══
   Lifted verbatim from index.html (brace-matched extraction) so this IS the
   homepage footer component, not a lookalike. The markup injected into each
   page is the homepage's own footer markup. */
/* ══════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════ */
  footer {
  background: var(--travertine);
  color: var(--ink-70);
  padding: var(--section-sm) 0 var(--s4);
  border-top: 1px solid var(--border-lt);
  }
.foot-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--s4);
  }
.foot-brand-name {
  font-family: var(--font);
  font-size: var(--fs-h3);
  font-weight: var(--w-book);
  color: var(--ink);
  letter-spacing: 0;
  margin: 0;
  }
.foot-brand-tag {
  font-size: var(--fs-body-tight);
  line-height: 1.35;
  color: var(--ink-70);
  margin: 6px 0 0;
  font-style: italic;
  }
/* Primary guest row — the four things a guest actually reaches for */
  .foot-primary {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--s3) var(--s5);
  padding: var(--s2) 0;
  }
.foot-primary a {
  font-size: var(--fs-body-tight);
  font-weight: var(--w-med);
  color: var(--ink);
  letter-spacing: 0.02em;
  padding: 6px 0;
  border-bottom: 1px solid transparent;
  transition: color var(--t-base) var(--ez-alt), border-color var(--t-base);
  }
.foot-primary a:hover {
  color: var(--sage-dk);
  border-bottom-color: var(--sage);
  }
/* Collapsible "Explore the region" — preserves SEO without dominating */
  .foot-explore {
  width: 100%;
  max-width: 720px;
  border-top: 1px solid var(--border-lt);
  border-bottom: 1px solid var(--border-lt);
  padding: 0;
  }
.foot-explore summary {
  list-style: none;
  cursor: pointer;
  padding: var(--s3) 0;
  font-size: var(--fs-micro);
  font-weight: var(--w-med);
  letter-spacing: var(--ls-kicker);
  text-transform: uppercase;
  color: var(--sage);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: color var(--t-base);
  }
.foot-explore summary::-webkit-details-marker { display: none; }
.foot-explore summary::after {
  content: '';
  display: inline-block;
  width: 8px; height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform var(--t-base) var(--ez-alt);
  }
.foot-explore[open] summary::after {
  transform: rotate(-135deg) translate(-2px, -2px);
  }
.foot-explore summary:hover { color: var(--sage-dk); }
.foot-explore-links {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px var(--s4);
  padding: 0 0 var(--s4);
  text-align: left;
  }
@media (max-width: 599px) {
  .foot-explore-links { grid-template-columns: 1fr; text-align: center; }
}
.foot-explore-links a {
  font-size: var(--fs-body-tight);
  color: var(--ink-70);
  transition: color var(--t-base);
  padding: 4px 0;
  display: block;
  }
.foot-explore-links a:hover { color: var(--sage-dk); }
/* Address + contact block — compact, centred */
  .foot-meta {
  font-size: var(--fs-body-tight);
  line-height: 1.6;
  color: var(--ink-70);
  }
.foot-meta a { color: var(--ink); transition: color var(--t-base); }
.foot-meta a:hover { color: var(--sage-dk); }
.foot-bottom {
  max-width: var(--container);
  margin: var(--s5) auto 0;
  padding: var(--s3) var(--gutter) 0;
  border-top: 1px solid var(--border-lt);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--s3);
  flex-wrap: wrap;
  }
@media (max-width: 599px) {
  .foot-bottom { justify-content: center; }
}
.foot-nano {
  font-size: var(--fs-nano);
  font-weight: var(--w-med);
  letter-spacing: var(--ls-nano);
  text-transform: uppercase;
  color: var(--ink-55);
  }
.foot-legal {
  display: flex;
  gap: var(--s3);
  }
.foot-legal a {
  font-size: var(--fs-nano);
  font-weight: var(--w-med);
  letter-spacing: var(--ls-nano);
  text-transform: uppercase;
  color: var(--ink-55);
  transition: color var(--t-base);
  }
.foot-legal a:hover { color: var(--sage-dk); }
/* Mobile-only footer compaction — desktop layout above is untouched.
   Reduces vertical rhythm (padding/gaps) and tightens each row so the
   footer no longer occupies most of the viewport on small screens. */
  @media (max-width: 599px) {
  footer { padding: 48px 0 28px; }
  .foot-inner { gap: 22px; }
  .foot-brand-tag { margin-top: 4px; }
  .foot-primary { gap: 8px 20px; padding: 0; }
  .foot-primary a { font-size: 0.8125rem; padding: 2px 0; }
  .foot-meta { font-size: 0.8125rem; line-height: 1.5; }
  .foot-explore { max-width: 100%; }
  .foot-explore summary { padding: 14px 0; }
  .foot-explore-links { padding-bottom: 20px; gap: 8px 20px; }
  .foot-bottom { margin-top: 22px; padding-top: 14px; gap: 8px 16px; }
  }
/* ══════════════════════════════════════════════════════════
   LEGAL OVERLAY — restored from pre-Phase-5A index.html (commit b6c32ee).
   The Phase 5A rebuild dropped this implementation and left the footer
   pointing at /privacy and /terms, which are not files and 404.
   Contract: openLegal() adds .on, closeLegal() removes it.
   ══════════════════════════════════════════════════════════ */
  .legal-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-gallery);
  background: rgba(37,31,28,0.82);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  display: none;
  align-items: flex-start;
  justify-content: center;
  padding: 60px 16px;
  overflow-y: auto;
  }

/* ═══ 10. LEGAL OVERLAY ═══
   REGRESSION NOTE: the JS contract is openLegal() adds .on, closeLegal()
   removes it. The overlay MUST therefore be display:none by default and
   only display:flex when .on is present. An earlier version of this file
   set display:flex unconditionally, which rendered both #privacyOverlay
   and #termsOverlay permanently open, stacked, and impossible to close.
   Structure below mirrors the original stylesheet; only the palette is
   remapped to homepage tokens. */
.legal-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-gallery);
  background: rgba(37,31,28,0.82);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  display: none;
  align-items: flex-start;
  justify-content: center;
  padding: 60px 16px;
  overflow-y: auto;
}
.legal-overlay.on { display: flex; }

@keyframes legalIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .legal-box { animation: none !important; }
}

.legal-box {
  background: var(--white);
  max-width: 720px;
  width: 100%;
  border: 1px solid var(--border-lt);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-lg);
  position: relative;
  animation: legalIn var(--t-slow) var(--ez);
}
.legal-head {
  padding: 28px 36px 22px;
  border-bottom: 1px solid var(--border-lt);
  background: var(--cream);
  border-radius: var(--r-lg) var(--r-lg) 0 0;
  position: relative;
}
.legal-head h2 {
  font-family: var(--font);
  font-weight: var(--w-light);
  font-size: var(--fs-h1);
  color: var(--ink);
  letter-spacing: var(--ls-tight);
}
.legal-close {
  position: absolute;
  top: 22px; right: 24px;
  width: 34px; height: 34px;
  display: flex; align-items: center; justify-content: center;
  background: none;
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--ink-55);
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
  transition: background var(--t-base) var(--ez-alt),
              color var(--t-base) var(--ez-alt),
              border-color var(--t-base) var(--ez-alt);
}
.legal-close:hover {
  background: var(--ink);
  color: var(--white);
  border-color: var(--ink);
}
.legal-body {
  padding: 28px 36px 36px;
  font-family: var(--font);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--ink-70);
}
.legal-body h3 {
  font-family: var(--font);
  font-weight: var(--w-med);
  font-size: var(--fs-h3);
  color: var(--ink);
  margin: 20px 0 8px;
}
.legal-body h3:first-child { margin-top: 0; }
.legal-body p { margin: 0 0 12px; }
.legal-body strong { color: var(--ink); font-weight: var(--w-med); }
.legal-body em {
  color: var(--ink-55);
  font-size: var(--fs-caption);
  display: block;
  margin-top: 24px;
  text-align: center;
}

/* ═══ 11. RESPONSIVE ═══ */
@media (max-width: 768px) {
  .hero { padding-top: 120px; padding-bottom: var(--s5); }
  .sec  { padding: var(--s5) var(--gutter); }
  .fd   { padding-top: var(--s5); }
  footer { padding-top: var(--s5); }
  nav#nav, nav#nav.sc, nav#nav.scrolled { padding-left: 20px; padding-right: 20px; }
/* Gelijk aan de homepage: de balk krimpt bij scrollen van 20px naar 14px
   verticale padding, met dezelfde easing als daar. */
nav#nav { transition: padding .4s cubic-bezier(.16,1,.3,1); }
nav#nav.sc, nav#nav.scrolled { padding-top: 14px; padding-bottom: 14px; }
}


/* ── Verticale ritmiek ──────────────────────────────────────────
   Secties stonden op 115px padding boven en onder, dus 230px leegte bij
   elke overgang. Teruggebracht naar 78px (156px tussen secties): nog
   ruim en editorieel, maar zonder het gat waar de pagina in wegvalt.
   Alleen verticaal - horizontale gutter, breedtes en typografie blijven. */
.sec { padding-top: 64px !important; padding-bottom: 64px !important; }
@media (max-width: 768px) {
  .sec { padding-top: 40px !important; padding-bottom: 40px !important; }
}

/* ── Marktkaarten (markets-uzes) ────────────────────────────────
   .market-cards en .mc* stonden in geen enkel stylesheet, waardoor de
   kaarten als kale divs onder elkaar vielen. Vormgegeven met de tokens
   die de rest van de site al gebruikt - geen nieuwe kleuren of maten. */
.market-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--s3, 24px);
  max-width: var(--container-w, 920px);
  margin: 0 auto var(--s5, 64px);
}
.mc {
  background: var(--white, #FBF7EC);
  border: 1px solid rgba(37,31,28,.08);
  border-radius: 2px;
  padding: 28px 24px;
}
.mc-badge {
  display: inline-block;
  font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--sage-dk, #6E7159);
  margin-bottom: 14px;
}
.mc-day {
  display: block;
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: rgba(37,31,28,.55);
  margin-bottom: 6px;
}
.mc-name {
  font-size: 20px; font-weight: 300; line-height: 1.3;
  color: var(--ink, #251F1C);
  margin-bottom: 6px;
}
.mc-time {
  font-size: 13px;
  color: rgba(37,31,28,.55);
  margin-bottom: 14px;
}
.mc-desc {
  font-size: 15px; line-height: 1.7;
  color: rgba(37,31,28,.7);
  margin: 0;
}
@media (max-width: 768px) {
  .market-cards { grid-template-columns: 1fr; gap: 16px; margin-bottom: 40px; }
  .mc { padding: 22px 20px; }
  .mc-name { font-size: 18px; }
}
