
/* ==========================================
   PUMDA SERVICE GUIDE V4
   CSS 전용 파일
   ========================================== */

.pumda-service-v4 {
  --teal: #103f43;
  --teal-light: #1c6161;
  --burg: #702c42;
  --gold: #c5a77b;
  --paper: #faf8f4;
  --ink: #1e3032;
  --muted: #68787a;

  display: block;
  width: 100%;
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
  line-height: 1.65;
  overflow: hidden;
  scroll-behavior: smooth;
}

.pumda-service-v4 *,
.pumda-service-v4 *::before,
.pumda-service-v4 *::after {
  box-sizing: border-box;
}

.pumda-service-v4 a {
  text-decoration: none;
  color: inherit;
}

.pumda-service-v4 h1,
.pumda-service-v4 h2,
.pumda-service-v4 h3,
.pumda-service-v4 p {
  font-family: inherit;
}

.pumda-service-v4 .wrap {
  max-width: 1160px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* ==========================================
   01. HERO
   ========================================== */

.pumda-service-v4 .hero {
  background: var(--teal);
  color: #fff;
  position: relative;
  overflow: hidden;
}

.pumda-service-v4 .hero::before {
  content: "";
  position: absolute;
  width: 720px;
  height: 720px;
  border-radius: 50%;
  border: 1px solid #ffffff25;
  right: -200px;
  top: -270px;
  box-shadow:
    0 0 0 75px #ffffff08,
    0 0 0 150px #ffffff06;
}

.pumda-service-v4 .hero::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40%;
  height: 75%;
  background: linear-gradient(
    135deg,
    transparent 20%,
    #702c4266 100%
  );
  clip-path: polygon(
    50% 0,
    100% 0,
    100% 100%,
    0 100%
  );
}

.pumda-service-v4 .hero-in {
  min-height: 515px;
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 30px;
  align-items: center;
  position: relative;
  z-index: 1;
  padding-top: 55px;
  padding-bottom: 70px;
}

.pumda-service-v4 .over {
  font-size: 11px;
  letter-spacing: 2.6px;
  font-weight: 800;
  color: var(--gold);
}

.pumda-service-v4 h1 {
  font-size: clamp(38px, 5vw, 66px);
  line-height: 1.23;
  letter-spacing: -3px;
  margin: 20px 0 25px;
}

.pumda-service-v4 .hero h1 {
  color: #fff;
}

.pumda-service-v4 h1 em {
  font-style: normal;
  color: #e2c7a0;
}

.pumda-service-v4 .hero p {
  font-size: 16px;
  color: #e3eeee;
  line-height: 2;
  max-width: 590px;
}

.pumda-service-v4 .btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 30px;
}

.pumda-service-v4 .btn {
  padding: 13px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 3px;
  font-size: 13px;
  font-weight: 800;
  transition:
    transform 0.25s,
    background 0.25s,
    box-shadow 0.25s;
}

.pumda-service-v4 .btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px #0002;
}

.pumda-service-v4 .white {
  background: #fff;
  color: var(--teal);
}

.pumda-service-v4 .outline {
  border: 1px solid #ffffffa0;
  color: #fff;
}

/* 메인 원형 그래픽 */

.pumda-service-v4 .hero-art {
  position: relative;
  height: 360px;
}

.pumda-service-v4 .orbit {
  position: absolute;
  inset: 28px 0 28px 20px;
  border: 1px solid #ffffff4d;
  border-radius: 50%;
  animation: pumdaFloat 7s ease-in-out infinite;
}

.pumda-service-v4 .orbit::before {
  content: "";
  position: absolute;
  inset: 36px;
  border: 1px dashed #ffffff3b;
  border-radius: 50%;
}

.pumda-service-v4 .seal {
  position: absolute;
  left: 17%;
  top: 20%;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: linear-gradient(
    145deg,
    #f4ead8,
    #d3b78b
  );
  color: var(--teal);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 20px 60px #001e244d;
  transform: rotate(-8deg);
}

.pumda-service-v4 .seal strong {
  font-size: 35px;
  line-height: 1.35;
  letter-spacing: -2px;
}

.pumda-service-v4 .seal span {
  display: block;
  font-size: 10px;
  letter-spacing: 2px;
  font-weight: 700;
}

.pumda-service-v4 .floating {
  position: absolute;
  background: #fff;
  color: var(--teal);
  padding: 15px 19px;
  box-shadow: 0 12px 35px #001e2455;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.pumda-service-v4 .f1 {
  right: -8px;
  top: 40px;
}

.pumda-service-v4 .f2 {
  right: 0;
  bottom: 32px;
  border-left: 4px solid var(--burg);
}

@keyframes pumdaFloat {
  50% {
    transform: translateY(-13px);
  }
}

/* ==========================================
   02. BURGUNDY STRIP
   ========================================== */

.pumda-service-v4 .strip {
  background: var(--burg);
  color: #fff;
}

.pumda-service-v4 .stripin {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 17px;
  padding-bottom: 17px;
  font-size: 12px;
  letter-spacing: 0.3px;
}

.pumda-service-v4 .stripin span {
  display: flex;
  align-items: center;
  gap: 9px;
}

.pumda-service-v4 .stripin span::before {
  content: "◆";
  color: #e8cba8;
  font-size: 8px;
}

/* ==========================================
   03. COMMON SECTION STYLES
   ========================================== */

.pumda-service-v4 .section {
  padding-top: 90px;
  padding-bottom: 90px;
}

.pumda-service-v4 .kicker {
  font-size: 11px;
  color: var(--burg);
  font-weight: 900;
  letter-spacing: 2px;
}

.pumda-service-v4 .title {
  font-size: clamp(27px, 3.5vw, 39px);
  color: var(--teal);
  letter-spacing: -1.7px;
  line-height: 1.4;
  margin: 13px 0 17px;
}

.pumda-service-v4 .lead {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.95;
}

.pumda-service-v4 .center {
  text-align: center;
}

/* ==========================================
   04. WHY PUMDA
   스크린샷 2번 형태로 변경
   제목·설명 중앙 / 카드 3개 하단
   ========================================== */

.pumda-service-v4 #why.section.wrap {
  max-width: 1160px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 76px 24px 70px;
}

.pumda-service-v4 #why .introgrid {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 36px;
  width: 100%;
  min-width: 0;
}

.pumda-service-v4 #why .why-heading {
  width: 100%;
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
}

.pumda-service-v4 #why .title {
  margin: 13px auto 20px;
  color: var(--teal);
}

.pumda-service-v4 #why .lead {
  max-width: 760px;
  margin: 0 auto;
}

.pumda-service-v4 #why .valuegrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  min-width: 0;
}

.pumda-service-v4 #why .value {
  background: #fff;
  border: 1px solid #e7e4de;
  min-width: 0;
  min-height: 185px;
  padding: 30px 24px;
  text-align: left;
  transition:
    transform 0.25s,
    border-color 0.25s;
}

.pumda-service-v4 #why .value:hover {
  transform: translateY(-6px);
  border-color: var(--gold);
}

.pumda-service-v4 #why .value .n {
  font-size: 12px;
  font-weight: 900;
  color: #b99a69;
}

.pumda-service-v4 #why .value h3 {
  font-size: 19px;
  line-height: 1.4;
  color: var(--teal);
  margin: 20px 0 10px;
}

.pumda-service-v4 #why .value p {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
}

/* ==========================================
   05. TRAVEL PARTNERS
   ========================================== */

.pumda-service-v4 .partners {
  background: #eaf0ed;
}

.pumda-service-v4 .partnergrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 36px;
}

.pumda-service-v4 .partner {
  background: #fff;
  position: relative;
  min-height: 245px;
  padding: 30px;
  overflow: hidden;
  transition:
    transform 0.25s,
    box-shadow 0.25s;
}

.pumda-service-v4 .partner:hover {
  transform: translateY(-7px);
  box-shadow: 0 20px 35px #103f4320;
}

.pumda-service-v4 .partner::after {
  content: "↗";
  position: absolute;
  right: 22px;
  top: 12px;
  color: #e9e7e0;
  font-size: 72px;
  line-height: 1;
  pointer-events: none;
}

.pumda-service-v4 .partner:nth-child(1) {
  border-top: 5px solid var(--teal);
}

.pumda-service-v4 .partner:nth-child(2) {
  border-top: 5px solid var(--burg);
}

.pumda-service-v4 .partner:nth-child(3) {
  border-top: 5px solid var(--gold);
}

.pumda-service-v4 .partner h3 {
  font-size: 25px;
  color: var(--teal);
  margin: 10px 0;
}

.pumda-service-v4 .partner p {
  font-size: 13px;
  color: var(--muted);
  max-width: 230px;
}

.pumda-service-v4 .partner a {
  display: inline-block;
  position: relative;
  z-index: 1;
  margin-top: 16px;
  font-size: 13px;
  font-weight: 800;
  color: var(--burg);
  border-bottom: 1px solid var(--burg);
}

.pumda-service-v4 .fine {
  font-size: 11px;
  color: #81908f;
  margin-top: 15px;
}

/* ==========================================
   06. HOW IT WORKS - 4 STEPS
   ========================================== */

.pumda-service-v4 .quick {
  background: #faf8f4;
}

.pumda-service-v4 .quickgrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 48px;
}

.pumda-service-v4 .quickstep {
  border-top: 3px solid #b99a69;
  padding: 25px 14px 12px;
  min-width: 0;
}

.pumda-service-v4 .quickstep span {
  font-size: 12px;
  font-weight: 800;
  color: #702c42;
}

.pumda-service-v4 .quickstep h3 {
  font-size: 20px;
  letter-spacing: -0.5px;
  color: #103f43;
  margin: 19px 0 12px;
}

.pumda-service-v4 .quickstep p {
  font-size: 14px;
  color: #68787a;
  line-height: 1.85;
  margin: 0;
  overflow-wrap: break-word;
}

.pumda-service-v4 .quickcaption {
  text-align: center;
  font-size: 13px;
  color: #68787a;
  margin: 35px 0 0;
}

/* ==========================================
   07. PUMDA SERVICE JOURNEY
   7단계 서비스
   ========================================== */

.pumda-service-v4 .process {
  background: #fff;
}

.pumda-service-v4 .process-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 35px;
}

.pumda-service-v4 .process-head .lead {
  max-width: 370px;
}

.pumda-service-v4 .timeline {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-top: 50px;
  position: relative;
  gap: 8px;
}

.pumda-service-v4 .timeline::before {
  content: "";
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--teal),
    var(--burg)
  );
  position: absolute;
  left: 6%;
  right: 6%;
  top: 32px;
}

.pumda-service-v4 .stage {
  position: relative;
  text-align: center;
  z-index: 1;
}

.pumda-service-v4 .bubble {
  height: 66px;
  width: 66px;
  margin: auto;
  border-radius: 50%;
  background: #f2f6f4;
  border: 3px solid var(--teal);
  display: grid;
  place-items: center;
  color: var(--teal);
  font-size: 23px;
  font-weight: 900;
  box-shadow: 0 0 0 6px white;
  transition:
    transform 0.25s,
    background 0.25s,
    color 0.25s;
}

.pumda-service-v4 .stage:hover .bubble {
  transform: scale(1.12);
  background: var(--teal);
  color: #fff;
}

.pumda-service-v4 .stage:nth-child(4) .bubble,
.pumda-service-v4 .stage:nth-child(7) .bubble {
  border-color: var(--burg);
  color: var(--burg);
}

.pumda-service-v4 .stage:nth-child(4):hover .bubble,
.pumda-service-v4 .stage:nth-child(7):hover .bubble {
  background: var(--burg);
  color: white;
}

.pumda-service-v4 .stage h3 {
  font-size: 14px;
  line-height: 1.45;
  color: var(--teal);
  margin: 20px 0 7px;
}

.pumda-service-v4 .stage p {
  font-size: 11px;
  line-height: 1.6;
  color: var(--muted);
  margin: 0;
}

.pumda-service-v4 .process-note {
  margin-top: 35px;
  background: #f6f3ee;
  border-left: 4px solid var(--burg);
  padding: 17px 22px;
  font-size: 13px;
  color: #546265;
}

/* ==========================================
   08. PERSONAL CONSULTATION
   ========================================== */

.pumda-service-v4 .help {
  background: linear-gradient(
    105deg,
    #f9f6f1 50%,
    #f0e9e6 50%
  );
}

.pumda-service-v4 .helpgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
  align-items: center;
}

.pumda-service-v4 .quotes {
  display: grid;
  gap: 13px;
}

.pumda-service-v4 .quote {
  background: white;
  padding: 19px 23px;
  border-radius: 0 18px 18px 18px;
  font-size: 14px;
  color: #41565a;
  box-shadow: 0 10px 25px #22333309;
}

.pumda-service-v4 .quote:nth-child(2) {
  margin-left: 35px;
  border-left: 3px solid var(--burg);
}

.pumda-service-v4 .quote:nth-child(3) {
  margin-right: 35px;
  border-left: 3px solid var(--teal);
}

/* ==========================================
   09. SEOUL - TORONTO OFFICE
   ========================================== */

.pumda-service-v4 .office-section {
  background: #fff;
  padding: 35px 0 80px;
}

.pumda-service-v4 .officebox {
  border-left: 4px solid #702c42;
  background: #faf8f4;
  padding: 32px 40px;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 26px;
  align-items: center;
}

.pumda-service-v4 .office-mark {
  font-size: 15px;
  letter-spacing: 2px;
  font-weight: 900;
  color: #702c42;
}

.pumda-service-v4 .office-mark span {
  color: #b99a69;
}

.pumda-service-v4 .officebox h2 {
  color: #103f43;
  font-size: 25px;
  margin: 0 0 10px;
}

.pumda-service-v4 .officebox p {
  color: #68787a;
  margin: 0;
  line-height: 1.9;
  font-size: 15px;
}

.pumda-service-v4 .officebox .office-notice {
  font-size: 12px;
  color: #926678;
  margin-top: 12px;
}

/* ==========================================
   10. FINAL CTA
   ========================================== */

.pumda-service-v4 .cta {
  background: var(--burg);
  color: #fff;
  text-align: center;
  padding: 75px 20px;
}

.pumda-service-v4 .cta h2 {
  font-size: clamp(28px, 4vw, 40px);
  letter-spacing: -1.5px;
  margin: 12px 0;
  color: #fff;
}

.pumda-service-v4 .cta p {
  color: #f0dfe5;
}

.pumda-service-v4 .cta .btn {
  margin-top: 14px;
}

.pumda-service-v4 .demo {
  font-size: 11px;
  color: #c7b6bc;
  margin-top: 13px;
}

/* ==========================================
   11. TABLET RESPONSIVE
   ========================================== */

@media (max-width: 900px) {

  .pumda-service-v4 .hero-in {
    grid-template-columns: 1fr;
  }

  .pumda-service-v4 .hero-art {
    display: none;
  }

  .pumda-service-v4 .helpgrid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .pumda-service-v4 .timeline {
    grid-template-columns: repeat(4, 1fr);
    row-gap: 30px;
  }

  .pumda-service-v4 .timeline::before {
    display: none;
  }

  .pumda-service-v4 .process-head {
    display: block;
  }

  .pumda-service-v4 .quickgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pumda-service-v4 .officebox {
    grid-template-columns: 1fr;
    gap: 12px;
  }

}

/* ==========================================
   12. MOBILE RESPONSIVE
   ========================================== */

@media (max-width: 700px) {

  .pumda-service-v4 #why.section.wrap {
    padding: 55px 20px;
  }

  .pumda-service-v4 #why .introgrid {
    gap: 27px;
  }

  .pumda-service-v4 #why .valuegrid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .pumda-service-v4 #why .value {
    min-height: 0;
    padding: 23px 21px;
  }

  .pumda-service-v4 #why .value h3 {
    margin: 13px 0 8px;
  }

}

@media (max-width: 620px) {

  .pumda-service-v4 .hero-in {
    min-height: 420px;
    padding-top: 55px;
    padding-bottom: 65px;
  }

  .pumda-service-v4 .hero p {
    font-size: 14px;
  }

  .pumda-service-v4 .stripin {
    display: block;
    text-align: center;
  }

  .pumda-service-v4 .stripin span {
    justify-content: center;
    padding: 3px 0;
  }

  .pumda-service-v4 .section {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .pumda-service-v4 .partnergrid {
    grid-template-columns: 1fr;
  }

  .pumda-service-v4 .quickgrid {
    gap: 14px;
  }

  .pumda-service-v4 .quickstep {
    padding: 16px 5px;
  }

  .pumda-service-v4 .quickstep h3 {
    font-size: 17px;
  }

  .pumda-service-v4 .quickstep p {
    font-size: 12px;
  }

  .pumda-service-v4 .timeline {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px 13px;
  }

  .pumda-service-v4 .stage {
    background: #faf9f6;
    padding: 14px 8px 17px;
    border: 1px solid #eee9e2;
  }

  .pumda-service-v4 .stage h3 {
    margin-top: 14px;
  }

  .pumda-service-v4 .stage p {
    font-size: 12px;
  }

  .pumda-service-v4 .bubble {
    width: 56px;
    height: 56px;
    font-size: 19px;
  }

  .pumda-service-v4 .quotes .quote {
    margin: 0;
  }

  .pumda-service-v4 .btns {
    gap: 8px;
  }

  .pumda-service-v4 .btn {
    padding: 12px 15px;
  }

  .pumda-service-v4 .officebox {
    padding: 25px 20px;
  }

  .pumda-service-v4 .officebox h2 {
    font-size: 21px;
  }

  .pumda-service-v4 .officebox p {
    font-size: 13px;
  }

  .pumda-service-v4 .office-section {
    padding: 20px 0 55px;
  }

}

/* ==========================================
   13. ACCESSIBILITY
   ========================================== */

@media (prefers-reduced-motion: reduce) {

  .pumda-service-v4 *,
  .pumda-service-v4 *::before,
  .pumda-service-v4 *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

}
