.region-refined { --ref-green: #216851; --ref-line: #dfe7e3; color: #35463f; font-family: "Pretendard","Noto Sans KR","Malgun Gothic",Arial,sans-serif; }
.region-refined h1,.region-refined h2,.region-refined h3 { color: #233b38; word-break: keep-all; overflow-wrap: anywhere; letter-spacing: 0; }
.region-refined p,.region-refined li { word-break: keep-all; overflow-wrap: anywhere; }
.region-refined .breadcrumb { padding: 15px 0; color: #738079; }
.region-refined .ref-eyebrow { color: #216851; font-size: 13px; font-weight: 700; margin: 0 0 16px; }
.region-refined .button { background: #216851; border-color: #216851; border-radius: 4px; min-height: 48px; gap: 12px; padding: 11px 20px; }
.region-refined .button:hover { background: #164b3a; }
.region-refined .button.secondary { color: #254c40; background: #fff; border-color: #9daea6; }
.region-refined .contact-actions .button { min-height: 40px; padding: 8px 14px; }
.region-refined svg { width: 18px; height: 18px; flex: 0 0 18px; stroke-width: 1.6; }
.ref-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.ref-hero { position: relative; background: #e9f0f1; isolation: isolate; }
.ref-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 52%; z-index: -2; }
.ref-hero::before { content: ''; position: absolute; inset: 0; background: rgba(242,247,248,.17); z-index: -1; }
.ref-hero-inner { display: flex; align-items: center; min-height: 490px; }
.ref-hero-copy { width: 46%; padding: 40px 0; }
.ref-hero h1 { font-size: 40px; margin: 0 0 22px; }
.ref-hero-lead { font-size: 24px; font-weight: 700; line-height: 1.55; margin-bottom: 20px; color: #293f3b; }
.ref-hero-description { font-size: 15px; line-height: 1.9; color: #3f504b; }
.ref-section-nav { border-bottom: 1px solid var(--ref-line); background: #fff; }
.ref-section-nav .container { display: flex; justify-content: center; gap: 64px; }
.ref-section-nav a { font-size: 14px; font-weight: 700; padding: 19px 0; }
.ref-section-nav a:hover { color: var(--ref-green); }
.ref-section { padding: 76px 0; scroll-margin-top: 135px; }
.ref-heading { margin-bottom: 36px; }
.ref-heading h2 { font-size: 29px; line-height: 1.5; margin: 0; }
.ref-heading > p:not(.ref-eyebrow) { font-size: 16px; max-width: 720px; margin-top: 18px; color: #68756e; }
.ref-stages { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.ref-stages article { min-width: 0; padding-top: 20px; border-top: 3px solid #408574; }
.ref-stages article:nth-child(2) { border-color: #5b7db3; }
.ref-stages article:nth-child(3) { border-color: #b69c55; }
.ref-stage-label { display: flex; justify-content: space-between; font-size: 13px; font-weight: 700; color: #216851; margin-bottom: 20px; }
.ref-stage-label span:last-child { color: #919e96; }
.ref-stages h3 { font-size: 21px; margin: 0 0 15px; }
.ref-stages p { font-size: 15px; color: #617169; min-height: 81px; margin: 0; }
.ref-checks { list-style: none; padding: 0; margin: 24px 0; }
.ref-checks li { display: flex; align-items: flex-start; gap: 9px; font-size: 14px; margin: 12px 0; }
.ref-checks svg { color: #33745a; margin-top: 4px; }
.ref-text-link { display: inline-flex; gap: 10px; align-items: center; font-size: 14px; font-weight: 700; color: #216851; padding: 10px 0; border-bottom: 1px solid #b7cbbf; }
.ref-subjects { display: flex; flex-wrap: wrap; gap: 16px; padding-top: 10px; }
.ref-subjects a { border-bottom: 1px solid #afc5ba; font-size: 14px; padding: 5px 0; }
.ref-main-subjects { display: flex; flex-wrap: wrap; gap: 18px 32px; margin: -10px 0 32px; }
.ref-main-subjects a { display: inline-flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #a4bfb0; color: #216851; font-weight: 700; font-size: 15px; }
.ref-soft { background: #f0f5f2; }
.ref-process { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; list-style: none; padding: 0; margin: 0; }
.ref-process li { border-top: 1px solid #cddad3; padding-top: 20px; }
.ref-process span { font-size: 13px; color: #648675; }
.ref-process h3 { font-size: 20px; margin: 18px 0 12px; }
.ref-process p { color: #67786f; font-size: 15px; margin: 0; }
.ref-consult { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.ref-consult h2 { font-size: 29px; line-height: 1.5; }
.ref-consult p { color: #617169; font-size: 15px; }
.ref-consult .ref-eyebrow { color: #216851; font-size: 13px; }
.ref-note,.ref-consult .ref-note { font-size: 12px; color: #78837e; line-height: 1.8; }
.ref-local-details { border-top: 1px solid #718e7f; align-self: start; }
.region-refined details { border-bottom: 1px solid var(--ref-line); }
.region-refined summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; padding: 22px 0; font-size: 15px; font-weight: 700; color: #304a3e; }
.region-refined summary::-webkit-details-marker { display: none; }
.region-refined details[open] summary svg { transform: rotate(45deg); }
.ref-local-details ul { padding-left: 20px; font-size: 14px; }
.ref-local-details .region-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 0 0 20px; }
.ref-local-details a { font-size: 14px; text-decoration: underline; text-underline-offset: 4px; color: #376952; }
.ref-poster-section { border-top: 1px solid var(--ref-line); }
.ref-poster-section .ref-heading { text-align: center; }
.ref-poster-section .inline-promo { width: 100%; max-width: 800px; margin: 0 auto; }
.ref-poster-section img { display: block; width: 100%; height: auto; margin: 0; border-radius: 0; }
.ref-faq-layout { display: grid; grid-template-columns: 1fr 1.6fr; gap: 60px; }
.region-refined .faq { border-top: 1px solid #718e7f; }
.region-refined .faq details { padding: 0; }
.region-refined .faq summary::after { content: '+'; font-size: 22px; font-weight: 400; flex: none; }
.region-refined .faq details[open] summary::after { content: '-'; }
.region-refined .faq p { color: #617169; margin: 0 0 22px; font-size: 14px; }
.ref-closing { padding: 64px 0 40px; background: #edf4f1; text-align: center; }
.ref-closing h2 { font-size: 30px; }
.ref-closing .ref-actions { justify-content: center; margin-bottom: 38px; }
.ref-closing .ref-note { margin: 0; }
.ref-lesson { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; }
.ref-lesson h3 { font-size: 20px; margin: 0 0 20px; }
.ref-muted { color: #6a7971; font-size: 14px; }
.ref-example { border: 1px solid #c7d7cc; border-radius: 6px; padding: 28px; }
.ref-example > h3 { line-height: 1.7; }
.ref-example .ref-note { margin: 18px 0 0; }
.ref-example details p { font-size: 14px; }
@media (min-width:1600px) { .ref-hero-photo { object-position: center 55%; } }
@media (max-width:1100px) {
  .ref-hero-inner { min-height: 455px; }
  .ref-hero h1 { font-size: 34px; }
  .ref-hero-lead { font-size: 22px; }
  .ref-hero-copy { width: 48%; }
  .ref-stages,.ref-process { gap: 24px; }
  .ref-consult { gap: 40px; }
}
@media (max-width:720px) {
  .region-refined .contact-actions .button { padding: 7px 9px; min-height: 38px; }
  .region-refined .breadcrumb { padding: 12px 0; font-size: 11px; }
  .ref-hero-inner { min-height: 0; }
  .ref-hero-copy { width: 100%; padding: 30px 0 274px; }
  .ref-hero-photo { top: auto; bottom: 0; height: 245px; object-position: 70% 65%; }
  .ref-hero::before { display: none; }
  .ref-hero h1 { font-size: 30px; margin-bottom: 14px; }
  .ref-hero-lead { font-size: 21px; margin-bottom: 12px; }
  .ref-hero-description { font-size: 14px; margin-bottom: 0; }
  .ref-actions { margin-top: 22px; }
  .region-refined .button { padding: 10px 13px; gap: 8px; font-size: 13px; }
  .ref-hero .ref-eyebrow { margin-bottom: 12px; }
  .ref-section-nav .container { justify-content: space-between; gap: 10px; }
  .ref-section-nav a { font-size: 12px; padding: 16px 0; }
  .ref-section { padding: 48px 0; }
  .ref-heading { margin-bottom: 28px; }
  .ref-heading h2,.ref-consult h2,.ref-closing h2 { font-size: 25px; }
  .ref-stages,.ref-process,.ref-consult,.ref-faq-layout,.ref-lesson { grid-template-columns: 1fr; gap: 32px; }
  .ref-stages p { min-height: 0; }
  .ref-stage-label { margin-bottom: 14px; }
  .ref-checks { margin: 18px 0; }
  .ref-checks li { margin: 9px 0; }
  .ref-process h3 { margin-top: 10px; }
  .ref-poster-section .inline-promo { width: calc(100% + 32px); max-width: none; margin-left: -16px; }
  .ref-faq-layout { gap: 0; }
  .ref-example { padding: 22px 18px; }
  .ref-closing { padding: 48px 0 30px; }
}
@media (max-width:720px) and (max-height:740px) {
  .ref-hero-copy { padding: 22px 0 145px; }
  .ref-hero-photo { height: 125px; object-position: 70% 56%; }
  .ref-hero h1 { font-size: 28px; margin-bottom: 10px; }
  .ref-hero-lead { font-size: 19px; margin-bottom: 10px; }
  .ref-hero-description { font-size: 13px; line-height: 1.65; }
  .ref-hero .ref-actions { margin-top: 15px; }
}
