/*인사말*/
.greeting-section { width: 100%; padding: 150px 20px;  box-sizing: border-box; overflow: hidden; }
.greeting-inner { width: 100%; max-width: 1600px; margin: 0 auto; }
.greeting-layout { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 70px; align-items: start; }
.greeting-left { position: sticky; top: 120px; padding-top: 10px; }
.greeting-left .eyebrow { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 24px; font-size: 14px; font-weight: 800; letter-spacing: 0.16em; color: #1f4fd8; }
.greeting-left .eyebrow::before { content: ""; width: 46px; height: 2px; background: #1f4fd8; }
.greeting-left h2 { margin: 0 0 28px; font-size: clamp(42px, 4vw, 74px); line-height: 1.12; letter-spacing: -0.06em; color: #101828; font-weight: 900; word-break: keep-all; }
.greeting-left .lead { max-width: 520px; margin: 0; font-size: 20px; line-height: 1.75; color: #4b5563; letter-spacing: -0.03em; word-break: keep-all; }
.greeting-sign { margin-top: 70px; padding-top: 30px; border-top: 1px solid rgba(17, 24, 39, 0.12); }
.greeting-sign span { display: block; margin-bottom: 8px; font-size: 16px; color: #6b7280; letter-spacing: -0.02em; }
.greeting-sign strong { display: block; font-size: 28px; color: #111827; font-weight: 850; letter-spacing: -0.04em; }
.greeting-right { position: relative; }
.greeting-card { position: relative; padding: 70px 76px; border-radius: 38px; background: rgba(255, 255, 255, 0.92);  box-sizing: border-box; overflow: hidden; }
.greeting-card::after { content: ""; position: absolute; left: 0; top: 70px; width: 6px; height: 120px; border-radius: 999px; background: linear-gradient(180deg, #1f4fd8, #fff151); }
.quote-mark { position: absolute; right: 70px; top: 44px; font-size: 140px; line-height: 1; font-weight: 900; color: rgba(31, 79, 216, 0.08); font-family: Georgia, serif; }
.greeting-card p { position: relative; z-index: 1; margin: 0 0 28px; font-size: 18px; line-height: 1.95; color: #374151; letter-spacing: -0.035em; word-break: keep-all; }
.greeting-card p:first-of-type { font-size: 21px; line-height: 1.8; color: #111827; font-weight: 700; }
.greeting-card p:last-of-type { margin-bottom: 0; }
.closing-text { position: relative; z-index: 1; margin-top: 44px; padding-top: 34px; border-top: 1px solid rgba(17, 24, 39, 0.1); font-size: 22px; font-weight: 800; color: #111827; letter-spacing: -0.04em; }
.greeting-point-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 34px; }
.point-item { position: relative; padding: 34px 30px; border-radius: 26px; background: #fff; border: 1px solid rgba(17, 24, 39, 0.08); box-shadow: 0 18px 55px rgba(15, 23, 42, 0.06); box-sizing: border-box; transition: all 0.35s ease; overflow: hidden; }
.point-item::before { content: ""; position: absolute; right: -42px; bottom: -42px; width: 120px; height: 120px; border-radius: 50%; background: rgba(31, 79, 216, 0.07); transition: all 0.35s ease; }
.point-item:hover { transform: translateY(-8px); box-shadow: 0 28px 70px rgba(15, 23, 42, 0.11); border-color: rgba(31, 79, 216, 0.24); }
.point-item:hover::before { right: -28px; bottom: -28px; background: rgba(31, 79, 216, 0.12); }
.point-item span { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 24px; border-radius: 15px; background: #eef4ff; color: #1f4fd8; font-size: 14px; font-weight: 900; }
.point-item strong { display: block; margin-bottom: 12px; font-size: 22px; line-height: 1.3; color: #111827; font-weight: 850; letter-spacing: -0.045em; }
.point-item p { margin: 0; font-size: 17px; line-height: 1.65; color: #5b6472; letter-spacing: -0.03em; word-break: keep-all; }

@media screen and (max-width: 1200px) {
    .greeting-section { padding: 120px 24px; }
    .greeting-layout { grid-template-columns: 1fr; gap: 48px; }
    .greeting-left { position: static; top: auto; }
    .greeting-left .lead { max-width: 760px; }
    .greeting-sign { margin-top: 44px; }
    .greeting-card { padding: 58px 54px; border-radius: 32px; }
    .greeting-point-grid { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 768px) {
    .greeting-section { padding: 90px 20px; }
    .greeting-left h2 { font-size: 42px; }
    .greeting-left .lead { font-size: 17px; }
    .greeting-card { padding: 46px 34px; border-radius: 28px; }
    .quote-mark { right: 34px; top: 28px; font-size: 96px; }
    .greeting-card p { font-size: 16px; line-height: 1.85; }
    .greeting-card p:first-of-type { font-size: 18px; }
    .greeting-point-grid { grid-template-columns: 1fr; }
}

@media screen and (max-width: 576px) {
    .greeting-section { padding: 76px 16px; }
    .greeting-left .eyebrow { font-size: 12px; letter-spacing: 0.1em; }
    .greeting-left h2 { font-size: 36px; }
    .greeting-sign strong { font-size: 24px; }
    .greeting-card { padding: 40px 26px; border-radius: 24px; }
    .greeting-card::after { top: 54px; height: 90px; width: 4px; }
    .closing-text { font-size: 20px; }
    .point-item { padding: 30px 24px; border-radius: 22px; }
    .point-item strong { font-size: 20px; }
}
/*인사말*/





/*연혁*/
.org-section { width: 100%; padding: 100px 20px; background: #fff; font-family: 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif; color: #111827; }
.org-container { width: 100%; max-width: 1600px; margin: 0 auto; }
.org-title-wrap { text-align: center;  }
.org-sub-title { display: inline-block; margin-bottom: 12px; font-size: 14px; font-weight: 700; letter-spacing: 0.18em; color: #2563eb; }
.org-title { font-size: clamp(32px, 4vw, 52px); font-weight: 800; line-height: 1.2; color: #111827; }
.org-chart { width: 100%; max-width: 1600px; margin: 0 auto; }
.org-ceo { display: flex; justify-content: center; }
.ceo-card { width: 180px; height: 90px; border-radius: 999px; background: linear-gradient(135deg, #72d05f 0%, #20b5c5 50%, #3156d3 100%); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 800; letter-spacing: -0.03em; box-shadow: 0 18px 40px rgba(37, 99, 235, 0.20); }
.org-root-line { position: relative; width: 2px; height: 58px; margin: 16px auto 0; background: #d7deef; }
.org-root-line::after { content: ""; position: absolute; left: 50%; bottom: -5px; transform: translateX(-50%); width: 10px; height: 10px; border-radius: 50%; background: #2f54d4; box-shadow: 0 0 0 4px rgba(47, 84, 212, 0.08); }
.org-branches { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 84px; }
.org-branches::before { content: ""; position: absolute; top: -56px; left: calc(100% / 6); width: calc(100% * 2 / 3); height: 2px; background: #d7deef; }
.org-branch { position: relative; padding: 0 18px; text-align: center; }
.org-branch::before { content: ""; position: absolute; top: -56px; left: 50%; transform: translateX(-50%); width: 2px; height: 56px; background: #d7deef; }
.branch-dot { position: absolute; top: -61px; left: 50%; transform: translateX(-50%); width: 10px; height: 10px; border-radius: 50%; background: #2f54d4; box-shadow: 0 0 0 4px rgba(47, 84, 212, 0.08); }
.org-dept-title { height: 58px; border: 2px solid #cfd8ef; background: #fff; color: #1f2937; font-size: 20px; font-weight: 800; display: flex; align-items: center; justify-content: center; letter-spacing: -0.03em; }
.org-list { list-style: none; margin: 12px 0 0; padding: 0; }
.org-list li { min-height: 54px; margin-top: 15px; padding: 0 12px; background: #f3f4f6; color: #4b5563; font-size: 16px; font-weight: 600; display: flex; align-items: center; justify-content: center; letter-spacing: -0.03em; }

@media (max-width: 1024px) {
  .org-section { padding: 80px 20px; }
  .org-chart { max-width: 900px; }
  .org-branch { padding: 0 12px; }
  .ceo-card { width: 165px; height: 82px; font-size: 18px; }
  .org-dept-title { font-size: 17px; }
  .org-list li { font-size: 15px; }
}

@media (max-width: 768px) {
  .org-section { padding: 70px 16px; }
  .org-title-wrap { margin-bottom: 50px; }
  .org-chart { max-width: 460px; }
  .org-root-line { height: 42px; }
  .org-branches { grid-template-columns: 1fr; row-gap: 64px; margin-top: 72px; }
  .org-branches::before { display: none; }
  .org-branch { padding: 0; }
  .org-branch::before { top: -56px; height: 56px; }
  .branch-dot { top: -61px; }
  .ceo-card { width: 150px; height: 76px; font-size: 18px; }
  .org-dept-title { height: 46px; font-size: 16px; }
  .org-list li { min-height: 42px; font-size: 15px; }
}

@media (max-width: 480px) {
  .org-section { padding: 64px 16px; }
  .org-sub-title { font-size: 12px; }
  .org-title { font-size: 30px; }
  .org-branches { row-gap: 58px; }
  .org-dept-title { height: 44px; font-size: 15px; }
  .org-list li { min-height: 40px; font-size: 14px; }
}
/*연혁*/

/* 조직도 */
.org-section { width: 100%; padding: 140px 20px; background: linear-gradient(180deg, #ffffff 0%, #f6f8fc 100%); box-sizing: border-box; overflow: hidden; }
.org-inner { width: 100%; max-width: 1600px; margin: 0 auto; }
.org-head { text-align: left; margin-bottom: 80px; }
.org-head .eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; font-size: 14px; font-weight: 900; letter-spacing: 0.22em; color: #315be8; justify-content: flex-start; }
.org-head .eyebrow::before { content: ""; width: 34px; height: 2px; background: #315be8; }
.org-head .eyebrow::after { display: none; }
.org-head h2 { margin: 0 0 22px; font-size: clamp(42px, 4vw, 70px); line-height: 1.1; letter-spacing: -0.055em; color: #111827; font-weight: 900; text-align: left; }
.org-head p { margin: 0; font-size: 18px; line-height: 1.75; color: #5b6472; word-break: keep-all; text-align: left; }
.org-chart { position: relative; width: 100%; padding: 0 0 20px; }
.org-top { display: flex; justify-content: center; position: relative; z-index: 3; }
.ceo-card { position: relative; width: 260px; min-height: 120px; padding: 30px 24px; border-radius: 999px; background: linear-gradient(135deg, #48c78e 0%, #2464db 100%); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 28px 70px rgba(36, 100, 219, 0.24); box-sizing: border-box; overflow: hidden; }
.ceo-card::before { content: ""; position: absolute; right: -42px; top: -42px; width: 120px; height: 120px; border-radius: 50%; background: rgba(255, 255, 255, 0.18); }
.ceo-card span { position: relative; z-index: 1; margin-bottom: 8px; font-size: 12px; font-weight: 900; letter-spacing: 0.18em; color: rgba(255, 255, 255, 0.78); }
.ceo-card strong { position: relative; z-index: 1; font-size: 28px; font-weight: 900; letter-spacing: -0.04em; }
.org-line-center { width: 2px; height: 96px; margin: 20px auto 0; background: linear-gradient(180deg, rgba(49, 91, 232, 0.16), rgba(49, 91, 232, 0.72)); position: relative; }
.org-line-center::before, .org-line-center::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); width: 16px; height: 16px; border-radius: 50%; background: #315be8; box-shadow: 0 0 0 7px rgba(49, 91, 232, 0.12); }
.org-line-center::before { top: 34px; }
.org-line-center::after { bottom: -8px; }
.org-branch-line { position: relative; width: calc(100% - 360px); max-width: 1180px; height: 48px; margin: 0 auto; border-top: 2px solid rgba(49, 91, 232, 0.2); }
.org-branch-line span { position: absolute; top: -9px; width: 16px; height: 16px; border-radius: 50%; background: #315be8; box-shadow: 0 0 0 7px rgba(49, 91, 232, 0.1); }
.org-branch-line span:nth-child(1) { left: 0; }
.org-branch-line span:nth-child(2) { left: 50%; transform: translateX(-50%); }
.org-branch-line span:nth-child(3) { right: 0; }
.org-branch-line::before, .org-branch-line::after { content: ""; position: absolute; top: 0; width: 2px; height: 48px; background: rgba(49, 91, 232, 0.2); }
.org-branch-line::before { left: 0; }
.org-branch-line::after { right: 0; }
.org-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; position: relative; z-index: 2; }
.org-column { display: flex; flex-direction: column; gap: 22px; }
.dept-card { position: relative; min-height: 96px; padding: 26px 34px; border-radius: 24px; background: #fff; border: 1px solid rgba(49, 91, 232, 0.22); box-shadow: 0 20px 60px rgba(15, 23, 42, 0.06); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; box-sizing: border-box; transition: all 0.35s ease; overflow: hidden; }
.dept-card::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 4px; background: linear-gradient(90deg, #48c78e, #315be8); transform: scaleX(0); transform-origin: left; transition: transform 0.35s ease; }
.dept-card span { margin-bottom: 8px; font-size: 12px; font-weight: 900; letter-spacing: 0.16em; color: #315be8; opacity: 0.75; }
.dept-card strong { font-size: 25px; line-height: 1.25; color: #111827; font-weight: 900; letter-spacing: -0.045em; }
.dept-card:hover, .dept-card.active { transform: translateY(-8px); border-color: rgba(49, 91, 232, 0.42); box-shadow: 0 30px 80px rgba(49, 91, 232, 0.13); }
.dept-card:hover::before, .dept-card.active::before { transform: scaleX(1); }
.team-list { display: flex; flex-direction: column; gap: 14px; }
.team-card { position: relative; min-height: 82px; padding: 24px 28px; border-radius: 20px; background: #f1f4f9; color: #253044; font-size: 18px; font-weight: 800; letter-spacing: -0.035em; display: flex; align-items: center; justify-content: center; text-align: center; box-sizing: border-box; transition: all 0.3s ease; overflow: hidden; }
.team-card::before { content: ""; position: absolute; left: 24px; top: 50%; transform: translateY(-50%); width: 8px; height: 8px; border-radius: 50%; background: #315be8; opacity: 0; transition: all 0.3s ease; }
.team-card:hover { background: #fff; color: #111827; box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08); transform: translateY(-4px); }
.team-card:hover::before { opacity: 1; }

@media screen and (max-width: 1200px) {
    .org-section { padding: 120px 24px; }
    .org-head { margin-bottom: 64px; }
    .org-grid { gap: 22px; }
    .org-branch-line { width: calc(100% - 220px); }
    .dept-card { padding: 24px 22px; }
    .dept-card strong { font-size: 23px; }
    .team-card { font-size: 17px; }
}

@media screen and (max-width: 992px) {
    .org-section { padding: 100px 20px; }
    .org-head { text-align: left; margin-bottom: 50px; }
    .org-head .eyebrow::after { display: none; }
    .org-head p br { display: none; }
    .org-line-center, .org-branch-line { display: none; }
    .org-top { justify-content: flex-start; margin-bottom: 26px; }
    .ceo-card { width: 100%; max-width: 360px; border-radius: 28px; align-items: flex-start; padding: 34px 32px; }
    .org-grid { grid-template-columns: 1fr; gap: 20px; }
    .org-column { gap: 14px; }
    .dept-card { align-items: flex-start; text-align: left; border-radius: 22px; }
    .team-card { justify-content: flex-start; text-align: left; padding-left: 34px; }
    .team-card::before { opacity: 1; left: 18px; }
}

@media screen and (max-width: 576px) {
    .org-section { padding: 76px 16px; }
    .org-head .eyebrow { font-size: 12px; letter-spacing: 0.12em; }
    .org-head .eyebrow::before { width: 34px; }
    .org-head h2 { font-size: 38px; }
    .org-head p { font-size: 16px; }
    .ceo-card { min-height: 104px; padding: 28px 26px; border-radius: 24px; }
    .ceo-card strong { font-size: 25px; }
    .dept-card { min-height: 86px; padding: 24px 24px; }
    .dept-card strong { font-size: 22px; }
    .team-card { min-height: 72px; font-size: 16px; border-radius: 18px; }
}
/* 조직도 */




/*오시는 길*/
.location-section { width: 100%; padding: 0px 20px;  box-sizing: border-box; overflow: hidden; }
.location-inner { width: 100%; max-width: 1600px; margin: 0 auto; }
.location-head { display: flex; flex-direction: column; align-items: flex-start; margin-bottom: 64px; }
.location-head .eyebrow { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px; font-size: 14px; font-weight: 800; letter-spacing: 0.16em; color: #1f4fd8; }
.location-head .eyebrow::before { content: ""; width: 46px; height: 2px; background: #1f4fd8; }
.location-head h2 { margin: 0 0 22px; font-size: clamp(42px, 4vw, 72px); line-height: 1.1; letter-spacing: -0.055em; color: #111827; font-weight: 900; }
.location-head p { margin: 0; font-size: 18px; line-height: 1.75; color: #5b6472; word-break: keep-all; }
.location-content { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 34px; align-items: stretch; }
.location-info { display: flex; flex-direction: column; gap: 24px; }
.address-card { position: relative; padding: 56px 52px; min-height: 360px; border-radius: 34px; background: linear-gradient(145deg, #10265f 0%, #173c91 100%); color: #fff; box-shadow: 0 34px 90px rgba(31, 79, 216, 0.24); box-sizing: border-box; overflow: hidden; }
.address-card::before { content: ""; position: absolute; right: -110px; top: -110px; width: 280px; height: 280px; border-radius: 50%; background: rgba(255, 255, 255, 0.13); }
.address-card::after { content: ""; position: absolute; right: 46px; bottom: 44px; width: 120px; height: 120px; border-radius: 34px; border: 1px solid rgba(255, 255, 255, 0.18); transform: rotate(12deg); }
.address-card .label { display: inline-block; margin-bottom: 26px; font-size: 13px; font-weight: 800; letter-spacing: 0.18em; color: #fff151; }
.address-card h3 { position: relative; z-index: 1; margin: 0 0 18px; font-size: clamp(30px, 2.5vw, 46px); line-height: 1.22; letter-spacing: -0.05em; font-weight: 850; }
.address-card p { position: relative; z-index: 1; margin: 0 0 42px; font-size: 22px; font-weight: 600; color: rgba(255, 255, 255, 0.82); }
.address-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 12px; }
.map-btn { display: inline-flex; align-items: center; justify-content: center; height: 52px; padding: 0 24px; border-radius: 999px; background: rgba(255, 255, 255, 0.13); border: 1px solid rgba(255, 255, 255, 0.22); color: #fff; font-size: 15px; font-weight: 700; text-decoration: none; transition: all 0.3s ease; }
.map-btn.primary { background: #fff151; color: #111827; border-color: #fff151; }
.map-btn:hover { transform: translateY(-3px); background: #fff; color: #111827; }
.guide-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.guide-item { display: flex; gap: 18px; padding: 28px 26px; border-radius: 24px; background: #fff; border: 1px solid rgba(17, 24, 39, 0.08); box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06); box-sizing: border-box; transition: all 0.3s ease; }
.guide-item:hover { transform: translateY(-6px); box-shadow: 0 26px 70px rgba(15, 23, 42, 0.1); border-color: rgba(31, 79, 216, 0.22); }
.guide-icon { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 16px; background: #eef4ff; color: #1f4fd8; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 900; }
.guide-item h4 { margin: 0 0 8px; font-size: 20px; line-height: 1.3; letter-spacing: -0.04em; color: #111827; font-weight: 800; }
.guide-item p { margin: 0; font-size: 15px; line-height: 1.6; color: #5b6472; word-break: keep-all; }

.location-map { height: 720px; min-height: 720px; border-radius: 34px; overflow: hidden; background: #dce5f1; box-shadow: 0 30px 90px rgba(15, 23, 42, 0.12); position: relative; }
.location-map .map-placeholder { width: 100%; height: 100%; min-height: 0; padding: 0; display: block; background: none; overflow: hidden; border-radius: 34px; text-align: initial; color: inherit; box-sizing: border-box; }
.location-map .root_daum_roughmap { width: 100% !important; height: 100% !important; }
.location-map .root_daum_roughmap .wrap_map { width: 100% !important; height: 100% !important; }
.location-map .root_daum_roughmap .wrap_controllers { display: none !important; }
.location-map .root_daum_roughmap .wrap_btn_zoom { display: none !important; }
.location-map .root_daum_roughmap .wrap_controllers + * { display: none !important; }
.location-map .root_daum_roughmap .cont { display: none !important; }
.location-map .root_daum_roughmap .border1, .location-map .root_daum_roughmap .border2, .location-map .root_daum_roughmap .border3, .location-map .root_daum_roughmap .border4 { display: none !important; }

@media screen and (max-width: 1200px) {
    .location-section { padding: 110px 24px; }
    .location-content { grid-template-columns: 1fr; }
    .location-map { height: 520px; min-height: 520px; }
}

@media screen and (max-width: 768px) {
    .location-section { padding: 90px 20px; }
    .location-head { margin-bottom: 44px; }
    .location-head h2 { font-size: 42px; }
    .location-head p { font-size: 16px; }
    .address-card { padding: 42px 32px; border-radius: 28px; }
    .address-card h3 { font-size: 32px; }
    .address-card p { font-size: 19px; margin-bottom: 34px; }
    .guide-grid { grid-template-columns: 1fr; }
    .location-map { height: 420px; min-height: 420px; border-radius: 28px; }
    .location-map .map-placeholder { border-radius: 28px; }
}

@media screen and (max-width: 576px) {
    .location-section { padding: 76px 16px; }
    .location-head .eyebrow { font-size: 12px; letter-spacing: 0.1em; }
    .address-card { padding: 36px 26px; border-radius: 24px; }
    .address-actions { flex-direction: column; }
    .map-btn { width: 100%; }
    .guide-item { padding: 24px 22px; border-radius: 20px; }
}
/*오시는 길*/


.dw-history-section {width:100%;padding:140px 20px; color:#111;}
.dw-history-inner {max-width:1600px;margin:0 auto;}
.dw-history-list {position:relative;border-top:1px solid #dcdfe5;}
.dw-history-list:before {content:"";position:absolute;left:280px;top:0;width:1px;height:100%;background:#dcdfe5;}
.dw-history-item {display:grid;grid-template-columns:280px 1fr;gap:70px;padding:48px 0;border-bottom:1px solid #dcdfe5;position:relative;}
.dw-history-item:before {content:"";position:absolute;left:274px;top:58px;width:13px;height:13px;border-radius:50%;background:#2b5f9e;box-shadow:0 0 0 8px rgba(43,95,158,.12);}
.dw-history-year {padding-right:40px;}
.dw-history-year span {display:block;margin-bottom:14px;font-size:13px;font-weight:700;letter-spacing:.16em;color:#9aa3af;}
.dw-history-year strong {display:block;font-size:28px;line-height:1.3;font-weight:800;letter-spacing:-0.03em;color:#111;}
.dw-history-content {max-width:920px;}
.dw-history-content h3 {margin:0 0 18px;font-size:32px;line-height:1.35;font-weight:800;letter-spacing:-0.04em;color:#111;}
.dw-history-content p {margin:0;font-size:18px;line-height:1.85;font-weight:400;color:#555;word-break:keep-all;}
@media (max-width:1024px) {
  .dw-history-section {padding:100px 20px;}
  .dw-history-list:before {left:24px;}
  .dw-history-item {grid-template-columns:1fr;gap:24px;padding:42px 0 42px 58px;}
  .dw-history-item:before {left:18px;top:50px;}
  .dw-history-year {padding-right:0;}
  .dw-history-year strong {font-size:24px;}
  .dw-history-content h3 {font-size:28px;}
}
@media (max-width:640px) {
  .dw-history-section {padding:80px 18px;}
  .dw-history-item {padding-left:42px;}
  .dw-history-list:before {left:14px;}
  .dw-history-item:before {left:8px;}
  .dw-history-year strong {font-size:22px;}
  .dw-history-content h3 {font-size:23px;}
  .dw-history-content p {font-size:16px;}
}


.group_area h4 { font-size:30px; letter-spacing:-1px; font-weight:600; color:#000; padding:150px 0 0; text-align:center}
.group_area .pc { display:block; max-width:975px; margin:0 auto}
.group_area .mobile { display:none}



@media screen and (max-width: 640px) {
	.content .txtCon { word-break:keep-all}
	
	.content h3 { font-size:35px}
	
	.overCon .point h2 { font-size:24px}
	.overCon .colum .left { width:100%}
	.overCon .colum .right { width:100%; padding-top:4%}
	
	.contact_traffic h3 { font-size:20px}

	.history_area .history_point {left: 10px;margin-left: 0;}
	.history_area dl {float: none !important;width: 100%;padding-right: 0;padding-left: 50px;text-align: left;}
	.history_area div:nth-child(odd) dl {/* padding-right: 0; */padding-left: 50px;}
	.history_area div + div {margin-top: 40px;}
	.history_area div:nth-child(2) {margin-top: 0;}
	.history_area dt {margin-bottom: 20px;font-size:30px;}
	.history_area dd strong {font-size:15px;padding-bottom: 10px;}
	.history_area dd p br {display: none;}
	.history_area dd .img_box {margin-top: 20px;}	
	.history_area .pc { display:none}
  .history_area .mobile { display:block}
	
	.counsel_area .left { width:100%}
	.counsel_area .right { width:100%}
	

}



  .wrap{width:min(1600px,calc(100% - 48px));margin:0 auto}
 .management-section { width: 100%; padding: 0px 20px;  box-sizing: border-box; overflow: hidden; }
.management-inner { width: 100%; max-width: 1600px; margin: 0 auto; }
.management-head { max-width: 760px; margin-bottom: 70px; }
.management-head .eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; font-size: 14px; font-weight: 700; letter-spacing: 0.14em; color: #1f4fd8; }
.management-head .eyebrow::before { content: ""; width: 42px; height: 2px; background: #1f4fd8; display: block; }
.management-head h2 { margin: 0 0 24px; font-size: clamp(36px, 4vw, 64px); line-height: 1.18; letter-spacing: -0.045em; color: #111827; font-weight: 800; }
.management-head p { margin: 0; font-size: 18px; line-height: 1.75; color: #5b6472; word-break: keep-all; }
.management-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.management-card { position: relative; min-height: 520px; padding: 52px 46px 48px; border-radius: 30px; background: rgba(255,255,255,0.88); border: 1px solid rgba(17,24,39,0.08); box-shadow: 0 24px 70px rgba(15,23,42,0.08); box-sizing: border-box; overflow: hidden; transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease; }
.management-card::before { content: ""; position: absolute; right: -90px; top: -90px; width: 220px; height: 220px; border-radius: 50%; background: linear-gradient(135deg, rgba(31,79,216,0.16), rgba(31,79,216,0)); transition: all 0.35s ease; }
.management-card::after { content: ""; position: absolute; left: 46px; bottom: 0; width: calc(100% - 92px); height: 4px; background: linear-gradient(90deg, #1f4fd8, rgba(31,79,216,0)); transform: scaleX(0); transform-origin: left; transition: transform 0.35s ease; }
.management-card:hover { transform: translateY(-12px); box-shadow: 0 34px 90px rgba(15,23,42,0.14); border-color: rgba(31,79,216,0.24); }
.management-card:hover::before { right: -60px; top: -60px; background: linear-gradient(135deg, rgba(31,79,216,0.22), rgba(31,79,216,0)); }
.management-card:hover::after { transform: scaleX(1); }
.management-card.featured { background: linear-gradient(145deg, #10265f 0%, #173c91 100%); color: #fff; border-color: rgba(255,255,255,0.16); box-shadow: 0 30px 90px rgba(31,79,216,0.28); }
.management-card.featured::before { background: linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0)); }
.management-card.featured::after { background: linear-gradient(90deg, #fff151, rgba(255,241,81,0)); }
.card-num { position: absolute; top: 36px; right: 42px; font-size: 58px; line-height: 1; font-weight: 900; letter-spacing: -0.06em; color: rgba(17,24,39,0.06); }
.management-card.featured .card-num { color: rgba(255,255,255,0.12); }
.card-icon { width: 74px; height: 74px; margin-bottom: 36px; border-radius: 22px; display: flex; align-items: center; justify-content: center; background: #eef4ff; color: #1f4fd8; font-size: 22px; font-weight: 900; letter-spacing: -0.04em; }
.management-card.featured .card-icon { background: rgba(255,255,255,0.16); color: #fff151; }
.management-card h3 { position: relative; z-index: 1; margin: 0 0 20px; font-size: 30px; line-height: 1.25; letter-spacing: -0.04em; color: #111827; font-weight: 800; }
.management-card.featured h3 { color: #fff; }
.management-card p { position: relative; z-index: 1; margin: 0 0 34px; font-size: 17px; line-height: 1.72; color: #5b6472; word-break: keep-all; }
.management-card.featured p { color: rgba(255,255,255,0.78); }
.management-card ul { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 15px; margin: 0; padding: 0; list-style: none; }
.management-card li { position: relative; padding-left: 28px; font-size: 16px; line-height: 1.55; color: #2f3a4a; word-break: keep-all; }
.management-card li::before { content: ""; position: absolute; left: 0; top: 9px; width: 10px; height: 10px; border-radius: 50%; background: #1f4fd8; box-shadow: 0 0 0 5px rgba(31,79,216,0.1); }
.management-card.featured li { color: rgba(255,255,255,0.9); }
.management-card.featured li::before { background: #fff151; box-shadow: 0 0 0 5px rgba(255,241,81,0.16); }

@media screen and (max-width: 1200px) {
    .management-section { padding: 110px 24px; }
    .management-grid { gap: 22px; }
    .management-card { min-height: auto; padding: 44px 34px 42px; }
    .management-card h3 { font-size: 26px; }
    .management-card p { font-size: 16px; }
}

@media screen and (max-width: 992px) {
    .management-head { margin-bottom: 48px; }
    .management-grid { grid-template-columns: 1fr; }
    .management-card { min-height: auto; border-radius: 26px; }
}

@media screen and (max-width: 576px) {
    .management-section { padding: 80px 18px; }
    .management-head .eyebrow { font-size: 12px; letter-spacing: 0.08em; }
    .management-head h2 { font-size: 34px; }
    .management-head p { font-size: 16px; }
    .management-card { padding: 36px 26px 38px; border-radius: 22px; }
    .card-icon { width: 62px; height: 62px; margin-bottom: 28px; border-radius: 18px; font-size: 18px; }
    .card-num { top: 28px; right: 28px; font-size: 46px; }
    .management-card h3 { font-size: 24px; }
    .management-card li { font-size: 15px; }
}
 
    .section-title{margin:18px 0 14px;font-size:clamp(34px,3.2vw,58px);line-height:1.1;letter-spacing:-1px;font-weight:900}
    .section-desc{margin:0;color:#6b7280;font-size:clamp(16px,1.15vw,20px);line-height:1.75;letter-spacing:-.035em; word-break: keep-all;}
    .accent{color:#47b76b}.blue{color:#1769d1}

    .site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(229,231,235,.8)}


    .hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;background:#101827}
    .hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,24,.86) 0%,rgba(8,13,24,.62) 46%,rgba(8,13,24,.16) 100%),url('../img/main-hero.jpg') center/cover no-repeat;transform:scale(1.8)}
    .hero:after{content:"";position:absolute;left:-120px;bottom:-140px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(140,198,63,.35),rgba(23,105,209,0) 62%);filter:blur(10px)}
    .hero-content{position:relative;z-index:2;padding:88px 0;max-width:850px;color:#fff}
    .hero-kicker{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);font-weight:800;color:#dff9c8}
    .hero h1{margin:28px 0 22px;font-size:clamp(46px,5.4vw,92px);line-height:1.02;letter-spacing:-.075em;font-weight:900}
    .hero p{margin: 5px 0 0;font-size:clamp(18px,1.35vw,18px);line-height:1.75;letter-spacing:-.04em;max-width:760px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-weight:900;letter-spacing:-.035em;transition:.25s;border:1px solid transparent}
    .btn-primary{background:linear-gradient(135deg,#8cc63f,#47b76b);color:#fff;box-shadow:0 18px 32px rgba(76,175,80,.25)}
    .btn-primary:hover{transform:translateY(-3px);box-shadow:0 22px 40px rgba(76,175,80,.32)}
    .btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.24);backdrop-filter:blur(8px)}

    .hero-stats{position:relative;z-index:3;margin-top:-78px}
    .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:#fff;border-radius:28px;padding:20px;box-shadow:0 24px 70px rgba(17,24,39,.1)}
    .stat-card{padding:28px 24px;border-radius:22px;background:linear-gradient(180deg,#fff,#f9fbfd);border:1px solid #edf0f3}
    .stat-card strong{display:block;font-size:34px;font-weight:900;letter-spacing:-.04em;color:#12233f}
    .stat-card span{display:block;margin-top:9px;color:#6b7280;font-size:15px;font-weight:700;line-height:1.45}

    .service-nav{background:#fff;border-bottom:1px solid #e5e7eb}
    .service-nav .wrap{display:flex;overflow:auto;justify-content:center;gap:6px;padding:18px 0}
    .service-nav a{flex:0 0 auto;padding:13px 22px;border-radius:999px;color:#4b5563;font-size:15px;font-weight:800}
    .service-nav a.active,.service-nav a:hover{background:linear-gradient(135deg,#eff9e9,#eef6ff);color:#1f7a3c}

    .intro{padding:120px 0 72px;text-align:center}
    .intro .section-desc{max-width:940px;margin:0 auto}
    .highlight-box{margin:42px auto 0;width:min(980px,100%);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}
    .mini-line{height:1px;background:linear-gradient(90deg,transparent,#8cc63f,#1769d1,transparent)}
    .highlight-pill{padding:16px 24px;border-radius:999px;background:#111827;color:#fff;font-size:17px;font-weight:900;box-shadow:0 18px 40px rgba(17,24,39,.18)}

    .services{padding:80px 0 118px;}
    .services-head {text-align: left; margin-bottom: 80px;}
    .services-head .eyebrow {display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px;font-size: 14px;font-weight: 900;letter-spacing: 0.22em;color: #315be8;justify-content: flex-start}
    .services-head .eyebrow::before { content: "";width: 34px;height: 2px; background: #315be8;}
    .services-head .eyebrow::after { display: none;}
    .services-head h2 { margin: 0 0 22px; font-size: clamp(42px, 4vw, 70px);line-height: 1.1;letter-spacing: -0.055em; color: #111827;font-weight: 900; text-align: left;}
    .services-head p {margin: 0; font-size: 18px;line-height: 1.75;color: #5b6472; word-break: keep-all; text-align: left;}


    .circle-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
    .service-card{position:relative;padding:34px 28px 32px;min-height:390px;border-radius:32px;background:#fff;border:1px solid rgba(229,231,235,.9);box-shadow:0 18px 45px rgba(17,24,39,.07);overflow:hidden;transition:.28s}
    .service-card:hover{transform:translateY(-8px);box-shadow:0 26px 64px rgba(17,24,39,.12)}
    .service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:7px}
    .type-green:before{background:#47b76b}.type-lightgreen:before{background:#8cc63f}.type-teal:before{background:#4fa36d}.type-blue:before{background:#1769d1}
    .service-icon{width:106px;height:106px;border-radius:50%;display:grid;place-items:center;margin-bottom:28px;font-size:38px;background:#fff}
    .type-green .service-icon{border:7px solid #d9f2e2}.type-lightgreen .service-icon{border:7px solid #eaf6d7}.type-teal .service-icon{border:7px solid #dbeee2}.type-blue .service-icon{border:7px solid #dcecff}
    .service-card h3{margin:0 0 14px;font-size:25px;font-weight:900;letter-spacing:-.05em}
    .service-card p{margin:0 0 22px;color:#6b7280;font-size:16px;line-height:1.65}
    .service-card ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
    .service-card li{position:relative;padding-left:20px;color:#374151;font-size:15px;line-height:1.45;font-weight:600}
    .service-card li:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:#8cc63f}

    .joint-management{padding:112px 0;background:linear-gradient(180deg,#fff 0%,#f7fafc 100%)}
    .joint-head{text-align:center;max-width:920px;margin:0 auto 54px}
    .joint-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}
    .joint-card{text-align:center;padding-top:12px}
    .joint-top{width:min(250px,100%);margin:0 auto;padding:22px 18px;border:1px solid #d9e1ea;border-radius:20px;background:#fff;box-shadow:0 14px 34px rgba(17,24,39,.06)}
    .joint-top h3{margin:0;font-size:28px;font-weight:900;letter-spacing:-.05em;color:#111827}
    .joint-card:nth-child(1) .joint-top{border-top:5px solid #47b76b}.joint-card:nth-child(2) .joint-top{border-top:5px solid #8cc63f}.joint-card:nth-child(3) .joint-top{border-top:5px solid #1769d1}
    .joint-arrow{margin:18px auto;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:900;color:#374151;background:#fff;border:1px solid #e5e7eb;box-shadow:0 10px 24px rgba(17,24,39,.06)}
    .joint-bottom{min-height:220px;padding:34px 26px;border-radius:28px;background:#fff;border:1px solid #ddd;display:flex;align-items:center;justify-content:center}
    .joint-bottom p{margin:0;font-size:18px;line-height:1.65;font-weight:500;color:#111827}
    .joint-bottom strong{font-weight:900}

    .scope{padding:116px 0;background:#fff}
    .scope-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
    .scope-visual{position:relative;min-height:620px;display:grid;place-items:center}
    .orbit{position:relative;width:min(520px,100%);aspect-ratio:1;border-radius:50%;background:conic-gradient(#8cc63f 0 25%,#1769d1 0 50%,#8cc63f 0 75%,#1769d1 0 100%);box-shadow:inset 0 0 0 74px #fff,0 24px 80px rgba(23,105,209,.14)}
    .orbit:after{content:"";position:absolute;inset:-36px;border:1px dashed #cdd7e5;border-radius:50%}
    .orbit-center{position:absolute;inset:32%;display:grid;place-items:center;text-align:center;border-radius:50%;background:#fff;color:#111827;font-size:26px;font-weight:900;letter-spacing:-.05em;box-shadow:0 14px 38px rgba(17,24,39,.08);z-index:2}
    .orbit-center span{display:block;color:#b7bfcb;font-size:18px;letter-spacing:-.02em}
    .scope-chip{position:absolute;width:220px;padding:18px;border-radius:22px;background:#fff;border:1px solid #edf0f3;box-shadow:0 18px 50px rgba(17,24,39,.1);z-index:3}
    .scope-chip strong{display:block;font-size:17px;font-weight:900;margin-bottom:8px}.scope-chip span{color:#6b7280;font-size:14px;line-height:1.55;font-weight:600}
    .chip-1{top:28px;left:0}.chip-2{top:70px;right:0}.chip-3{bottom:72px;left:20px}.chip-4{bottom:36px;right:10px}.chip-1 strong,.chip-4 strong{color:#47b76b}.chip-2 strong,.chip-3 strong{color:#1769d1}
    .scope-list{display:grid;gap:18px;margin-top:36px}.scope-item{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:24px;border-radius:24px;background:#f9fafb;border:1px solid #edf0f3}.scope-item .num{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#8cc63f,#1769d1);color:#fff;font-weight:900}.scope-item h4{margin:0 0 8px;font-size:21px;letter-spacing:-.045em}.scope-item p{margin:0;color:#6b7280;line-height:1.65;font-size:16px}

    .value{padding:110px 0;background:linear-gradient(135deg,#0e1a2d,#17294a);color:#fff;position:relative;overflow:hidden}
    .value:before{content:"";position:absolute;right:-160px;top:-180px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(140,198,63,.32),transparent 65%)}
    .value-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:46px}.value-card{padding:34px;border-radius:30px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px)}.value-card b{display:inline-flex;margin-bottom:18px;padding:8px 13px;border-radius:999px;background:rgba(140,198,63,.16);color:#d6ffbc;font-size:14px}.value-card h3{margin:0 0 12px;font-size:29px;letter-spacing:-.055em}.value-card p{margin:0;color:rgba(255,255,255,.72);line-height:1.7;font-size:17px}

    .process{padding:118px 0;background:#f5f7fa}.process .section-title,.process .section-desc{text-align:center}.process .section-desc{max-width:760px;margin:0 auto}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:52px;counter-reset:step}.process-card{counter-increment:step;position:relative;padding:30px 24px 32px;border-radius:28px;background:#fff;border:1px solid #edf0f3;box-shadow:0 14px 36px rgba(17,24,39,.06)}.process-card:before{content:"0" counter(step);display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#eef8e8;color:#348f28;font-weight:900;margin-bottom:22px}.process-card:not(:last-child):after{content:"";position:absolute;right:-17px;top:56px;width:18px;height:2px;background:linear-gradient(90deg,#8cc63f,#1769d1)}.process-card h3{margin:0 0 10px;font-size:21px;letter-spacing:-.045em}.process-card p{margin:0;color:#6b7280;font-size:15px;line-height:1.65}

    .photo-strip{padding:0 0 150px 0 ; background:#f5f7fa}.photo-grid{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:18px}.photo-card{height:260px;border-radius:30px;overflow:hidden;position:relative;box-shadow:0 18px 48px rgba(17,24,39,.12)}.photo-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.38),transparent 70%);z-index:1}.photo-card img{width:100%;height:100%;object-fit:cover;transition:.5s}.photo-card:hover img{transform:scale(1.06)}.photo-card span{position:absolute;left:24px;bottom:22px;z-index:2;color:#fff;font-weight:900;font-size:20px;letter-spacing:-.04em}

    .cta{padding:110px 0;background:#fff}.cta-box{position:relative;overflow:hidden;border-radius:40px;padding:64px;background:linear-gradient(135deg,#f0fae9,#eef6ff);display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;border:1px solid #e4edf4}.cta-box:after{content:"";position:absolute;right:-80px;bottom:-130px;width:360px;height:360px;border-radius:50%;background:rgba(23,105,209,.12)}.cta h2{position:relative;z-index:1;margin:0 0 16px;font-size:clamp(32px,3vw,52px);line-height:1.15;letter-spacing:-.06em;font-weight:900}.cta p{position:relative;z-index:1;margin:0;color:#4b5563;font-size:18px;line-height:1.7}.cta-actions{position:relative;z-index:1;display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.btn-dark{background:#111827;color:#fff;box-shadow:0 18px 38px rgba(17,24,39,.18)}.btn-white{background:#fff;color:#111827;border-color:#dce5ee}

    .floating{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:40;display:grid;gap:10px}.float-btn{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;text-align:center;font-size:12px;font-weight:900;line-height:1.25;box-shadow:0 16px 36px rgba(17,24,39,.18)}.float-kakao{background:#ffe812;color:#191919}.float-call{background:#1769d1;color:#fff}
    .footer{background:#101827;color:#d1d5db;padding:54px 0;text-align:center}.footer-logo{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:900;font-size:22px;margin-bottom:18px}.footer p{margin:0;color:#9ca3af;line-height:1.75;font-size:14px}

    @media (max-width:1200px){
      .circle-row{grid-template-columns:repeat(2,1fr)}
      .joint-grid{grid-template-columns:1fr;gap:22px}
      .joint-card{max-width:760px;margin:0 auto}
      .joint-bottom{min-height:auto}
      .scope-grid{grid-template-columns:1fr;gap:42px}
      .process-grid{grid-template-columns:repeat(3,1fr)}
      .process-card:after{display:none}
      .stats-grid{grid-template-columns:repeat(2,1fr)}
    }
    @media (max-width:860px){
      .wrap{width:min(100% - 32px,1600px)}
      .hero{min-height:560px}
      .hero-content{padding:74px 0 108px}
      .hero-stats{margin-top:-64px}
      .stats-grid,.circle-row,.value-grid,.photo-grid,.cta-box{grid-template-columns:1fr}
      .services-head{display:block}.joint-top h3{font-size:23px}
      .joint-bottom p{font-size:22px;line-height:1.6}
      .scope-visual{min-height:auto;padding:42px 0 250px}
      .orbit{width:min(360px,100%)}
      .orbit-center{font-size:20px}
      .scope-chip{width:calc(50% - 8px)}
      .chip-1{top:auto;bottom:126px;left:0}
      .chip-2{top:auto;bottom:126px;right:0}
      .chip-3{bottom:0;left:0}
      .chip-4{bottom:0;right:0}
      .process-grid{grid-template-columns:1fr}
      .cta-box{padding:38px 26px}
      .cta-actions{justify-content:flex-start}
      .floating{right:14px;top:auto;bottom:18px;transform:none;grid-template-columns:1fr 1fr}
      .float-btn{width:64px;height:64px;border-radius:18px;font-size:11px}
    }
    @media (max-width:520px){
      .stats-grid{padding:12px;gap:10px}
      .stat-card{padding:20px 16px}
      .stat-card strong{font-size:27px}
      .intro,.services,.joint-management,.scope,.value,.process,.cta{padding-top:78px;padding-bottom:78px}
      .highlight-box{grid-template-columns:1fr}
      .mini-line{display:none}
      .service-card{min-height:auto;padding:30px 22px}
      .joint-head{margin-bottom:38px}
      .joint-top{padding:18px 14px}
      .joint-arrow{width:46px;height:46px;font-size:24px}
      .joint-bottom{padding:26px 18px;border-radius:22px}
      .joint-bottom p{font-size:20px}
      .scope-chip{position:relative;width:100%;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important}
      .scope-visual{display:grid;gap:12px;padding-bottom:0}
      .orbit{margin-bottom:16px}
      .photo-card{height:220px}
      .btn{width:100%}
    }





/* 견적문의 전체 */
.sub-inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 140px 24px 110px;
  box-sizing: border-box;
  font-family: 'Pretendard', '맑은 고딕', 'Malgun Gothic', AppleGothic, sans-serif;
  color: #111827;
  background: #fff;
}

#contents.formmail {
  width: 100%;
}

.formmail-top {
  margin-bottom: 54px;
}

.formmail-top .eng {
  display: inline-block;
  position: relative;
  padding-left: 34px;
  margin-bottom: 18px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .18em;
  color: #2f69e6;
  text-transform: uppercase;
}

.formmail-top .eng:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 26px;
  height: 2px;
  background: #2f69e6;
  transform: translateY(-50%);
}

.formmail-top h1 {
  margin: 0 0 20px;
  font-size: 64px;
  line-height: 1.04;
  font-weight: 900;
  letter-spacing: -0.07em;
  color: #0f172a;
}

.formmail-top p {
  margin: 0;
  font-size: 18px;
  line-height: 1.8;
  color: #6b7280;
  word-break: keep-all;
}

#contents.formmail > .clearfix {
  background: transparent;
}

#fmail {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 42px 54px;
  margin: 0 !important;
  padding: 0;
}

#fmail:after,
#contents.formmail > .clearfix:after {
  content: '';
  display: block;
  clear: both;
}

#fmail > .left,
#fmail > .right {
  float: none !important;
  width: auto !important;
  box-sizing: border-box;
}

#fmail > .left {
  position: relative;
  padding: 24px 0 0 20px;
}

#fmail > .left:before {
  content: '';
  position: absolute;
  left: 0;
  top: 62px;
  bottom: -42px;
  width: 1px;
  background: #edf0f5;
}

#fmail > .left:last-of-type:before {
  bottom: 0;
}

#fmail > .left h2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 86px;
  height: 38px;
  margin: 0 0 22px;
  padding: 0 18px;
  border-radius: 999px;
  background: #0f172a;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: -0.01em;
}

#fmail > .left p {
  margin: 0 0 18px;
  font-size: 26px;
  line-height: 1.28;
  letter-spacing: -0.055em;
  font-weight: 900;
  color: #111827;
  word-break: keep-all;
}

#fmail > .left .step-desc {
  display: block;
  max-width: 160px;
  font-size: 14px;
  line-height: 1.75;
  color: #9ca3af;
  font-weight: 600;
  word-break: keep-all;
}

#fmail > .right {
  margin: 0;
  padding: 28px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 28px;
}

#fmail > .right > .privacy-scroll {
  width: 100%;
  height: 178px;
  padding: 28px;
  box-sizing: border-box;
  border: 1px solid #dfe5ee;
  border-radius: 20px;
  background: #f3f6fb;
  color: #4b5563;
  font-size: 15px;
  line-height: 1.9;
  overflow: auto;
}

#fmail > .right > .privacy-scroll::-webkit-scrollbar {
  width: 8px;
}

#fmail > .right > .privacy-scroll::-webkit-scrollbar-thumb {
  background: #cfd6df;
  border-radius: 999px;
}

#fmail .agree-box {
  margin-top: 18px;
  text-align: right;
}

#confirm {
  width: 20px;
  height: 20px;
  margin: 0 8px 0 0;
  vertical-align: -4px;
  accent-color: #ef4444;
}

label[for='confirm'] {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  font-weight: 900;
  color: #ef4444 !important;
  cursor: pointer;
}

#fmail .tbl-stat {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 16px;
  background: transparent;
}

#fmail .tbl-stat colgroup {
  display: none;
}

#fmail .tbl-stat td {
  vertical-align: middle;
  padding: 0;
  border: 0;
  background: transparent;
  box-sizing: border-box;
}

#fmail .tbl-stat td.point {
  width: 190px;
  padding: 0 18px 0 24px;
  border: 1px solid #e5e7eb;
  border-right: 0;
  border-radius: 18px 0 0 18px;
  background: #fff;
  color: #0f172a;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: -0.03em;
}

#fmail .tbl-stat td.point label {
  color: inherit;
  font: inherit;
}

#fmail .tbl-stat td.point:before {
  content: '•';
  display: inline-block;
  margin-right: 10px;
  font-size: 18px;
  color: #2563eb;
  vertical-align: middle;
}

#fmail .tbl-stat td.point.required-label:after,
#fmail .tbl-stat td.point label:after {
  content: ' *';
  color: #ef4444;
  font-weight: 900;
}

#fmail .tbl-stat td.input-area {
  padding: 14px 16px 14px 0;
  border: 1px solid #e5e7eb;
  border-left: 0;
  border-radius: 0 18px 18px 0;
  background: #fff;
}

#fmail .text,
#fmail .frm_input,
#fmail .textarea,
#fmail .captcha_box,
#fmail select {
  width: 100%;
  height: 54px;
  padding: 0 18px;
  border: 1px solid #dbe1ea;
  border-radius: 16px;
  background: #f7f9fc;
  color: #111827;
  font-size: 15px;
  font-family: inherit;
  box-sizing: border-box;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

#fmail .text::placeholder,
#fmail .frm_input::placeholder,
#fmail .textarea::placeholder {
  color: #a0a8b5;
}

#fmail .text:focus,
#fmail .frm_input:focus,
#fmail .textarea:focus,
#fmail .captcha_box:focus,
#fmail select:focus {
  background: #fff;
  border-color: #9ec5ff;
  box-shadow: 0 0 0 4px rgba(59,130,246,.10);
}

.email-field,
.hp-field {
  display: flex;
  align-items: center;
  gap: 12px;
}

.email-at,
.hp-dash {
  color: #a3abb7;
  font-size: 15px;
  font-weight: 800;
}

#co_email_id,
#co_email_mx {
  flex: 1 1 0;
  width: auto !important;
  min-width: 0;
}

#co_email_mx_select {
  flex: 1 1 0;
  width: auto !important;
  min-width: 0;
}

#co_hp1,
#co_hp2,
#co_hp3 {
  flex: 1 1 0;
  width: auto !important;
  min-width: 0;
}

#fmail .form-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#fmail .form-radio label {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid #dbe1ea;
  border-radius: 15px;
  background: #f7f9fc;
  color: #374151;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: all .2s ease;
}

#fmail .form-radio label:hover {
  border-color: #b7cdf5;
  background: #fff;
  color: #1d4ed8;
}

#fmail .form-radio input.radio {
  width: 16px;
  height: 16px;
  margin: 0 8px 0 0;
  accent-color: #2563eb;
}

#fmail .textarea {
  height: 210px;
  padding: 18px;
  resize: vertical;
  line-height: 1.8;
}

#fmail .frm_file {
  height: auto;
  padding: 13px 16px;
}

#fmail input[type='file']::file-selector-button {
  margin-right: 12px;
  padding: 10px 14px;
  border: 1px solid #d1d9e6;
  border-radius: 12px;
  background: #fff;
  color: #111827;
  font-family: inherit;
  font-weight: 800;
  cursor: pointer;
}

#fmail .submit-wrap {
  grid-column: 2 / 3;
  width: 100%;
  padding: 0;
  background: transparent;
  border: 0;
  text-align: center !important;
}

#captcha {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
  margin: 0 0 28px;
  padding: 22px;
  border: 1px solid #e5e7eb;
  border-radius: 24px;
  background: #fff;
  box-sizing: border-box;
}

#captcha legend {
  display: none;
}

#captcha_img {
  border-radius: 12px;
  overflow: hidden;
}

#captcha_key {
  width: 140px !important;
  height: 50px !important;
  text-align: center;
  font-weight: 900;
}

#captcha_mp3,
#captcha_reload {
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: #0f172a;
  color: #fff;
  font-size: 0;
  cursor: pointer;
  position: relative;
}

#captcha_mp3:before {
  content: '🔊';
  font-size: 16px;
}

#captcha_reload:before {
  content: '↻';
  font-size: 18px;
}

#captcha_info {
  display: inline-flex;
  align-items: center;
  height: 50px;
  padding: 0 18px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #f7f9fc;
  color: #9ca3af;
  font-size: 14px;
  font-weight: 800;
}

#fmail .btn_submit {
  min-width: 240px;
  height: 64px;
  padding: 0 42px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #132d74 0%, #2f69e6 100%);
  color: #fff;
  font-size: 18px !important;
  font-weight: 900;
  letter-spacing: -0.04em;
  cursor: pointer;
  box-shadow: 0 18px 30px rgba(47, 105, 230, .28);
  transition: transform .2s ease, box-shadow .2s ease;
}

#fmail .btn_submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 36px rgba(47, 105, 230, .34);
}

.privacy-policy {
  color: #374151;
}

.privacy-card {
  background: transparent;
}

.privacy-hero {
  padding: 0;
  background: transparent;
  border: 0;
}

.privacy-badge {
  display: none;
}

.privacy-title {
  margin: 0 0 18px;
  font-size: 22px;
  font-weight: 900;
  color: #111827;
  letter-spacing: -0.04em;
}

.privacy-desc,
.privacy-intro,
.privacy-section p,
.privacy-section li {
  font-size: 14px;
  line-height: 1.9;
  color: #4b5563;
}

.privacy-body {
  padding: 0;
}

.privacy-toc,
.privacy-box,
.privacy-contact-item,
.privacy-footer-note {
  margin: 14px 0;
  padding: 18px;
  border-radius: 16px;
  background: rgba(255,255,255,.8);
  border: 1px solid #e5e7eb;
}

.privacy-toc h2,
.privacy-section h2 {
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.5;
  color: #111827;
  font-weight: 900;
}

.privacy-section h3 {
  margin: 16px 0 8px;
  font-size: 15px;
  color: #1f2937;
  font-weight: 800;
}

.privacy-contact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.privacy-toc a,
.privacy-contact a {
  color: #2563eb;
  text-decoration: none;
}

@media (max-width: 1024px) {
  .formmail-top h1 {
    font-size: 50px;
  }

  #fmail {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #fmail > .left {
    padding: 0;
  }

  #fmail > .left:before {
    display: none;
  }

  #fmail > .left p {
    font-size: 26px;
  }

  #fmail > .left .step-desc {
    max-width: none;
  }

  #fmail .submit-wrap {
    grid-column: auto;
  }
}

@media (max-width: 768px) {
  .sub-inner {
    padding: 42px 16px 80px;
  }

  .formmail-top {
    margin-bottom: 34px;
  }

  .formmail-top .eng {
    font-size: 12px;
  }

  .formmail-top h1 {
    font-size: 40px;
  }

  .formmail-top p {
    font-size: 15px;
    line-height: 1.7;
  }

  #fmail > .right {
    padding: 18px;
    border-radius: 24px;
  }

  #fmail > .right > .privacy-scroll {
    height: 170px;
    padding: 18px;
    border-radius: 18px;
  }

  #fmail .tbl-stat,
  #fmail .tbl-stat tbody,
  #fmail .tbl-stat tr,
  #fmail .tbl-stat td {
    display: block;
    width: 100% !important;
  }

  #fmail .tbl-stat tr {
    margin-bottom: 16px;
  }

  #fmail .tbl-stat td.point,
  #fmail .tbl-stat td.input-area {
    display: block;
    border: 0;
    border-radius: 0;
    background: transparent;
    min-height: auto;
    padding: 0;
  }

  #fmail .tbl-stat td.point {
    margin-bottom: 8px;
    font-size: 15px;
  }

  .email-field,
  .hp-field {
    display: block;
  }

  .email-at,
  .hp-dash {
    display: none;
  }

  #co_email_id,
  #co_email_mx,
  #co_email_mx_select,
  #co_hp1,
  #co_hp2,
  #co_hp3 {
    width: 100% !important;
    display: block;
    margin: 8px 0 !important;
  }

  #fmail .form-radio label {
    width: 100%;
    margin-right: 0;
  }

  #captcha {
    display: block;
    padding: 16px;
  }

  #captcha_img,
  #captcha_key,
  #captcha_mp3,
  #captcha_reload,
  #captcha_info {
    display: block;
    width: 100%;
    margin: 8px 0;
  }

  #captcha_mp3,
  #captcha_reload {
    width: 100%;
    height: 46px;
  }

  #captcha_key {
    width: 100% !important;
  }

  #fmail .btn_submit {
    width: 100%;
    min-width: 0;
    height: 60px;
    font-size: 18px !important;
  }

  .privacy-contact {
    grid-template-columns: 1fr;
  }
}