:root { --placeholder-cream: #EDE8DE; }

.top-bar,
nav.main-nav,
.main-nav { border-bottom: 0 !important; background: #080808 !important; }

.mobile-menu-toggle {
  display: none;
  border: 0;
  background: transparent;
  color: var(--cream, #EDE8DE);
  font-size: 1.65rem;
  line-height: 1;
  padding: 8px 0 8px 14px;
  cursor: pointer;
}

.media-placeholder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding: 28px 72px 76px;
  background: #080808;
}

.media-placeholder-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.media-placeholder {
  min-height: 310px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 28px;
  background: #000;
  border: 2px solid var(--placeholder-cream);
  color: var(--placeholder-cream);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  font-style: italic;
  letter-spacing: .18em;
  text-transform: uppercase;
}

@media (max-width: 720px) {
  body { font-size: 16px !important; }

  .top-bar {
    height: 38px !important;
    padding: 0 16px !important;
    gap: 10px !important;
  }
  .top-bar-left { flex: 1 1 auto !important; min-width: 0 !important; }
  .top-bar-left > * { display: none !important; }
  .top-bar-left a[href^="mailto:"] {
    display: flex !important;
    max-width: 100% !important;
    color: var(--cream, #EDE8DE) !important;
    font-size: .61rem !important;
    letter-spacing: .025em !important;
  }
  .top-bar-right { gap: 12px !important; flex: 0 0 auto !important; }
  .top-bar-right .top-bar-icon { font-size: .92rem !important; }
  .top-bar-right a[aria-label="Email"],
  .top-bar-divider,
  .top-bar-lang { display: none !important; }

  nav.main-nav,
  .main-nav {
    top: 38px !important;
    min-height: 70px !important;
    padding: 12px 16px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    row-gap: 0 !important;
  }
  .logo { font-size: 1.1rem !important; letter-spacing: .27em !important; }
  .logo > span:nth-child(2) { width: 155px !important; }
  .logo-sub { font-size: .43rem !important; letter-spacing: .25em !important; }
  .mobile-menu-toggle { display: block; margin-left: auto; }
  .nav-links {
    display: none !important;
    position: fixed !important;
    top: 108px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 180 !important;
    padding: 24px 22px 28px !important;
    margin: 0 !important;
    background: #080808 !important;
    border-top: 1px solid rgba(237,232,222,.16) !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 19px !important;
  }
  .nav-links.mobile-open { display: flex !important; }
  .nav-dropdown { display: none !important; }
  .nav-links a { font-size: .72rem !important; }

  .hero,
  .services-hero { padding-top: 145px !important; }
  .services-rows { padding: 0 16px !important; }
  .svc-row-img { min-height: 300px !important; order: 1 !important; }
  .svc-row-text { order: 2 !important; padding: 44px 28px !important; }
  .svc-row-text::before { left: 28px !important; right: 28px !important; }

  .media-placeholder-grid,
  .media-placeholder-grid.two {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 20px 16px 54px;
  }
  .media-placeholder { min-height: 255px; }

  .site-footer { padding: 54px 22px 24px !important; }
  .footer-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 42px 22px !important;
    text-align: center !important;
    margin-bottom: 28px !important;
  }
  .footer-brand-col { grid-column: 1 / -1; align-items: center !important; }
  .footer-brand-col > span:nth-child(2) { margin-left: auto !important; margin-right: auto !important; }
  .footer-icons { justify-content: center !important; }
  .footer-contact-details { text-align: center !important; }
  .footer-grid > div:nth-child(4) { grid-column: 1 / -1; }
  .footer-col-title { margin-bottom: 18px !important; }
  .footer-links { align-items: center !important; gap: 14px !important; }
  .footer-links a { font-size: .78rem !important; }
}
