.olympus-page-replaced { display: none !important; }

main:has(.olympus-social, .olympus-contact) { background-color: #1e1c1c; }

.olympus-social, .olympus-social *, .olympus-contact, .olympus-contact * { box-sizing: border-box; }

.olympus-social, .olympus-contact {
  --olympus-gold: #ebbf70;
  --olympus-cream: #fff7e7;
  font-family: Arial, sans-serif;
  color: var(--olympus-cream);
  background-color: #1e1c1c;
}

.olympus-social {
  position: relative;
  isolation: isolate;
  width: min(1180px, calc(100% - 64px));
  margin: 32px auto 48px;
  padding: clamp(28px, 5vw, 70px) 24px;
  border: 1px solid #78603d;
  border-radius: clamp(20px, 4vw, 58px);
  text-align: center;
  overflow: hidden;
  background: radial-gradient(ellipse at top, #31261d 0%, #1e1c1c 64%);
}

.olympus-social::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(#1e1c1c55, #1e1c1c 91%), url('/_assets/media/f2521690aff74c909231117bf87ee85a.webp') center 48% / cover;
  opacity: .18;
}

.olympus-social__crest {
  display: block;
  width: clamp(148px, 23vw, 218px);
  height: auto;
  margin: -8px auto 2px;
}

.olympus-label {
  color: var(--olympus-gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .19em;
  line-height: 1.5;
  margin: 0 0 10px;
}

.olympus-social h1, .olympus-contact h1 {
  color: var(--olympus-cream);
  font-family: Georgia, serif;
  font-size: clamp(43px, 6.5vw, 84px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.02;
  margin: 0;
}

.olympus-social__intro {
  color: #e0d2bf;
  font-size: clamp(15px, 2vw, 18px);
  line-height: 1.6;
  margin: 14px auto 28px;
}

.olympus-social__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: min(690px, 100%);
  margin-inline: auto;
}

.olympus-social__links a {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 15px;
  color: var(--olympus-cream);
  background: #151210;
  border: 1px solid #8a6c42;
  border-radius: 12px;
  text-decoration: none;
  text-align: left;
}

.olympus-social__links a:hover { background-color: #33271b; border-color: var(--olympus-gold); }
.olympus-social__links a:focus-visible, .olympus-contact a:focus-visible { outline: 2px solid var(--olympus-gold); outline-offset: 3px; }
.olympus-social__links svg { width: 25px; height: 25px; color: var(--olympus-gold); }
.olympus-social__links b { color: var(--olympus-gold); font-size: 17px; }
.olympus-social__links strong { display: block; font-size: 16px; }
.olympus-social__links small { display: block; margin-top: 3px; color: #d5c2a7; font-size: 12px; overflow-wrap: anywhere; }

.olympus-contact {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 36fr) minmax(0, 64fr);
  min-height: clamp(480px, 48vw, 710px);
}

.olympus-contact__details {
  display: grid;
  align-items: center;
  padding: clamp(18px, 3.6vw, 55px);
  background: linear-gradient(#160f0a38, #160f0a69), url('/_assets/media/761e4f2bffaa9315cdb5fe7739632fc8.jpg') center / cover;
}

.olympus-contact__card {
  padding: clamp(19px, 2.5vw, 35px);
  background: #15110eee;
  border: 1px solid #ae8957;
  border-radius: 13px;
  width: 100%;
  max-width: 420px;
}

.olympus-contact h1 { font-size: clamp(35px, 4.8vw, 66px); margin-bottom: 24px; }
.olympus-contact__label { color: var(--olympus-gold); font-size: 11px; letter-spacing: .13em; font-weight: 700; text-transform: uppercase; margin: 16px 0 6px; }
.olympus-contact__phone, .olympus-contact address { color: var(--olympus-cream); font-size: clamp(17px, 1.75vw, 23px); font-style: normal; line-height: 1.35; }
.olympus-contact__phone { text-underline-offset: 4px; }
.olympus-contact__directions { display: inline-flex; align-items: center; gap: 9px; padding: 11px 13px; margin-top: 20px; border-radius: 5px; background: var(--olympus-gold); color: #21160b; font-size: 14px; font-weight: 700; text-decoration: none; }
.olympus-contact__directions:hover { background: #ffd48b; }
.olympus-contact iframe { border: 0; display: block; width: 100%; height: 100%; min-height: 410px; }

@media (max-width: 720px) {
  .olympus-social { width: calc(100% - 26px); margin: 15px auto 26px; padding-inline: 16px; }
  .olympus-social__links { grid-template-columns: 1fr; max-width: 360px; }
  .olympus-contact { grid-template-columns: 1fr; }
  .olympus-contact__details { justify-items: center; }
  .olympus-contact iframe { min-height: 380px; }
}
