/* Design tokens */
:root {
  --font-sans:
    Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR",
    "Malgun Gothic", Arial, sans-serif;
}

/* Base */
* {
  box-sizing: border-box;
  font-family: var(--font-sans);
  letter-spacing: -0.015rem;
}

body,
p,
div {
  margin: 0;
  padding: 0;
}

body {
  margin-bottom: 1px;
}

.drminside {
  font-weight: 600;
}

/* Visibility helpers */
.mobile-visible {
  display: none;
}

.pc-visible {
  display: block;
}

/* Header */
.navbar_outer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 11;
  display: flex;
  justify-content: center;
  width: 100%;
  height: 5.625rem;
  background: #0054a9;
}

.navbar-inner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 80rem;
  padding: 0 1.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: -0.01313rem;
}

.navbar-brand {
  display: flex;
  align-items: center;
  gap: 0.62rem;
  min-width: 15rem;
  color: #e4e6ea;
  text-decoration: none;
}

.demo-title {
  white-space: nowrap;
}

@media (max-width: 652px) {
  body {
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.25rem;
    letter-spacing: -0.01313rem;
  }

  .mobile-visible {
    display: block;
  }

  .pc-visible {
    display: none;
  }

  .navbar_outer {
    height: 3.75rem;
    padding: 0 1.5rem;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.375rem;
    letter-spacing: -0.01313rem;
  }

  .navbar-inner {
    max-width: calc(120rem - 51.12rem);
    padding: 0;
  }
}

@media (min-width: 641px) and (max-width: 740px) {
  .before-mobile {
    display: none;
  }
}

/* HR shared */
.hr_address {
  text-align: right;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* HR desktop layout */
@media (min-width: 641px) {
  .hr_wrap_pc {
    width: 100%;
    background: #f7f9fa;
  }

  .hr-contents-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .hr_avatar {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 57.3125rem;
    margin-top: 150px;
    padding: 2.94rem 5.25rem 3.06rem 4.62rem;
    gap: 5.63rem;
    border-radius: 0.3125rem;
    background: #fff;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.08);
  }

  .avatar_pic {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 11.0625rem;
  }

  .avatar_pic img {
    width: 100%;
    max-width: 11.0625rem;
  }

  .avatar-name {
    margin-top: 1rem;
    font-family: "Pretendard";
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.875rem;
    letter-spacing: -0.0225rem;
  }

  .avatar-name-des {
    color: var(--dark-grey, #565656);
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.75rem;
    letter-spacing: -0.01875rem;
    white-space: nowrap;
  }

  .hr_contents_pc {
    flex: 1 1 auto;
  }

  .contents_title {
    width: 100%;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--medium-grey, #8f8f8f);
    color: var(--main, #0054a9);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5rem;
    letter-spacing: -0.015rem;
  }

  .avatar-row {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0.81rem 0;
    border-bottom: 1px solid var(--light-grey_1, #e4e6ea);
    font-size: 0.9375rem;
    line-height: 1.375rem;
    letter-spacing: -0.01406rem;
  }

  .avatar-row div:first-child {
    width: 5rem;
    min-width: 5rem;
    white-space: nowrap;
  }

  .avatar-row div:last-child {
    width: 100%;
    max-width: 21.5rem;
    color: #636363;
  }

  .hr_job_contact {
    width: 100%;
    max-width: 57.3125rem;
    margin-top: 1.5rem;
    margin-bottom: 4.5rem;
    padding: 2.5rem 1.56rem 3rem 1.5rem;
    border-radius: 0.3125rem;
    background: #fff;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.08);
  }

  .job_title {
    margin-bottom: 1rem;
    color: var(--main, #0054a9);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5rem;
    letter-spacing: -0.015rem;
  }

  .job_contents {
    display: flex;
    flex-flow: column wrap;
  }

  .job_contents > div {
    flex: 1 0 25%;
  }

  .job-rows {
    display: flex;
    width: 100%;
    margin-bottom: 1.25rem;
  }

  .job-row {
    width: 100%;
    max-width: 13.5625rem;
  }

  .job-row div {
    min-height: 3rem;
    padding: 0.81rem 0;
    text-align: center;
  }

  .job-row div:first-child {
    border-top: 1px solid var(--light-grey_1, #e4e6ea);
    border-right: 1px solid var(--light-grey_1, #e4e6ea);
    border-bottom: 1px solid var(--light-grey_1, #e4e6ea);
    background: #f2f2f2;
    color: var(--black, var(--black, #000));
    font-size: 0.9375rem;
    line-height: 1.375rem;
    letter-spacing: -0.01406rem;
  }

  .job-row div:last-child {
    border-right: 1px solid var(--light-grey_1, #e4e6ea);
    border-bottom: 1px solid var(--light-grey_1, #e4e6ea);
    color: #636363;
    font-size: 0.9375rem;
    line-height: 1.375rem;
    letter-spacing: -0.01406rem;
  }

  .last-column div {
    border-right: none !important;
  }

  .contact_title {
    margin-top: calc(2rem - 1.25rem);
  }

  .contact-table {
    width: 100%;
  }

  .contact-row1,
  .contact-row2 {
    display: flex;
  }

  .contact-row1 div {
    flex: 1 1 25%;
    height: 3rem;
    padding: 0.81rem 0;
    border-top: 1px solid var(--light-grey_1, #e4e6ea);
    border-right: 1px solid var(--light-grey_1, #e4e6ea);
    border-bottom: 1px solid var(--light-grey_1, #e4e6ea);
    background: #f2f2f2;
    text-align: center;
    font-size: 0.9375rem;
    line-height: 1.375rem;
    letter-spacing: -0.01406rem;
  }

  .contact-row1 div:last-child,
  .contact-row2 div:last-child {
    border-right: none;
  }

  .contact-row2 div {
    flex: 1 0 25%;
    min-height: 4.375rem;
    padding: 0.81rem 1.31rem 0.81rem 1.38rem;
    border-right: 1px solid var(--light-grey_1, #e4e6ea);
    border-bottom: 1px solid var(--light-grey_1, #e4e6ea);
    background: var(--white, #fff);
    color: #636363;
    text-align: center;
    font-size: 0.9375rem;
    line-height: 1.375rem;
    letter-spacing: -0.01406rem;
  }

  .contact-row2 p {
    flex: 1 0 25%;
    min-height: 4.375rem;
    padding: 1.5rem 1.31rem 1.5rem 1.38rem;
    border-right: 1px solid var(--light-grey_1, #e4e6ea);
    border-bottom: 1px solid var(--light-grey_1, #e4e6ea);
    background: var(--white, #fff);
    color: #636363;
    text-align: center;
    font-size: 0.9375rem;
    line-height: 1.375rem;
    letter-spacing: -0.01406rem;
  }

  .hr_footer {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 2rem 0;
    gap: 0.37rem;
    background: #f7f9fa;
    color: rgba(0, 0, 0, 0.6);
    font-family: "Pretendard JP";
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: -0.01313rem;
  }
}

/* Responsive desktop gutter */
@media (max-width: 80rem) {
  .hr-contents-wrap {
    padding: 0 1.5rem;
  }
}

/* HR mobile layout */
@media (max-width: 640px) {
  .hr_footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 1.5rem 1.25rem 2rem;
    gap: 0.25rem 0.37rem;
    background: #f7f9fa;
    color: rgba(0, 0, 0, 0.6);
    font-size: 0.75rem;
    line-height: 1.125rem;
    letter-spacing: -0.01125rem;
  }

  .hr_wrap_mobile {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: calc(3.75rem + 1.25rem) 1.31rem 2rem 1.62rem;
    gap: 1.25rem;
    background: #f7f9fa;
  }

  .hr_avatar {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding-top: 1.12rem;
    padding-bottom: 1.5rem;
    border-radius: 0.3125rem;
    background: #fff;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.08);
  }

  .hr_avatar img {
    width: 100%;
    max-width: 8.0625rem;
  }

  .avatar-name {
    margin-top: 0.75rem;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.5rem;
    letter-spacing: -0.01688rem;
  }

  .avatar-name-des {
    margin-top: 0.12rem;
    color: var(--dark-grey, #565656);
    font-size: 0.875rem;
    line-height: 1.125rem;
    letter-spacing: -0.01313rem;
  }

  .hr_contents {
    width: 100%;
    padding: 1.75rem 1.5rem 1.5rem;
    border-radius: 0.3125rem;
    background: var(--white, #fff);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.08);
  }

  .contents_title {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--medium-grey, #8f8f8f);
    color: var(--main, #0054a9);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5rem;
    letter-spacing: -0.015rem;
  }

  .contents-row {
    display: flex;
    justify-content: space-between;
    padding: 0.81rem 0;
    border-bottom: 1px solid var(--light-grey_1, #e4e6ea);
    font-size: 0.9375rem;
    line-height: 1.375rem;
    letter-spacing: -0.01406rem;
  }

  .contents-row:last-child {
    border-bottom: none;
  }

  .contents-row div:nth-child(2) {
    color: #636363;
  }
}
