.origin-home-detail-button,
.origin-home-directions {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 38px;
  padding: 0 18px;
  border-radius: 8px;
  font: 700 14px/1.2 'NanumSquare', sans-serif;
  text-decoration: none;
  transition: background .18s, box-shadow .18s;
}
a.origin-home-detail-button {
  color: #fff;
  border: 1px solid #2384b9;
  background: linear-gradient(135deg, #248fc7, #2379aa);
  box-shadow: 0 4px 10px #276b9220;
}
a.origin-home-detail-button:hover { background: #1f729f; box-shadow: 0 5px 14px #276b9235; }
.origin-home-info { position: relative; width: 770px; height: 240px; }
.origin-home-info > img { display: block; width: 770px; height: 240px; }
.origin-home-contact {
  position: absolute;
  inset: 0 auto 0 0;
  width: 266px;
  padding: 24px 28px;
  box-sizing: border-box;
  background: linear-gradient(145deg, #378fba, #246f98);
  color: #fff;
  text-align: left;
  font-family: 'NanumSquare', sans-serif;
}
.origin-home-contact > strong { font-size: 13px; letter-spacing: .06em; }
.origin-home-contact > p { margin: 20px 0 16px; font-size: 13px; line-height: 1.55; color: #ecf7ff; }
.origin-home-contact-phone { font-size: 14px; font-weight: 700; }
.origin-home-contact-phone span { margin-left: 8px; font-size: 17px; }
a.origin-home-directions {
  position: absolute;
  left: 28px;
  bottom: 20px;
  width: 210px;
  height: 40px;
  border: 1px solid #ffffff80;
  color: #24658b;
  background: #f5fbff;
  box-shadow: 0 4px 10px #14537528;
}
a.origin-home-directions:hover { background: #e1f2fc; border-color: #fff; }
.origin-site-link-select {
  box-sizing: border-box;
  width: 210px;
  height: 40px;
  padding: 0 36px 0 14px;
  border: 1px solid #d4dfe9;
  border-radius: 8px;
  color: #38536b;
  background: #f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23658096' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center;
  appearance: none;
  font: 600 13px/1.4 'NanumSquare', sans-serif;
  cursor: pointer;
  box-shadow: 0 2px 6px #223c5010;
}
.origin-site-link-select:hover { border-color: #8cb6cf; background-color: #fff; }
a.origin-course-apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 auto 30px;
  padding: 24px 64px;
  border: 1px solid #81b9df;
  border-radius: 10px;
  background: linear-gradient(135deg, #2167a0, #238cc0);
  color: #fff;
  font: 700 30px/1.3 'ROKAFSansBold', sans-serif;
  text-decoration: none;
  box-shadow: 0 5px 16px #001e3540;
}
a.origin-course-apply:hover { filter: brightness(1.1); }
a.origin-course-apply:focus-visible { outline: 3px solid #79bce2; outline-offset: 4px; }
a.origin-action-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 20px;
  border: 1px solid #cbdbe8;
  border-radius: 8px;
  color: #315675;
  background: #f8fbfe;
  font: 700 14px/1.4 'NanumSquare', sans-serif;
  text-decoration: none;
  box-sizing: border-box;
}
a.origin-action-secondary:hover { background: #edf5fb; border-color: #87aecb; }
.origin-action-secondary:focus-visible { outline: 3px solid #79bce2; outline-offset: 3px; }
.origin-progress-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  padding: 24px;
  box-sizing: border-box;
  background: rgba(15, 38, 59, .52);
  backdrop-filter: blur(2px);
}
.origin-progress-overlay[hidden] { display: none !important; }
.origin-progress-card {
  display: flex;
  align-items: center;
  gap: 18px;
  width: min(440px, calc(100vw - 48px));
  min-height: 94px;
  padding: 22px 26px;
  box-sizing: border-box;
  border: 1px solid rgba(126, 164, 196, .45);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(7, 28, 48, .3);
  color: #173a5c;
  font-family: 'NanumSquare', sans-serif;
}
.origin-progress-spinner {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  box-sizing: border-box;
  border: 4px solid #dbeafe;
  border-top-color: #2379c9;
  border-radius: 50%;
  animation: origin-progress-spin .8s linear infinite;
}
.origin-progress-copy { display: grid; gap: 7px; min-width: 0; }
.origin-progress-copy strong { font-size: 18px; line-height: 1.3; }
.origin-progress-copy small { color: #61778d; font-size: 13px; line-height: 1.55; }
@keyframes origin-progress-spin { to { transform: rotate(360deg); } }
.origin-home-detail-button:focus-visible,
.origin-home-directions:focus-visible,
.origin-site-link-select:focus-visible { outline: 3px solid #79bce2; outline-offset: 3px; }
@media(prefers-reduced-motion:reduce) {
  .origin-home-detail-button,.origin-home-directions { transition:none; }
  .origin-progress-spinner { animation-duration: 1.6s; }
}
@media(max-width:520px) {
  .origin-progress-overlay { padding: 16px; }
  .origin-progress-card { width: 100%; min-height: 86px; padding: 18px 20px; gap: 14px; border-radius: 13px; }
  .origin-progress-spinner { width: 32px; height: 32px; flex-basis: 32px; }
  .origin-progress-copy strong { font-size: 16px; }
}
