.im-psd-section {
  position: relative;
  overflow: hidden;
  background: #fff;
}

.im-psd-section--hero {
  padding-top: 80px;
}

.im-integrations-mobile {
  display: none;
}

.im-nocode-mobile {
  display: none;
}

.im-brand {
  display: block;
}

[data-psd-layout="integrations-desktop-03"] [data-psd-layer="카카오 알림톡 구글 시트 Slack Notion Telegram Webhook"] .im-brand {
  font: 900 31.7827px/1.1432 Pretendard, sans-serif;
  letter-spacing: .12em;
}

.im-brand--kakao-name { color: #f7e600; }
.im-brand--kakao-talk { color: #3a1d1d; }
.im-brand--sheets { color: #188038; }
.im-brand--slack span:nth-child(1) { color: #35bfe9; }
.im-brand--slack span:nth-child(2) { color: #2db079; }
.im-brand--slack span:nth-child(3) { color: #e5ac2c; }
.im-brand--slack span:nth-child(4) { color: #da1d57; }
.im-brand--slack span:nth-child(5) { color: #000; }
.im-brand--notion { color: #000; }
.im-brand--telegram { color: #229ed9; }
.im-brand--webhook { color: #0054ff; }

[data-psd-layout="integrations-desktop-01"] [data-psd-layer="Ellipse 3"] {
  z-index: 9 !important;
}

[data-psd-layout="integrations-desktop-01"] [data-psd-layer="Ellipse 2"] {
  z-index: 10 !important;
}

[data-psd-layout="integrations-desktop-01"] [data-psd-layer="Ellipse 1"] {
  z-index: 11 !important;
}

.im-hero-model-panel {
  top: 237px;
  left: 64px;
  z-index: 30 !important;
  width: 1312px;
  height: 517px;
}

.im-code-panel {
  margin-top: 34px;
  border-top: 1px solid #cfd7e8;
}

.ep-developer__grid > * {
  min-width: 0;
}

.im-code-panel__tabs {
  display: flex;
  gap: 28px;
  min-height: 52px;
  align-items: center;
  border-bottom: 1px solid #cfd7e8;
}

.im-code-panel__tab {
  position: relative;
  padding: 0;
  border: 0;
  background: transparent;
  color: #747d91;
  font: 700 14px/1 Pretendard, sans-serif;
  cursor: pointer;
}

.im-code-panel__tab::after {
  position: absolute;
  right: 0;
  bottom: -19px;
  left: 0;
  height: 3px;
  background: #0054ff;
  content: "";
  opacity: 0;
}

.im-code-panel__tab.is-active {
  color: #0054ff;
}

.im-code-panel__tab.is-active::after {
  opacity: 1;
}

.im-code-panel__body {
  position: relative;
  min-height: 218px;
  padding: 26px 62px 26px 0;
}

.im-code-panel__body[hidden] {
  display: none;
}

.im-code-panel__body pre {
  max-width: 100%;
  overflow-x: visible;
  margin: 0;
  color: #15171d;
  font: 500 13px/1.75 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  word-break: break-word;
  tab-size: 2;
}

.im-code-panel__copy {
  position: absolute;
  top: 22px;
  right: 0;
  min-width: 48px;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid #b8c5df;
  border-radius: 4px;
  background: #fff;
  color: #0054ff;
  font: 700 12px/1 Pretendard, sans-serif;
  cursor: pointer;
}

.im-code-panel__copy:hover,
.im-code-panel__copy:focus-visible {
  border-color: #0054ff;
  outline: none;
}

@media (min-width: 901px) {
  .ep-developer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .im-psd-section--hero {
    padding-top: 56px;
  }

  .im-psd-section--hero > .psd-layer-layout {
    display: none;
  }

  .im-integrations-mobile {
    display: block;
    min-height: 710px;
    padding: 46px 18px 26px;
    background: #fff;
  }

  .im-integrations-mobile__title {
    width: min(100%, 354px);
    margin: 0 auto;
    padding-bottom: 22px;
    border-bottom: 2px solid #111;
    color: #111;
    font: 700 44px/1.03 Pretendard, sans-serif;
    letter-spacing: 0;
  }

  .im-integrations-mobile__title span {
    color: #155eff;
  }

  .im-integrations-mobile__map {
    position: relative;
    width: min(100%, 354px);
    aspect-ratio: 1;
    margin: 22px auto 0;
    overflow: hidden;
    background: #dce5d3;
  }

  .im-integrations-mobile__map > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .im-model {
    position: absolute;
    inset: 12px;
    user-select: none;
  }

  .im-model__orbit,
  .im-model__core {
    position: absolute;
    display: block;
    max-width: none;
  }

  .im-model__orbit--outer {
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .im-model__orbit--middle {
    top: 19.62%;
    left: 19.62%;
    width: 60.34%;
    height: 60.34%;
  }

  .im-model__core {
    top: 36.29%;
    left: 36.29%;
    width: 27%;
    height: 27%;
  }

  .im-model__core-label {
    position: absolute;
    top: 45.99%;
    left: 38.82%;
    width: 22%;
    color: #fff;
    font: 700 22px/.92 Pretendard, sans-serif;
    text-align: center;
  }

  .im-model__node {
    position: absolute;
    display: grid;
    width: 17.3%;
    height: 10.97%;
    place-items: center;
    background: url("/assets/psd-layouts/integrations-desktop-01/018-blue-box-4-c463eb04.webp") center / 100% 100% no-repeat;
    color: #fff;
    font: 700 10px/1.05 Pretendard, sans-serif;
    text-align: center;
  }

  .im-model__node--webhook { top: 44.3%; left: 11.81%; }
  .im-model__node--kakao { top: 73.21%; left: 41.14%; color: #3c1e1e; }
  .im-model__node--rest { top: 44.3%; left: 71.1%; }
  .im-model__node--mcp { top: 15.4%; left: 41.14%; font-size: 14px; }
  .im-model__node--telegram { top: 12.03%; left: 2.74%; }
  .im-model__node--sheets { top: 12.03%; left: 79.54%; }
  .im-model__node--slack { top: 73.21%; left: 79.54%; }
  .im-model__node--notion { top: 73.21%; left: 2.74%; }

  .im-integrations-mobile__caption {
    width: min(100%, 354px);
    margin: 14px auto 0;
    color: #656565;
    font: 500 11px/1.5 Pretendard, sans-serif;
  }

  .im-integrations-mobile__caption b {
    margin-right: 7px;
    color: #444;
    letter-spacing: 0;
  }

  #no-code > .psd-layer-layout {
    display: none;
  }

  .im-nocode-mobile {
    display: block;
    padding: 68px 20px 84px;
    background: #fff;
    color: #111;
  }

  .im-nocode-mobile__eyebrow {
    margin: 0 0 12px;
    color: #0054ff;
    font: 600 14px/1 Pretendard, sans-serif;
    letter-spacing: .08em;
  }

  .im-nocode-mobile h2 {
    margin: 0;
    font: 900 48px/.98 Pretendard, sans-serif;
    letter-spacing: -.045em;
  }

  .im-nocode-mobile h2 span {
    color: #0054ff;
  }

  .im-nocode-mobile__intro {
    margin: 24px 0 0;
    font: 500 16px/1.65 Pretendard, sans-serif;
  }

  .im-nocode-mobile__steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 38px 0 0;
    padding: 0;
    border-top: 2px solid #111;
    border-bottom: 2px solid #111;
    list-style: none;
  }

  .im-nocode-mobile__steps li {
    min-height: 132px;
    padding: 22px 10px 20px 0;
    border-bottom: 1px solid #cfd2d8;
  }

  .im-nocode-mobile__steps li:nth-child(odd) {
    border-right: 1px solid #cfd2d8;
  }

  .im-nocode-mobile__steps li:nth-child(even) {
    padding-left: 16px;
  }

  .im-nocode-mobile__steps li:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .im-nocode-mobile__steps strong,
  .im-nocode-mobile__steps span {
    display: block;
  }

  .im-nocode-mobile__steps strong {
    font: 800 21px/1.2 Pretendard, sans-serif;
  }

  .im-nocode-mobile__steps span {
    margin-top: 12px;
    color: #575757;
    font: 500 13px/1.55 Pretendard, sans-serif;
  }

  .im-nocode-mobile__connections {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 118px;
    align-items: center;
    gap: 12px;
    margin-top: 42px;
    padding: 28px 18px 30px;
    background: #f2f4f8;
  }

  .im-nocode-mobile__connections .im-brand-list {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 7px;
    margin: 0;
    padding: 0;
    font: 900 17px/1.18 Pretendard, sans-serif;
    letter-spacing: -.02em;
  }

  .im-nocode-mobile__connections .im-brand {
    font: inherit;
    letter-spacing: inherit;
  }

  .im-nocode-mobile__connections img {
    display: block;
    width: 118px;
    height: auto;
  }

  .im-code-panel {
    margin-top: 28px;
  }

  .im-code-panel__body {
    min-height: 240px;
    padding-right: 0;
    padding-top: 60px;
  }

  .im-code-panel__copy {
    top: 14px;
    right: 0;
  }

  .im-code-panel__body pre {
    font-size: 11px;
  }
}
