/* /services/ only. Shared HOME and service-detail styles stay unchanged. */
body.external-services-v3 {
  --svc-paper: #FFFFFF;
  --svc-warm: #F8F7F5;
  --svc-hover: #F1EFED;
  --svc-ink: #292724;
  --svc-copy: #69645f;
  --svc-accent: #83796f;
  background: var(--svc-paper) !important;
  color: var(--svc-ink) !important;
}

body.external-services-v3 main { width: 100%; max-width: none; }
body.external-services-v3 main *,
body.external-services-v3 main *::before,
body.external-services-v3 main *::after { box-sizing: border-box; }

/* Important overrides are limited to rules forced by the shared V3 stylesheet. */
body.external-services-v3 .svc-shell {
  display: block;
  width: min(1200px, calc(100% - 96px)) !important;
  max-width: none;
  margin: 0 auto !important;
  padding: 0;
}
body.external-services-v3 .svc-hero {
  padding: 156px 0 64px !important;
  background: var(--svc-paper) !important;
}
body.external-services-v3 .svc-eyebrow {
  margin: 0 0 22px !important;
  color: var(--svc-accent) !important;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: .14em;
}
body.external-services-v3 .svc-hero h1 {
  max-width: 760px;
  margin: 0 !important;
  color: var(--svc-ink) !important;
  font-family: "Noto Serif KR", serif;
  font-size: 64px !important;
  font-weight: 500;
  line-height: 1.35 !important;
  letter-spacing: -.065em !important;
  word-break: keep-all;
}
body.external-services-v3 .svc-list-section { padding: 28px 0 112px; }
/* Editorial rows reuse the existing full-row links and content. */
body.external-services-v3 .svc-grid {
  display: grid;
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
  padding: 0 !important;
  border: 0;
}
body.external-services-v3 .svc-grid .svc-card {
  display: grid !important;
  grid-template-columns: 88px 300px minmax(0, 1fr) 24px;
  column-gap: 32px;
  align-items: center;
  min-width: 0;
  min-height: 116px;
  padding: 24px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--svc-hover) !important;
  background: var(--svc-paper) !important;
  color: var(--svc-ink);
  text-decoration: none;
  transition: background-color .2s;
}
body.external-services-v3 .svc-card-num {
  display: flex;
  align-items: center;
  align-self: stretch;
  min-height: 52px;
  padding-right: 24px;
  border-right: 1px solid var(--svc-hover);
  color: #8c8176;
  font-family: "Noto Serif KR", serif;
  font-size: 42px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.03em;
}
body.external-services-v3 .svc-grid .svc-card h2 {
  margin: 0 !important;
  color: var(--svc-ink) !important;
  font-family: "Noto Serif KR", serif;
  font-size: 26px !important;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -.06em;
  word-break: keep-all;
}
body.external-services-v3 .svc-card p {
  margin: 0;
  color: var(--svc-copy);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -.03em;
  word-break: keep-all;
}
body.external-services-v3 .svc-card-arrow {
  justify-self: end;
  color: var(--svc-accent);
  font-size: 20px;
  line-height: 1;
  transition: transform .2s;
}
body.external-services-v3 .svc-grid .svc-card:hover { background: var(--svc-hover) !important; }
body.external-services-v3 .svc-card:hover .svc-card-arrow { transform: translateX(3px); }

body.external-services-v3 .svc-grid .svc-card--static {
  grid-template-columns: 88px 300px minmax(0, 1fr);
  cursor: default;
}
body.external-services-v3 .svc-grid .svc-card--static:hover { background: var(--svc-paper) !important; }
body.external-services-v3 :focus-visible { outline: 2px solid var(--svc-copy); outline-offset: 4px; }

body.external-services-v3 .svc-method { padding: 88px 0; background: #FFFFFF; }
body.external-services-v3 .svc-method h2,
body.external-services-v3 .svc-contact h2 {
  margin: 0;
  color: var(--svc-ink);
  font-family: "Noto Serif KR", serif;
  font-size: 46px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.07em;
  word-break: keep-all;
}
body.external-services-v3 .svc-method-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
  margin-top: 52px;
}
body.external-services-v3 .svc-method-item { min-width: 0; }
body.external-services-v3 .svc-method-num {
  display: block;
  color: var(--svc-accent);
  font-family: "Noto Serif KR", serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.03em;
}
body.external-services-v3 .svc-method-item h3 {
  margin: 20px 0 12px;
  color: var(--svc-ink);
  font-family: "Noto Serif KR", serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -.055em;
  word-break: keep-all;
}
body.external-services-v3 .svc-method-item p {
  margin: 0;
  color: var(--svc-copy);
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: -.035em;
  word-break: keep-all;
}
body.external-services-v3 .svc-contact { padding: 100px 0 108px; background: var(--svc-paper); }
body.external-services-v3 .svc-contact .svc-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}
body.external-services-v3 .svc-contact p {
  margin: 20px 0 0;
  color: var(--svc-copy);
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: -.035em;
}
body.external-services-v3 .svc-contact a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-shrink: 0;
  min-height: 56px;
  padding: 18px 26px;
  background: #302e2b;
  color: #FFFFFF;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.035em;
  text-decoration: none;
}

@media (max-width: 900px) and (min-width: 641px) {
  body.external-services-v3 .svc-hero { padding: 132px 0 56px !important; }
  body.external-services-v3 .svc-grid .svc-card {
    grid-template-columns: 64px 208px minmax(0, 1fr) 20px;
    column-gap: 20px;
  }
  body.external-services-v3 .svc-grid .svc-card--static { grid-template-columns: 64px 208px minmax(0, 1fr); }
  body.external-services-v3 .svc-card-num { padding-right: 16px; font-size: 38px; }
  body.external-services-v3 .svc-grid .svc-card h2 { font-size: 24px !important; }
  body.external-services-v3 .svc-card p { font-size: 15px; }
  body.external-services-v3 .svc-method-list { gap: 24px; }
  body.external-services-v3 .svc-method-item h3 { min-height: 3em; font-size: 20px; }
}
@media (max-width: 640px) {
  body.external-services-v3 .svc-shell { width: calc(100% - 40px) !important; }
  body.external-services-v3 .svc-hero { padding: 112px 0 40px !important; }
  body.external-services-v3 .svc-eyebrow { margin-bottom: 18px !important; font-size: 12px !important; }
  body.external-services-v3 .svc-hero h1 { font-size: 32px !important; line-height: 1.5 !important; }
  body.external-services-v3 .svc-list-section { padding: 12px 0 64px; }
  body.external-services-v3 .svc-grid .svc-card {
    grid-template-columns: 48px minmax(0, 1fr) 16px;
    grid-template-rows: auto auto;
    gap: 8px 16px;
    min-height: 0;
    padding: 24px 0 !important;
  }
  body.external-services-v3 .svc-grid .svc-card--static { grid-template-columns: 48px minmax(0, 1fr); }
  body.external-services-v3 .svc-card-num {
    grid-column: 1;
    grid-row: 1 / span 2;
    min-height: 0;
    padding-right: 12px;
    font-size: 28px;
  }
  body.external-services-v3 .svc-grid .svc-card h2 { grid-column: 2; grid-row: 1; font-size: 20px !important; }
  body.external-services-v3 .svc-card p { grid-column: 2; grid-row: 2; font-size: 14px; }
  body.external-services-v3 .svc-card-arrow { grid-column: 3; grid-row: 1 / span 2; font-size: 16px; }
  body.external-services-v3 .svc-method { padding: 60px 0 64px; }
  body.external-services-v3 .svc-method h2,
  body.external-services-v3 .svc-contact h2 { font-size: 32px; line-height: 1.45; }
  body.external-services-v3 .svc-method-list { grid-template-columns: 1fr; gap: 32px; margin-top: 36px; }
  body.external-services-v3 .svc-method-num { font-size: 26px; }
  body.external-services-v3 .svc-method-item h3 { margin: 14px 0 10px; font-size: 19px; }
  body.external-services-v3 .svc-method-item p { font-size: 15px; }
  body.external-services-v3 .svc-contact { padding: 64px 0 72px; }
  body.external-services-v3 .svc-contact .svc-shell { display: block; }
  body.external-services-v3 .svc-contact p { margin-top: 16px; font-size: 15px; }
  body.external-services-v3 .svc-contact a { display: flex; width: 100%; min-height: 54px; margin-top: 28px; padding: 16px 22px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  body.external-services-v3 .svc-grid .svc-card,
  body.external-services-v3 .svc-card-arrow { transition: none; }
}

/* EXT-014 / 02-21: approved services readability and editorial-list refinement.
   Keep the seven static services, hero and shared consultation component intact. */
body.external-services-v3 {
  --svc-ink:#302E2B;
  --svc-copy:#655E56;
  --svc-accent:#655E56;
}
body.external-services-v3 .svc-card-num { border-right:0; }
body.external-services-v3 .svc-card-num,
body.external-services-v3 .svc-method-num { color:#8A7058; }
body.external-services-v3 .svc-grid .svc-card h2 {
  font-family:Pretendard,"Noto Sans KR",sans-serif;
  font-weight:600 !important;
  letter-spacing:-.03em;
}
body.external-services-v3 .svc-card p,
body.external-services-v3 .svc-method-item p {
  color:#302E2B; font-size:18px; line-height:1.8; letter-spacing:-.02em;
  word-break:keep-all; overflow-wrap:break-word;
}
body.external-services-v3 .svc-method h2 { font-size:42px; letter-spacing:-.03em; }
body.external-services-v3 .svc-method-list { margin-top:32px; }
body.external-services-v3 .svc-method-item h3 {
  font-family:Pretendard,"Noto Sans KR",sans-serif;
  font-weight:600;
  font-size:24px; line-height:1.5; min-height:1.5em; letter-spacing:-.03em;
}
@media(max-width:640px) {
  body.external-services-v3 .svc-grid .svc-card { row-gap:12px; }
  body.external-services-v3 .svc-grid .svc-card h2 { font-size:22px!important; }
  body.external-services-v3 .svc-card p,
  body.external-services-v3 .svc-method-item p { font-size:17px; }
  body.external-services-v3 .svc-method h2 { font-size:32px; }
  body.external-services-v3 .svc-method-list { margin-top:24px; }
  body.external-services-v3 .svc-method-item h3 { font-size:22px; min-height:0; }
}
@media(max-width:640px) {
  body.external-home.external-services-v3 .external-consultation .external-consultation-actions { gap:12px; }
  body.external-home.external-services-v3 .external-consultation .external-consultation-actions a { font-size:17px; }
}
@media(max-width:640px) {
  body.external-services-v3 .svc-card-num { align-self:start; align-items:flex-start; line-height:33px; }
}

/* Mobile services: numbered white cards and unboxed method icons only. */
body.external-services-v3 .svc-mobile-label,
body.external-services-v3 .svc-method-icon { display:none; }
@media(max-width:640px) {
  body.external-services-v3 .svc-list-section { padding:28px 0 48px; background:#F8F7F5; }
  body.external-services-v3 .svc-mobile-label {
    display:block; margin:0 0 16px; color:#655E56;
    font:600 13px/1.6 Pretendard,"Noto Sans KR",sans-serif; letter-spacing:.12em;
  }
  body.external-services-v3 .svc-grid { gap:12px; }
  body.external-services-v3 .svc-grid .svc-card {
    grid-template-columns:36px minmax(0,1fr); grid-template-rows:auto auto;
    gap:10px 12px; align-items:start; min-height:0; height:auto;
    padding:20px 16px !important; border:1px solid #F1EFED !important;
    border-radius:10px !important; background:#FFFFFF !important; box-shadow:none;
  }
  body.external-services-v3 .svc-card-num {
    grid-column:1; grid-row:1 / span 2; align-self:start; align-items:flex-start;
    min-height:0; padding:0; border:0; font-size:32px; line-height:1.1;
  }
  body.external-services-v3 .svc-grid .svc-card h2 { grid-column:2; grid-row:1; font-size:22px !important; line-height:1.45; }
  body.external-services-v3 .svc-card p { grid-column:2; grid-row:2; font-size:17px; line-height:1.8; }
  body.external-services-v3 .svc-method { padding:40px 0 56px; background:#FFFFFF; }
  body.external-services-v3 .svc-method-list { grid-template-columns:1fr; gap:32px; margin-top:28px; }
  body.external-services-v3 .svc-method-item { display:grid; grid-template-columns:48px minmax(0,1fr); gap:10px 16px; align-items:start; background:transparent; border:0; box-shadow:none; }
  body.external-services-v3 .svc-method-num { display:none; }
  body.external-services-v3 .svc-method-icon {
    display:block; grid-column:1; grid-row:1 / span 2; box-sizing:border-box;
    width:48px; height:48px; padding:10px; border-radius:50%;
    color:#8A7058; background:#F1EFED;
  }
  body.external-services-v3 .svc-method-item h3 { grid-column:2; grid-row:1; margin:0; min-height:0; font-size:22px; line-height:1.5; }
  body.external-services-v3 .svc-method-item p { grid-column:2; grid-row:2; margin:0; font-size:17px; line-height:1.8; }
}

/* Desktop/tablet follow-up; retain the approved <=640px mobile design. */
@media(min-width:641px) {
  body.external-services-v3 :is(.svc-list-section,.svc-method) .svc-shell { width:min(1080px,calc(100% - 64px)) !important; }
  body.external-services-v3 .svc-list-section { padding:48px 0 64px; background:#F8F7F5; }
  body.external-services-v3 .svc-mobile-label {
    display:block; margin:0 0 20px; color:#655E56;
    font:600 13px/1.6 Pretendard,"Noto Sans KR",sans-serif; letter-spacing:.12em;
  }
  body.external-services-v3 .svc-grid { gap:12px; }
  body.external-services-v3 .svc-grid .svc-card {
    grid-template-columns:64px 200px minmax(0,1fr); column-gap:24px;
    align-items:center; min-height:96px; height:auto; padding:20px 24px !important;
    border:1px solid #F1EFED !important; border-radius:10px !important;
    background:#FFFFFF !important; box-shadow:none;
  }
  body.external-services-v3 .svc-card-num { align-self:center; align-items:center; min-height:0; padding:0; border:0; font-size:40px; line-height:1.2; }
  body.external-services-v3 .svc-grid .svc-card h2 { font-size:26px !important; line-height:1.45; }
  body.external-services-v3 .svc-card p { font-size:18px; line-height:1.8; }
  body.external-services-v3 .svc-method { padding:64px 0 72px; background:#FFFFFF; }
  body.external-services-v3 .svc-method-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:32px; }
  body.external-services-v3 .svc-method-item { display:grid; grid-template-columns:48px minmax(0,1fr); gap:8px 16px; align-items:start; background:transparent; border:0; box-shadow:none; }
  body.external-services-v3 .svc-method-num { display:none; }
  body.external-services-v3 .svc-method-icon { display:block; grid-column:1; grid-row:1 / span 2; box-sizing:border-box; width:48px; height:48px; padding:10px; border-radius:50%; color:#8A7058; background:#F1EFED; }
  body.external-services-v3 .svc-method-item h3 { grid-column:2; grid-row:1; margin:0; min-height:3em; font-size:24px; line-height:1.5; }
  body.external-services-v3 .svc-method-item p { grid-column:2; grid-row:2; margin:0; font-size:18px; line-height:1.8; }
}
@media(min-width:641px) and (max-width:1023px) {
  body.external-services-v3 .svc-grid .svc-card { grid-template-columns:48px 176px minmax(0,1fr); column-gap:16px; padding:20px 16px !important; }
  body.external-services-v3 .svc-grid .svc-card h2 { font-size:24px !important; }
  body.external-services-v3 .svc-card-num { font-size:36px; }
  body.external-services-v3 .svc-method-list { grid-template-columns:1fr; gap:28px; }
  body.external-services-v3 .svc-method-item h3 { min-height:0; font-size:22px; }
}

/* Give desktop method headings room without shrinking their type. */
@media(min-width:1200px) {
  body.external-services-v3 .svc-method-list { column-gap:24px; }
  body.external-services-v3 .svc-method-item { grid-template-rows:max-content 1fr; }
  body.external-services-v3 .svc-method-item h3 { min-height:1.5em; }
}

/* Services list title: matches the “새길이 일하는 방식” section heading. */
body.external-services-v3 .svc-list-title {
  margin: 0;
  color: var(--svc-ink);
  font-family: "Noto Serif KR", serif;
  font-size: 42px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.03em;
  word-break: keep-all;
}
body.external-services-v3 .svc-list-title + .svc-grid { margin-top: 32px; }

@media(max-width:640px) {
  body.external-services-v3 .svc-list-title {
    font-size: 32px;
    line-height: 1.45;
  }
  body.external-services-v3 .svc-list-title + .svc-grid { margin-top: 24px; }
}
