/* KLS Editorial Template -- canonical base, per Project Owner's final decision (2026-08-09).
   Source: Downloads\KLS_dentist_WATERMARK_SAFE (7).html, CSS extracted verbatim (structure/values
   unchanged) from its <style> block. Do not edit design values here without a new explicit decision. */
* { box-sizing: border-box; }
body { margin:0; }

:root {
  --ink: #2B2B26; --ink-soft: #5C594F; --paper: #FFFFFF; --cream: #FBF9F4;
  --sage: #7C9473; --sage-tint: #F0F4EC; --peach: #C97B5A; --peach-tint: #FBEEE6;
  --rule: #ECE7DB; --display: 'Fraunces', Georgia, serif; --body: 'Jost', -apple-system, sans-serif;
}
.kls-story { font-family: var(--body); color: var(--ink); background: var(--paper); }
.col { max-width: 760px; margin: 0 auto; padding: 0 24px; }

.kls-guide-nav__heading{
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:#5b5647; margin-bottom:10px; font-family:'Jost',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.kls-guide-nav__heading:nth-of-type(2){ color:#c8963e; }
.kls-guide-nav__list{
  list-style:none; margin:0 0 22px; padding:0;
  font-family:'Fraunces',Georgia,serif; font-size:16px;
  color:#5b5647; line-height:1.9;
}
.kls-guide-nav__list li{ display:inline; }
.kls-guide-nav__list li:not(:last-child)::after{
  content:'\00b7'; color:#e6ddcc; margin:0 10px;
}
.kls-guide-nav__item{
  color:#5b5647; text-decoration:none;
}
.kls-guide-nav__item.is-active{
  color:#e0715a; font-weight:600; font-style:italic;
  border-bottom:1.5px solid #e0715a; padding-bottom:2px;
}
.kls-guide-nav__location{
  padding-top:16px; margin-top:4px;
  border-top:1px dashed #e6ddcc;
  font-family:'Fraunces',Georgia,serif; font-style:italic;
  font-size:14px; color:#5b5647;
}
.kls-guide-nav__location strong{
  color:#2b2a26; font-weight:600; font-style:normal;
}

.kls-hero-img { width: 100%; height: auto; display: block; }
.kls-title-block { padding-top: 12px; padding-bottom: 8px; }
.kls-kicker { font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--peach); font-weight: 600; margin: 0 0 14px; }
.kls-title { font-family: var(--display); font-weight: 600; font-size: clamp(2rem, 6vw, 2.9rem); line-height: 1.12; margin: 0 0 16px; }
.kls-subtitle { font-family: var(--display); font-style: italic; font-weight: 400; font-size: clamp(1.05rem, 3vw, 1.25rem); color: var(--ink-soft); margin: 0 0 26px; line-height: 1.5; }
.kls-byline { padding-bottom: 28px; border-bottom: 1px solid var(--rule); }
.kls-byline-brand { font-family: var(--body); font-size: 12px; letter-spacing: .09em; text-transform: uppercase; color: var(--ink); font-weight: 600; margin: 0 0 5px; }
.kls-byline-meta { font-family: var(--body); font-size: 13.5px; color: var(--ink-soft); margin: 0; }
.kls-hook { font-family: var(--display); font-size: 19.5px; line-height: 1.8; margin: 32px 0 0; }
.kls-quick { background: var(--peach-tint); border-radius: 4px; padding: 22px 26px; margin: 36px 0; }
.kls-quick-label { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--peach); margin: 0 0 10px; }
.kls-quick-label .dot { width: 16px; height: 16px; border-radius: 50%; background: var(--peach); display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 10px; line-height: 1; }
.kls-quick p { margin: 0; font-size: 18px; line-height: 1.75; }
.kls-figure { margin: 42px 0 30px; }
.kls-figure img { width: 100%; height: auto; display: block; border-radius: 3px; }
.kls-figure figcaption { font-size: 18.5px; font-style: italic; font-weight: 400; color: var(--ink-soft); line-height: 1.6; margin-top: 14px; text-align: center; }
.kls-detail-caption { font-size: 18.5px; font-style: italic; font-weight: 400; color: var(--ink-soft); line-height: 1.6; margin: 14px 0 0; text-align: center; }
.kls-para { font-family: var(--display); font-size: 20px; line-height: 1.75; margin: 28px 0; color: var(--ink); }
.kls-note { padding: 26px 28px; border-radius: 4px; margin: 48px 0; }
.kls-note--andrew { background: var(--sage-tint); }
.kls-note--mum { background: var(--peach-tint); }
.kls-note-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.kls-note-head .avatar { width: 32px; height: 32px; border-radius: 50%; background: rgba(0,0,0,.08); flex-shrink:0; }
.kls-note-head span { font-family: var(--display); font-weight: 600; font-size: 1.02rem; }
.kls-note p { margin: 0; line-height: 1.75; font-size: 17.5px; }
.kls-note .sign { display:block; margin-top: 10px; font-size: 13px; color: var(--ink-soft); }
.kls-tips { margin: 30px 0; }
.kls-tips h2 { margin-bottom: 18px; }
.kls-tips ul { list-style: none; padding: 0; margin: 0; }
.kls-tips li { display: flex; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--rule); font-size: 17.5px; line-height: 1.65; }
.kls-tips li:last-child { border-bottom: none; }
.kls-tips li::before { content: "✓"; color: var(--peach); font-weight: 600; flex-shrink: 0; }
.kls-tips li.pending::before { content: "…"; color: var(--ink-soft); }
.kls-h2 { font-family: var(--display); font-weight: 600; font-size: clamp(1.4rem, 4vw, 1.7rem); margin: 56px 0 20px; }
.kls-faq { margin: 48px 0; }
.kls-faq-item { border-bottom: 1px solid var(--rule); padding: 18px 0; }
.kls-faq-item summary { font-family: var(--display); font-weight: 600; font-size: 17.5px; cursor: pointer; list-style: none; position: relative; padding-right: 24px; }
.kls-faq-item summary::-webkit-details-marker { display: none; }
.kls-faq-item summary::after { content: "+"; position: absolute; right: 0; top: 0; color: var(--peach); font-size: 1.2rem; }
.kls-faq-item[open] summary::after { content: "–"; }
.kls-faq-item p { margin: 12px 0 0; line-height: 1.7; color: var(--ink-soft); font-size: 16.5px; }
.kls-closing { text-align: center; padding: 48px 24px 52px; background: var(--cream); margin-top: 56px; }
.kls-closing p { font-family: var(--display); font-style: italic; font-size: 1.25rem; max-width: 960px; margin: 0 auto; line-height: 1.5; }
.preview-banner { background: #2B2B26; color: #fff; text-align: center; padding: 10px; font-family: var(--body); font-size: 13px; letter-spacing: .03em; }

.kls-note-head .icon-mugunghwa { width: 22px; height: 22px; flex-shrink: 0; }
.kls-note-head .icon-kiwi { width: 24px; height: 22px; flex-shrink: 0; object-fit: contain; opacity: .85; }

.kls-figure--wide {
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-right: -10px;
}
.kls-figure--wide img { width: 100%; height: auto; display: block; }
.kls-figure--wide figcaption { padding: 0 10px; }

@media (min-width: 700px) {
  .kls-figure--wide {
    width: 100vw;
    max-width: 1100px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .kls-figure--wide figcaption { max-width: 760px; margin: 10px auto 0; padding: 0 24px; }
}
@media (min-width: 1160px) {
  .kls-figure--wide { width: 1100px; margin-left: calc(50% - 550px); margin-right: calc(50% - 550px); }
}
body { overflow-x: hidden; }

.kls-gallery--journal { display: flex; gap: 10px; margin: 48px 0; }
.kls-gallery--journal img { width: calc(50% - 5px); aspect-ratio: 1/1; object-fit: cover; border-radius: 3px; display: block; flex-shrink: 0; }
@media (max-width: 500px) {
  .kls-gallery--journal img { width: calc(50% - 5px); }
}

.kls-gallery--detail { display: grid; grid-template-columns: 1fr; gap: 14px; margin: 48px 0; }
.kls-gallery--detail img { width: 100%; max-width: 50%; margin-inline: auto; display: block; border-radius: 3px; }
@media (max-width: 520px) {
  .kls-gallery--detail img { max-width: 100%; }
}

.kls-figure--hero, .kls-figure--establishing, .kls-figure--experience {
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-right: -10px;
}
.kls-figure--hero figcaption, .kls-figure--establishing figcaption, .kls-figure--experience figcaption {
  padding: 0 10px;
}
@media (min-width: 700px) {
  .kls-figure--hero { width: 100vw; max-width: 1560px; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
  .kls-figure--establishing { width: 100vw; max-width: 1250px; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
  .kls-figure--experience { width: 100vw; max-width: 975px; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
  .kls-figure--hero figcaption, .kls-figure--establishing figcaption, .kls-figure--experience figcaption {
    max-width: 760px; margin: 10px auto 0; padding: 0 24px;
  }
}
@media (min-width: 1620px) {
  .kls-figure--hero { width: 1560px; margin-left: calc(50% - 780px); margin-right: calc(50% - 780px); }
}
@media (min-width: 1310px) {
  .kls-figure--establishing { width: 1250px; margin-left: calc(50% - 625px); margin-right: calc(50% - 625px); }
}
@media (min-width: 1035px) {
  .kls-figure--experience { width: 975px; margin-left: calc(50% - 487.5px); margin-right: calc(50% - 487.5px); }
}
.kls-figure--detail { max-width: 725px; margin-inline: auto; }

.kls-figure--hero.is-portrait {
  width: auto;
  max-width: 725px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 500px) {
  .kls-gallery--detail { grid-template-columns: 1fr; }
}

.kls-realvisit-caption { margin: 40px 0 44px; padding: 4px 0; }
.kls-realvisit-head { display: flex; align-items: center; gap: 20px; }
.kls-realvisit-seal {
  width: 68px; height: 68px; border-radius: 50%; border: 1.5px solid var(--peach);
  background: var(--cream);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.kls-realvisit-seal .rv-word {
  font-family: var(--body); font-weight: 600; font-size: 11px; letter-spacing: .06em;
  color: var(--peach); text-transform: uppercase; line-height: 1.35;
}
.kls-realvisit-place {
  font-family: var(--display); font-weight: 600; font-size: 29px;
  letter-spacing: .005em; color: var(--ink); line-height: 1.25;
}
.kls-realvisit-confirm {
  font-size: 18.5px; color: var(--ink-soft); line-height: 1.65;
  margin: 12px 0 0 88px; max-width: 720px;
}

.kls-realprice { font-family: var(--body); font-size: .92rem; color: var(--ink-soft);
  border-left: 2px solid var(--peach); padding: 6px 0 6px 14px; margin: 18px 0; line-height: 1.6; }
.kls-realprice strong { color: var(--ink); font-family: var(--display); font-weight: 600; }

.kls-closing .kls-closing-eyebrow {
  font-family: var(--body); font-size: 12px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--sage); margin: 0 0 16px; font-weight: 500; font-style: normal; max-width: none;
}
.kls-closing-rule { width: 40px; height: 1px; background: var(--rule); margin: 20px auto 0; }

@media (max-width: 520px) {
  .col { padding: 0 20px; }
  .kls-para, .kls-quick p { font-size: 18.5px; line-height: 1.7; }
  .kls-note { padding: 22px 22px; }
  .kls-title { font-size: clamp(1.7rem, 8vw, 2.1rem); }
  .kls-realvisit-seal { width: 52px; height: 52px; }
  .kls-realvisit-seal .rv-word { font-size: 9px; }
  .kls-realvisit-head { gap: 14px; }
  .kls-realvisit-place { font-size: 21px; }
  .kls-realvisit-confirm { font-size: 16px; margin-left: 16px; }
  .kls-figure figcaption, .kls-detail-caption { font-size: 16.5px; line-height: 1.55; }
}

:root {
  --evidence-ivory: #F4EFE5;
  --evidence-doc-bg: #1F604B;
  --evidence-app-bg: #3F6F82;
  --evidence-price-bg: #85682F;
}
.kls-evidence { margin: 0 0 40px; border-radius: 14px; overflow: hidden; border: 1px solid var(--rule); background: var(--paper); }
.kls-evidence-banner { display:flex; align-items:stretch; border: 1px solid var(--evidence-ivory); }
.kls-evidence-icon-panel { flex: 0 0 84px; display:flex; align-items:center; justify-content:center; border-right: 1px solid rgba(244,239,229,.38); }
.kls-evidence-icon-panel svg { width: 46px; height: 46px; display:block; }
.kls-evidence-labels { flex:1; display:flex; flex-direction:column; justify-content:center; padding: 14px 20px; }
.kls-evidence-primary { margin:0; font-family: var(--body); font-weight:700; font-size: 18px; letter-spacing: .05em; text-transform: uppercase; color: var(--evidence-ivory); }
.kls-evidence-secondary { margin: 4px 0 0; font-family: var(--body); font-weight:500; font-size: 12.5px; letter-spacing: .09em; text-transform: uppercase; color: var(--evidence-ivory); opacity: .88; }
.kls-evidence--document .kls-evidence-banner { background: var(--evidence-doc-bg); }
.kls-evidence--app .kls-evidence-banner { background: var(--evidence-app-bg); }
.kls-evidence--price .kls-evidence-banner { background: var(--evidence-price-bg); }
.kls-evidence-image { display:block; width:100%; height:auto; }
.kls-evidence figcaption { font-size: 13.5px; color: var(--ink-soft); text-align:center; padding: 10px 16px 16px; font-style: italic; }

@media (max-width: 520px) {
  .kls-evidence-icon-panel { flex-basis: 68px; }
  .kls-evidence-icon-panel svg { width: 36px; height: 36px; }
  .kls-evidence-primary { font-size: 15.5px; }
  .kls-evidence-secondary { font-size: 11px; }
}

.kls-h2 { margin-top: 4.2em; }
.kls-h2::before {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  background: var(--sage);
  border-radius: 2px;
  margin-bottom: 18px;
}

.kls-timeline {
  list-style: none;
  margin: 40px 0;
  padding: 0;
}
.kls-timeline-step {
  display: flex;
  gap: 18px;
  padding-bottom: 30px;
  position: relative;
}
.kls-timeline-step:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 30px;
  bottom: -2px;
  width: 2px;
  background: var(--rule);
}
.kls-timeline-marker {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--sage-tint);
  border: 2px solid var(--sage);
  color: var(--sage);
  font-weight: 600;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kls-timeline-body h3 {
  font-family: var(--display);
  font-weight: 600;
  font-size: 1.05rem;
  margin: 2px 0 6px;
}
.kls-timeline-body p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.7;
  font-size: 16.5px;
}

.kls-checklist-grid {
  list-style: none;
  margin: 30px 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 28px;
}
.kls-checklist-grid li {
  display: flex;
  gap: 10px;
  padding: 13px 0;
  border-bottom: 1px solid var(--rule);
  font-size: 16.5px;
  line-height: 1.55;
}
.kls-checklist-grid li::before {
  content: "✓";
  color: var(--peach);
  font-weight: 600;
  flex-shrink: 0;
}

.kls-next-questions {
  margin: 48px 0;
  padding: 28px 26px;
  background: var(--sage-tint);
  border-radius: 4px;
}
.kls-next-questions__heading {
  font-family: var(--display);
  font-weight: 600;
  font-size: 1.05rem;
  margin: 0 0 16px;
  color: var(--ink);
}
.kls-next-questions__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.kls-next-questions__item {
  border-bottom: 1px solid rgba(43, 43, 38, 0.12);
}
.kls-next-questions__item:last-child {
  border-bottom: none;
}
.kls-next-questions__link {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  text-decoration: none;
  color: var(--ink);
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.5;
}
.kls-next-questions__link:hover,
.kls-next-questions__link:focus-visible {
  color: var(--sage);
}
.kls-next-questions__arrow {
  flex-shrink: 0;
  opacity: 0.55;
  font-size: 15px;
  margin-top: 4px;
}

.kls-related-guides {
  margin: 56px 0;
}
.kls-related-guides__heading {
  font-family: var(--display);
  font-weight: 600;
  font-size: clamp(1.4rem, 4vw, 1.7rem);
  margin: 0 0 20px;
}
.kls-related-guides__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  list-style: none;
  padding: 0;
}
.kls-related-guides__card {
  display: block;
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--rule);
  border-radius: 6px;
  overflow: hidden;
}
.kls-related-guides__card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
}
.kls-related-guides__card-label {
  padding: 14px 16px;
  font-family: var(--body);
  font-weight: 500;
  font-size: 15px;
  line-height: 1.4;
  color: var(--ink);
}

@media (max-width: 520px) {
  .kls-checklist-grid { grid-template-columns: 1fr; }
  .kls-related-guides__grid { grid-template-columns: 1fr; }
  .kls-next-questions { padding: 22px 18px; margin: 40px 0; }
  .kls-next-questions__link { font-size: 16.5px; }
}

.kls-story img {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  pointer-events: none;
  -webkit-user-drag: none;
}

.kls-story a, .kls-story button, .kls-story details summary {
  pointer-events: auto;
  user-select: auto;
  -webkit-user-select: auto;
}

.kls-footer {
  background: var(--cream);
  padding: 40px 24px 48px;
  margin-top: 56px;
  border-top: 1px solid var(--rule);
}

.kls-footer-content {
  max-width: 760px;
  margin: 0 auto;
  font-family: var(--body);
  color: var(--ink);
}

.kls-footer-title {
  font-family: var(--display);
  font-weight: 600;
  font-size: 1.1rem;
  line-height: 1.4;
  margin: 0 0 12px;
  color: var(--ink);
}

.kls-footer-title--korean {
  margin-top: 24px;
  margin-bottom: 12px;
}

.kls-footer-text {
  font-size: 15px;
  line-height: 1.65;
  margin: 0 0 14px;
  color: var(--ink-soft);
}

.kls-footer-text--korean {
  margin-bottom: 0;
}

.kls-footer-divider {
  border: none;
  border-top: 1px solid var(--rule);
  margin: 20px 0;
}

@media (max-width: 520px) {
  .kls-footer {
    padding: 32px 24px 40px;
    margin-top: 40px;
  }
  .kls-footer-title {
    font-size: 1rem;
    margin-bottom: 10px;
  }
  .kls-footer-text {
    font-size: 14px;
    line-height: 1.6;
  }
}