/* atinc — bright private lounge: ivory ground, brown used sparingly, large quiet type */
:root {
  color-scheme: light;
  --ivory: #FBF8F3;
  --paper: #FFFDF9;
  --sand: #F3ECE3;
  --sand-deep: #EFE5D8;
  --latte: #CDB49A;
  --brown: #7A5741;
  --cocoa: #5A3F31;
  --espresso: #2E2119;
  --ink: #2E2119;
  --body: #5E4D42;
  --sub: #6B5A4E;
  --notice: #4E3F35;
  --line: #E2D5C4;
  --line-strong: #CDB49A;
  --on-dark: #FBF8F3;
  --on-dark-sub: #D9C7B2;
  --f-en: 'DM Sans', 'Noto Sans KR', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  --f-ko: 'Noto Sans KR', 'DM Sans', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  --f-logo: 'Cormorant Garamond', 'Times New Roman', serif;
  --wrap: 1360px;
  --gutter: clamp(20px, 4vw, 56px);
  --sec-y: clamp(80px, 9vw, 136px);
  --hdr-h: 76px;
  --r-card: 22px;
  --r-arch: 999px 999px 14px 14px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--ivory); color: var(--ink); font-family: var(--f-en); font-size: 16px; line-height: 1.7; word-break: keep-all; overflow-wrap: break-word; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--brown); outline-offset: 3px; border-radius: 4px; }
[id] { scroll-margin-top: calc(var(--hdr-h) + 64px); }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.page { min-height: 100vh; display: flex; flex-direction: column; overflow-x: clip; }
main { flex: 1; }
.wrap { width: 100%; max-width: calc(var(--wrap) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.sec { padding-block: var(--sec-y); }
.sec--sand { background: var(--sand); }
.sec--deep { background: var(--sand-deep); }
.sec--tight { padding-block: clamp(56px, 6vw, 88px); }

/* ---------- type ---------- */
.eyebrow { font-family: var(--f-sans); font-style: normal; font-size: clamp(17px, 1.4vw, 20px); font-weight: 500; letter-spacing: 0; color: var(--brown); }
.eyebrow--light { color: #C7A57E; }
.eyebrow--ko { font-family: var(--f-ko); font-style: normal; letter-spacing: .04em; font-size: 13.5px; }
.display { font-family: var(--f-sans); font-weight: 500; font-size: clamp(48px, 7.4vw, 112px); line-height: .95; letter-spacing: -.02em; }
.h1 { font-family: var(--f-sans); font-weight: 400; font-size: clamp(32px, 3.9vw, 56px); line-height: 1.22; letter-spacing: -.045em; text-wrap: balance; }
.h2 { font-family: var(--f-sans); font-weight: 400; font-size: clamp(28px, 3.2vw, 46px); line-height: 1.25; letter-spacing: -.045em; text-wrap: balance; }
.h3 { font-family: var(--f-ko); font-weight: 500; font-size: clamp(19px, 1.6vw, 22px); line-height: 1.4; letter-spacing: -.03em; }
.en-title { font-family: var(--f-en); font-weight: 400; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.15; letter-spacing: -.04em; }
.lead { font-size: clamp(16px, 1.2vw, 17.5px); line-height: 1.85; color: var(--body); max-width: 62ch; }
.body { font-size: 15.5px; line-height: 1.8; color: var(--body); }
.small { font-size: 13.5px; line-height: 1.7; color: var(--sub); }
.notice { font-size: 15px; line-height: 1.8; color: var(--notice); }

/* ---------- buttons & links ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 8px; font-family: var(--f-ko); font-size: 15.5px; font-weight: 500; letter-spacing: -.01em; text-decoration: none; transition: background .2s, color .2s, border-color .2s, transform .2s; white-space: nowrap; }
.btn svg { width: 16px; height: 16px; flex: none; }
.btn--dark { background: var(--espresso); color: var(--on-dark); }
.btn--dark:hover { background: var(--cocoa); }
.btn--light { background: var(--paper); color: var(--ink); }
.btn--light:hover { background: var(--sand); }
.btn--ghost { border: 1px solid currentColor; color: var(--ink); }
.btn--ghost:hover { background: rgba(46, 33, 25, .06); }
.btn--ghost-light { border: 1px solid rgba(251, 248, 243, .55); color: var(--on-dark); }
.btn--ghost-light:hover { background: rgba(251, 248, 243, .1); }
.btn--wide { justify-content: space-between; width: 100%; min-height: 64px; padding: 0 22px; font-size: 16.5px; }
.link { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 500; color: var(--ink); text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.link svg { width: 14px; height: 14px; transition: transform .2s; }
.link:hover svg { transform: translateX(3px); }
.link--light { color: var(--on-dark); }

/* ---------- header ---------- */
.hdr { position: fixed; z-index: 50; inset: 0 0 auto 0; padding-top: env(safe-area-inset-top, 0px); color: var(--ink); transition: background .25s, color .25s, box-shadow .25s; }
.hdr__in { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: var(--hdr-h); }
.page.hdr-light .hdr:not(.is-solid) { color: var(--on-dark); }
.hdr.is-solid { background: rgba(251, 248, 243, .94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 1px 0 var(--line); color: var(--ink); }
.logo { display: inline-flex; align-items: baseline; font-family: var(--f-logo); font-size: 31px; line-height: 1; text-decoration: none; color: inherit; }
.logo i { font-style: italic; font-weight: 500; letter-spacing: -.02em; }
.logo b { font-weight: 600; letter-spacing: .02em; }
.nav { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 34px); }
.nav__item { position: relative; }
.nav__link { display: inline-flex; align-items: center; gap: 5px; padding: 10px 0; font-size: 14.5px; font-weight: 500; letter-spacing: .01em; text-decoration: none; color: inherit; border-bottom: 1px solid transparent; }
.nav__link svg { width: 12px; height: 12px; }
.nav__link[aria-current="page"], .nav__link.is-current { border-bottom-color: currentColor; }
.drop { position: absolute; top: 100%; left: 50%; min-width: 236px; padding: 10px; transform: translate(-50%, 6px); background: var(--paper); color: var(--ink); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 18px 40px -18px rgba(46, 33, 25, .35); opacity: 0; visibility: hidden; transition: opacity .18s, transform .18s, visibility .18s; }
.nav__item:hover .drop, .nav__item:focus-within .drop { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.drop a { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 8px; font-size: 14.5px; text-decoration: none; }
.drop a span { font-family: var(--f-en); font-size: 12px; color: var(--sub); }
.drop a:hover { background: var(--sand); }
.hdr__cta { display: inline-flex; align-items: center; min-height: 42px; padding: 0 20px; border-radius: 999px; background: var(--paper); color: var(--ink); font-size: 14.5px; font-weight: 500; text-decoration: none; box-shadow: 0 0 0 1px var(--line); white-space: nowrap; }
.hdr.is-solid .hdr__cta, .page:not(.hdr-light) .hdr__cta { background: var(--espresso); color: var(--on-dark); box-shadow: none; }
.hdr__right { display: flex; align-items: center; gap: 10px; }
.menu-btn { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 999px; }
.menu-btn svg { width: 22px; height: 22px; }

.mnav { position: fixed; z-index: 60; inset: 0; display: flex; flex-direction: column; padding: calc(env(safe-area-inset-top, 0px) + 12px) var(--gutter) calc(env(safe-area-inset-bottom, 0px) + 24px); background: var(--ivory); overflow-y: auto; }
.mnav__top { display: flex; align-items: center; justify-content: space-between; height: 52px; }
.mnav__group { padding: 22px 0; border-bottom: 1px solid var(--line); }
.mnav__group h2 { margin-bottom: 12px; }
.mnav__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
.mnav__grid a, .mnav__links a { display: block; padding: 9px 0; font-size: 16px; text-decoration: none; }
.mnav__links { display: grid; gap: 2px; }
.mnav__links a { font-family: var(--f-en); font-size: 20px; letter-spacing: -.02em; }
.mnav .btn { margin-top: 24px; }

/* ---------- hero: photo ---------- */
.hero { position: relative; color: var(--on-dark); background: var(--espresso); overflow: hidden; isolation: isolate; }
.hero__bg { position: absolute; inset: 0; z-index: -2; background-size: cover; background-position: 70% 50%; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(46, 33, 25, .9) 0%, rgba(46, 33, 25, .72) 38%, rgba(46, 33, 25, .18) 72%, rgba(46, 33, 25, .05) 100%); }
.hero__in { position: relative; display: grid; align-content: end; gap: 22px; min-height: clamp(560px, 82vh, 860px); padding-top: calc(var(--hdr-h) + 72px); padding-bottom: clamp(56px, 7vw, 104px); }
.hero__in--short { min-height: clamp(480px, 68vh, 700px); }
.hero .display span { color: var(--latte); opacity: .9; }
.hero__ko { font-family: var(--f-sans); font-weight: 400; font-size: clamp(21px, 2vw, 30px); line-height: 1.4; letter-spacing: -.04em; }
.hero__body { max-width: 560px; font-size: 16px; line-height: 1.85; color: rgba(251, 248, 243, .82); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.crumb { display: flex; flex-wrap: wrap; gap: 8px; font-size: 12.5px; letter-spacing: .12em; color: var(--on-dark-sub); }
.crumb a { text-decoration: none; }
.crumb a:hover { text-decoration: underline; }
.hero__card { position: absolute; right: var(--gutter); bottom: clamp(56px, 7vw, 104px); width: 270px; padding: 22px 24px; border-radius: 16px; background: rgba(255, 253, 249, .96); color: var(--ink); box-shadow: 0 24px 60px -30px rgba(0, 0, 0, .5); }
.hero__card ol { display: grid; gap: 9px; margin-top: 14px; counter-reset: c; }
.hero__card li { display: flex; gap: 12px; font-size: 14.5px; counter-increment: c; }
.hero__card li::before { content: "0" counter(c); font-family: var(--f-en); font-size: 13px; color: var(--brown); padding-top: 2px; }
.rise { animation: rise .8s cubic-bezier(.2, .7, .2, 1) both; }
.rise-2 { animation-delay: .08s; }
.rise-3 { animation-delay: .16s; }
.rise-4 { animation-delay: .24s; }
@keyframes rise { from { transform: translateY(18px); opacity: .01; } to { transform: none; opacity: 1; } }

/* ---------- hero: plain ---------- */
.phero { background: var(--sand); padding-top: calc(var(--hdr-h) + clamp(56px, 7vw, 104px)); padding-bottom: clamp(56px, 7vw, 104px); }
.phero__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 5vw, 80px); align-items: end; }
.phero__text { display: grid; gap: 22px; }
.phero .crumb { color: var(--sub); }
.phero__art { justify-self: end; width: min(100%, 420px); }

/* ---------- section head ---------- */
.shead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 64px; align-items: end; margin-bottom: clamp(40px, 4.6vw, 64px); }
.shead > div { display: grid; gap: 18px; }
.shead--stack { grid-template-columns: minmax(0, 1fr); max-width: 820px; }
.split { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px clamp(32px, 5vw, 80px); }
.split__label { padding-top: 14px; }
.split__main { display: grid; gap: 28px; min-width: 0; }

/* ---------- media ---------- */
.ph { position: relative; overflow: hidden; background: var(--sand-deep); background-size: cover; background-position: center; }
.ph--arch { border-radius: var(--r-arch); }
.ph--round { border-radius: 16px; }
.ph--45 { aspect-ratio: 4 / 5; }
.ph--43 { aspect-ratio: 4 / 3; }
.ph--169 { aspect-ratio: 16 / 9; }
.ph--sq { aspect-ratio: 1 / 1; }
.cap { margin-top: 12px; font-size: 14px; color: var(--notice); }

/* ---------- trust bar ---------- */
.trust { border-bottom: 1px solid var(--line); background: var(--paper); }
.trust__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.trust__item { display: flex; gap: 12px; align-items: flex-start; padding: 26px 18px 26px 0; font-size: 14px; line-height: 1.55; }
.trust__item svg { flex: none; width: 20px; height: 20px; margin-top: 1px; color: var(--brown); }
.trust__item b { display: block; font-weight: 500; color: var(--ink); }
.trust__item span { color: var(--sub); font-size: 13px; }

/* ---------- cards ---------- */
.grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.card { display: flex; flex-direction: column; gap: 14px; padding: clamp(24px, 2.4vw, 34px); border: 1px solid var(--line); border-radius: var(--r-card); background: var(--paper); min-width: 0; }
.card--dark { background: var(--espresso); border-color: var(--espresso); color: var(--on-dark); }
.card--dark .body, .card--dark .small, .card--dark .notice { color: var(--on-dark-sub); }
.card--dark .eyebrow { color: var(--latte); }
.card__foot { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); }
.card--dark .card__foot { border-top-color: rgba(251, 248, 243, .16); }
.mcard { display: flex; flex-direction: column; gap: 0; padding: 8px; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--paper); text-decoration: none; transition: transform .25s, box-shadow .25s; }
.mcard:hover { transform: translateY(-3px); box-shadow: 0 22px 44px -30px rgba(46, 33, 25, .45); }
.mcard .ph { border-radius: 999px 999px 12px 12px; aspect-ratio: 4 / 3; }
.mcard__txt { display: grid; gap: 8px; padding: 22px 16px 18px; }
.mcard__no { font-family: var(--f-en); font-size: 12.5px; color: var(--brown); }
.mcard__ko { font-size: 15px; font-weight: 500; color: var(--ink); }
.mcard .link { margin-top: 8px; text-decoration: none; font-size: 13.5px; color: var(--brown); }

.qcard { display: flex; flex-direction: column; gap: 14px; padding: 30px; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--paper); text-decoration: none; }
.qcard__q { font-family: var(--f-en); font-size: 30px; line-height: 1; color: var(--brown); }
.qcard .link { margin-top: auto; padding-top: 6px; text-decoration: none; color: var(--brown); font-size: 13.5px; }

/* numbered rows */
.rows { border-top: 1px solid var(--line-strong); }
.rows > li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.rows__no { font-family: var(--f-en); font-size: 13px; color: var(--brown); padding-top: 3px; }
.rows dt, .rows b { display: block; margin-bottom: 6px; font-weight: 500; color: var(--ink); }

/* check chips & tiles */
.checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.check { display: flex; gap: 12px; align-items: flex-start; padding: 20px 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); font-size: 15px; line-height: 1.6; color: var(--ink); }
.check svg, .chip svg, .plist svg { flex: none; width: 15px; height: 15px; margin-top: 4px; color: var(--brown); }
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chip { display: inline-flex; gap: 8px; align-items: flex-start; padding: 10px 16px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font-size: 14px; line-height: 1.5; color: var(--ink); }
.chip svg { margin-top: 3px; width: 13px; height: 13px; }
.plist { display: grid; gap: 0; }
.plist li { display: flex; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.plist--light li { border-bottom-color: rgba(251, 248, 243, .16); }
.plist--light svg { color: var(--latte); }

/* table */
.tbl-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.tbl { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.65; }
.tbl th { padding: 16px 22px; background: var(--sand); text-align: left; font-size: 13px; font-weight: 500; letter-spacing: .02em; color: var(--sub); }
.tbl td { padding: 17px 22px; border-top: 1px solid var(--line); vertical-align: top; color: var(--body); }
.tbl td:first-child { width: 22%; font-weight: 500; color: var(--ink); }

/* option rows */
.opts { border-top: 1px solid var(--line-strong); }
.opt { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.5fr) minmax(0, .9fr); gap: 16px 40px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.opt__name { font-family: var(--f-ko); font-size: 19px; font-weight: 500; letter-spacing: -.03em; color: var(--ink); }
.opt__for { font-size: 14px; color: var(--sub); }
.opt__for b { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--brown); }

/* steps */
.steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; counter-reset: s; }
.step { display: grid; align-content: start; gap: 10px; padding-top: 22px; border-top: 1px solid var(--line-strong); }
.step__no { font-family: var(--f-en); font-size: 13px; color: var(--brown); }
.step h3 { font-size: 18px; }

/* stage list (care) */
.stages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.stage { display: grid; align-content: start; gap: 16px; padding: 28px 26px; border-radius: var(--r-card); background: var(--paper); border: 1px solid var(--line); }
.stage ul { display: grid; gap: 8px; }
.stage li { position: relative; padding-left: 16px; font-size: 14.5px; line-height: 1.6; color: var(--body); }
.stage li::before { content: ""; position: absolute; left: 0; top: .72em; width: 6px; height: 1px; background: var(--brown); }

/* faq */
.faq { border-top: 1px solid var(--line-strong); max-width: 980px; }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0; font-size: 17px; font-weight: 500; letter-spacing: -.02em; cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary svg { flex: none; width: 18px; height: 18px; color: var(--brown); transition: transform .2s; }
.faq details[open] summary svg { transform: rotate(180deg); }
.faq details p { padding: 0 48px 24px 0; }

/* sub nav */
.subnav { position: sticky; z-index: 40; top: calc(env(safe-area-inset-top, 0px) + var(--hdr-h)); background: rgba(251, 248, 243, .96); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.subnav__in { display: flex; gap: 30px; overflow-x: auto; scrollbar-width: none; }
.subnav__in::-webkit-scrollbar { display: none; }
.subnav a { flex: none; padding: 16px 0 15px; font-size: 14px; color: var(--sub); text-decoration: none; border-bottom: 2px solid transparent; }
.subnav a.is-on, .subnav a:hover { color: var(--ink); border-bottom-color: var(--ink); }

/* consult band */
.cband { background: var(--cocoa); color: var(--on-dark); }
.cband__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 48px clamp(40px, 6vw, 120px); align-items: start; }
.cband .lead { color: var(--on-dark-sub); }
.cband__side { display: grid; gap: 18px; padding-top: 8px; }
.contacts { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 14.5px; color: var(--on-dark-sub); }
.contacts span { display: inline-flex; align-items: center; gap: 8px; user-select: all; }
.contacts svg { width: 15px; height: 15px; }
.contacts--dark { color: var(--body); }

/* network */
.net__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px clamp(40px, 6vw, 96px); align-items: center; }
.filters { display: flex; flex-wrap: wrap; gap: 8px; }
.filters button { min-height: 38px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font-family: var(--f-ko); font-size: 13.5px; color: var(--ink); transition: background .2s, color .2s; }
.filters button[aria-pressed="true"] { background: var(--espresso); border-color: var(--espresso); color: var(--on-dark); }
.hubs { border-top: 1px solid var(--line-strong); }
.hubs li { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 12px; align-items: baseline; padding: 15px 0; border-bottom: 1px solid var(--line); transition: opacity .25s; }
.hubs__no { font-family: var(--f-en); font-size: 12.5px; color: var(--brown); }
.hubs b { display: block; font-weight: 500; font-size: 16px; }
.hubs small { font-family: var(--f-en); font-size: 12.5px; color: var(--sub); }
.hubs__cats { font-size: 13px; color: var(--body); text-align: right; }
.is-dim { opacity: .28; }
.net-empty { padding: 16px 18px; border-radius: 12px; background: var(--paper); border: 1px dashed var(--line-strong); font-size: 14.5px; color: var(--notice); }
.map svg { width: 100%; height: auto; display: block; }
.map .hub { transition: opacity .3s; }
.map .pulse { transform-box: fill-box; transform-origin: center; animation: pulse 2.6s ease-out infinite; }
.map .arr { stroke-dashoffset: 0; animation: dash 18s linear infinite; }
@keyframes pulse { 0% { transform: scale(.6); opacity: .55; } 80%, 100% { transform: scale(1.8); opacity: 0; } }
@keyframes dash { to { stroke-dashoffset: -180; } }
.hcard { display: grid; gap: 10px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); transition: opacity .25s; }
.hcard__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.tag { display: inline-flex; padding: 4px 10px; border-radius: 6px; background: var(--sand); font-size: 12.5px; color: var(--notice); }

/* care list */
.clist { border-top: 1px solid var(--line-strong); }
.clist a { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 8px 20px; padding: 28px 0; border-bottom: 1px solid var(--line-strong); text-decoration: none; }
.clist a:hover .en-title { color: var(--brown); }
.clist__no { font-family: var(--f-en); font-size: 13px; color: var(--brown); padding-top: 8px; }
.clist__meta { font-size: 13px; color: var(--sub); text-align: right; padding-top: 8px; }
.clist__ko { margin-top: 6px; font-size: 14.5px; font-weight: 500; }
.clist__line { margin-top: 6px; font-size: 14.5px; color: var(--body); }

/* globals */
.gcard h3 { margin-bottom: 2px; }
.gcard .plist li { font-size: 14.5px; }

/* founder */
.founder { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 40px clamp(40px, 6vw, 96px); align-items: start; }
.mono { display: grid; place-items: center; aspect-ratio: 4 / 5; border-radius: 999px 999px 18px 18px; background: linear-gradient(170deg, var(--sand-deep), #E5D4C1); color: var(--brown); }
.mono .logo { font-size: clamp(52px, 5.6vw, 88px); color: var(--brown); }
.kv { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 10px 28px; font-size: 14.5px; }
.kv dt { color: var(--sub); }
.kv dd { color: var(--ink); }

/* doc pages */
.doc { max-width: 820px; display: grid; gap: 34px; }
.doc h2 { font-family: var(--f-ko); font-size: 22px; font-weight: 500; letter-spacing: -.03em; }
.doc p, .doc li { font-size: 15.5px; line-height: 1.9; color: var(--body); }
.doc ol { list-style: decimal; padding-left: 22px; display: grid; gap: 6px; }
.doc ul.dots { list-style: disc; padding-left: 20px; display: grid; gap: 4px; }
.todo { padding: 1px 6px; border-radius: 4px; background: #F2E3C9; color: var(--notice); font-style: normal; }

/* footer */
.ftr { background: var(--espresso); color: var(--on-dark-sub); padding-top: clamp(56px, 6vw, 88px); padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 40px); }
.ftr__top { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, .6fr)); gap: 40px; padding-bottom: 48px; border-bottom: 1px solid rgba(251, 248, 243, .12); }
.ftr .logo { color: var(--on-dark); font-size: 34px; }
.ftr__tag { margin-top: 16px; font-size: 16px; color: var(--on-dark); }
.ftr h2 { margin-bottom: 14px; font-size: 12px; font-weight: 500; letter-spacing: .2em; color: var(--latte); }
.ftr ul { display: grid; gap: 8px; }
.ftr a { text-decoration: none; font-size: 14px; color: var(--on-dark); }
.ftr a:hover { text-decoration: underline; }
.ftr__bot { display: grid; gap: 10px; padding-top: 28px; font-size: 13px; line-height: 1.75; }
.ftr__legal { display: flex; gap: 20px; margin-bottom: 8px; }

/* layout helpers */
.shead--care { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; margin-bottom: 0; }
.opt--2 { grid-template-columns: minmax(0, .9fr) minmax(0, 2.4fr); }
.photos { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: 20px; margin-top: 40px; }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  .nav { display: none; }
  .menu-btn { display: inline-flex; }
  .trust__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .steps, .stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero__card { display: none; }
}
@media (max-width: 900px) {
  :root { --hdr-h: 64px; }
  .shead, .split, .phero__grid, .net__grid, .cband__grid, .founder { grid-template-columns: minmax(0, 1fr); }
  .split__label { padding-top: 0; }
  .grid3, .checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .opt, .opt--2 { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .shead--care { grid-template-columns: minmax(0, 1fr); }
  .photos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ftr__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ftr__top > div:first-child { grid-column: 1 / -1; }
  .phero__art { justify-self: start; width: min(100%, 360px); }
  .founder .mono { max-width: 340px; }
  .net__grid .map { order: 2; }
}
@media (max-width: 640px) {
  .hdr__cta { min-height: 38px; padding: 0 14px; font-size: 13.5px; }
  .logo { font-size: 27px; }
  .grid3, .grid2, .grid4, .checks, .steps, .stages, .trust__grid { grid-template-columns: minmax(0, 1fr); }
  .trust__item { padding: 16px 0; border-bottom: 1px solid var(--line); }
  .trust__item:last-child { border-bottom: 0; }
  .hero__in { min-height: 0; padding-top: calc(var(--hdr-h) + 120px); }
  .hero::after { background: linear-gradient(180deg, rgba(46, 33, 25, .35) 0%, rgba(46, 33, 25, .75) 45%, rgba(46, 33, 25, .92) 100%); }
  .hero__actions .btn { flex: 1 1 100%; }
  .rows > li { grid-template-columns: 40px minmax(0, 1fr); }
  .faq details p { padding-right: 0; }
  .tbl { font-size: 14px; }
  .tbl thead { display: none; }
  .tbl tr { display: block; padding: 16px 18px; border-top: 1px solid var(--line); }
  .tbl tr:first-child { border-top: 0; }
  .tbl td { display: block; width: auto !important; padding: 2px 0; border: 0; }
  .tbl td:first-child { margin-bottom: 4px; }
  .hubs li { grid-template-columns: 30px minmax(0, 1fr); }
  .hubs__cats { grid-column: 2; text-align: left; }
  .clist a { grid-template-columns: 34px minmax(0, 1fr); }
  .clist__meta { grid-column: 2; text-align: left; padding-top: 0; }
  .ftr__legal { flex-wrap: wrap; }
  .kv { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .kv dd { margin-bottom: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* =====================================================================
   HOME v2 — "private appointment book": bright ivory lounge, serif voice,
   one tangible object (a guest's itinerary) as the hero's centrepiece.
   ===================================================================== */
:root {
  --f-serif-ko: 'Noto Serif KR', 'Nanum Myeongjo', 'AppleMyungjo', serif;
  --f-serif-en: 'Cormorant Garamond', 'Noto Serif KR', 'Times New Roman', serif;
  --linen: #F1E9DE;
  --gold: #C7A57E;
  --stone: #8C7B6D;
  --night: #2B1F18;
}
.serif { font-family: var(--f-serif-ko); }
.disp { font-family: var(--f-serif-ko); font-weight: 400; font-size: clamp(29px, 4.6vw, 70px); line-height: 1.22; letter-spacing: -.04em; text-wrap: balance; }
.disp-2 { font-family: var(--f-serif-ko); font-weight: 400; font-size: clamp(28px, 3.1vw, 46px); line-height: 1.3; letter-spacing: -.035em; text-wrap: balance; }
.en-it { font-family: var(--f-serif-en); font-style: normal; font-weight: 500; font-size: clamp(19px, 1.6vw, 24px); letter-spacing: -.01em; color: var(--brown); }
.num-en { font-family: var(--f-serif-en); font-weight: 500; font-variant-numeric: lining-nums tabular-nums; }

/* hero */
.h2o { position: relative; background: var(--ivory); padding-top: calc(var(--hdr-h) + clamp(28px, 4vw, 56px)); padding-bottom: clamp(56px, 6vw, 96px); overflow: hidden; }
.h2o::before { content: ""; position: absolute; inset: 0 0 auto auto; width: 46%; height: 100%; background: var(--linen); z-index: 0; }
.h2o__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(32px, 5vw, 88px); align-items: center; }
.h2o__text { display: grid; gap: 28px; align-content: center; }
.h2o__lead { max-width: 30em; font-size: clamp(16px, 1.15vw, 17.5px); line-height: 1.9; color: var(--body); }
.h2o__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; }
.facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 18px; border-top: 1px solid var(--line-strong); }
.facts > div { padding: 18px 16px 0 0; display: grid; gap: 4px; }
.facts dt { order: 2; font-size: 13.5px; color: var(--sub); }
.facts dd { order: 1; margin: 0; font-family: var(--f-serif-en); font-size: clamp(34px, 3.4vw, 50px); line-height: 1; color: var(--ink); }
.h2o__art { position: relative; justify-self: end; width: min(100%, 520px); padding-bottom: 40px; }
.h2o__arch { aspect-ratio: 5 / 6.2; border-radius: 999px 999px 18px 18px; background-size: cover; background-position: 84% 46%; box-shadow: 0 40px 80px -50px rgba(43, 31, 24, .55); animation: drift 22s ease-in-out infinite alternate; }
@keyframes drift { from { background-position: 84% 46%; } to { background-position: 76% 52%; } }
.itin { position: absolute; left: -64px; bottom: 0; width: min(330px, 78%); padding: 22px 24px 18px; border-radius: 14px; background: var(--paper); box-shadow: 0 30px 70px -34px rgba(43, 31, 24, .55), 0 0 0 1px rgba(205, 180, 154, .5); }
.itin__top { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.itin__top b { font-family: var(--f-serif-ko); font-weight: 500; font-size: 15px; }
.itin__top span { font-size: 12px; color: var(--stone); }
.itin ol { display: grid; gap: 0; margin-top: 4px; }
.itin li { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 10px; padding: 9px 0; border-bottom: 1px dashed var(--line); animation: slot .55s cubic-bezier(.2, .7, .2, 1) both; }
.itin li:last-child { border-bottom: 0; }
.itin li:nth-child(1) { animation-delay: .5s; } .itin li:nth-child(2) { animation-delay: .62s; } .itin li:nth-child(3) { animation-delay: .74s; } .itin li:nth-child(4) { animation-delay: .86s; } .itin li:nth-child(5) { animation-delay: .98s; }
@keyframes slot { from { transform: translateX(10px); opacity: .01; } to { transform: none; opacity: 1; } }
.itin time { font-family: var(--f-serif-en); font-size: 17px; line-height: 1.3; color: var(--brown); font-variant-numeric: lining-nums tabular-nums; }
.itin time small { display: block; font-family: var(--f-en); font-size: 10.5px; letter-spacing: .04em; color: var(--stone); }
.itin p { font-size: 14px; line-height: 1.45; color: var(--ink); }
.itin p span { display: block; font-size: 12px; color: var(--stone); }
.itin__note { margin-top: 10px; font-size: 11.5px; color: var(--stone); }

/* medical index */
.idx__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 64px; align-items: end; margin-bottom: clamp(36px, 4vw, 56px); }
.idx__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 4vw, 72px); align-items: start; }
.idx__list { display: grid; border-top: 1px solid var(--line-strong); }
.idx__tab { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: baseline; gap: 12px; width: 100%; padding: 20px 4px; border-bottom: 1px solid var(--line); text-align: left; color: var(--stone); transition: color .2s, background .2s; }
.idx__tab .num-en { font-size: 16px; }
.idx__tab b { font-family: var(--f-serif-ko); font-weight: 400; font-size: clamp(22px, 2.1vw, 30px); letter-spacing: -.035em; color: inherit; }
.idx__tab em { font-family: var(--f-serif-en); font-style: normal; font-size: 16px; }
.idx__tab:hover { color: var(--ink); }
.idx__tab[aria-selected="true"] { color: var(--ink); }
.idx__tab[aria-selected="true"] .num-en { color: var(--brown); }
.idx__panel { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1fr); gap: 28px; padding: 22px; border-radius: 22px; background: var(--paper); border: 1px solid var(--line); }
.idx__panel .ph { border-radius: 999px 999px 14px 14px; aspect-ratio: 4 / 5.4; }
.idx__body { display: grid; gap: 16px; align-content: start; padding: 10px 8px 6px 0; min-width: 0; }
.idx__site { font-size: 13px; color: var(--brown); }
.idx__body h3 { font-family: var(--f-serif-ko); font-weight: 400; font-size: clamp(24px, 2.2vw, 32px); letter-spacing: -.035em; line-height: 1.3; }
.idx__body .chips { gap: 7px; }
.idx__body .tag { background: var(--linen); }
.idx__where { display: grid; gap: 4px; padding-top: 14px; border-top: 1px solid var(--line); font-size: 13.5px; color: var(--body); }
.idx__where b { font-weight: 500; color: var(--ink); }

/* cell care showcase */
.cell { background: var(--night); color: var(--on-dark); }
.cell__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 20px 64px; align-items: end; }
.cell__head .en-it { color: var(--gold); }
.cell__head p.lead { color: var(--on-dark-sub); }
.specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-block: clamp(44px, 5vw, 72px); border-top: 1px solid rgba(199, 165, 126, .35); border-bottom: 1px solid rgba(199, 165, 126, .35); }
.specs > div { display: grid; gap: 8px; padding: 30px 24px 30px 0; }
.specs > div + div { padding-left: 28px; border-left: 1px solid rgba(199, 165, 126, .2); }
.specs dd { margin: 0; font-family: var(--f-serif-en); font-size: clamp(44px, 5vw, 76px); line-height: .95; color: var(--gold); letter-spacing: -.02em; }
.specs dt { order: 2; font-size: 14px; color: var(--on-dark-sub); }
.specs > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; }
.lines { display: grid; border-top: 1px solid rgba(251, 248, 243, .14); }
.line { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr) minmax(0, .8fr); gap: 14px 48px; padding: 30px 0; border-bottom: 1px solid rgba(251, 248, 243, .14); }
.line__name { display: grid; gap: 8px; align-content: start; }
.line__name b { font-family: var(--f-serif-ko); font-weight: 400; font-size: clamp(21px, 1.9vw, 27px); letter-spacing: -.03em; color: var(--on-dark); }
.line__name span { display: flex; flex-wrap: wrap; gap: 6px; }
.line__name i { font-style: normal; padding: 3px 10px; border: 1px solid rgba(199, 165, 126, .45); border-radius: 999px; font-size: 12.5px; color: var(--gold); }
.line p { font-size: 15px; line-height: 1.8; color: var(--on-dark-sub); }
.line__for { font-size: 14px; color: var(--on-dark-sub); }
.line__for b { display: block; margin-bottom: 4px; font-weight: 500; font-size: 12.5px; color: var(--gold); }
.line--top b { color: var(--gold); }
.cell__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px 40px; margin-top: 40px; }
.cell__foot .notice { max-width: 64ch; color: var(--on-dark-sub); font-size: 14px; }

/* method: steps + deliverable papers */
.method { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 110px); align-items: center; }
.msteps { display: grid; gap: 0; border-top: 1px solid var(--line-strong); counter-reset: ms; }
.msteps li { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 14px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.msteps .num-en { font-size: 30px; line-height: 1; color: var(--brown); }
.msteps h3 { font-family: var(--f-serif-ko); font-weight: 500; font-size: 20px; letter-spacing: -.03em; margin-bottom: 6px; }
.papers { position: relative; height: clamp(420px, 40vw, 560px); }
.paper { position: absolute; width: 58%; aspect-ratio: 1 / 1.12; padding: 22px 22px; border-radius: 6px; background: var(--paper); box-shadow: 0 24px 50px -30px rgba(43, 31, 24, .55), 0 0 0 1px rgba(205, 180, 154, .45); }
.paper b { display: block; font-family: var(--f-serif-ko); font-weight: 500; font-size: 16px; margin-bottom: 14px; }
.paper i { display: block; height: 7px; margin-top: 9px; border-radius: 4px; background: var(--linen); }
.paper i:nth-of-type(3n) { width: 64%; } .paper i:nth-of-type(3n+1) { width: 92%; } .paper i:nth-of-type(3n+2) { width: 78%; }
.paper small { position: absolute; left: 22px; bottom: 18px; font-family: var(--f-serif-en); font-style: normal; font-size: 14px; color: var(--brown); }
.paper { width: 52%; }
.paper:nth-child(1) { left: 2%; top: 0; transform: rotate(-4deg); }
.paper:nth-child(2) { left: 16%; top: 9%; transform: rotate(-1.5deg); }
.paper:nth-child(3) { left: 30%; top: 18%; transform: rotate(1.5deg); }
.paper:nth-child(4) { left: 44%; top: 27%; transform: rotate(4deg); }

/* programs */
.prog { display: grid; border-top: 1px solid var(--line-strong); }
.prog a { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto; gap: 10px 40px; align-items: center; padding: 30px 0; border-bottom: 1px solid var(--line-strong); text-decoration: none; }
.prog__en { font-family: var(--f-serif-en); font-weight: 500; font-size: clamp(30px, 3.2vw, 48px); line-height: 1; letter-spacing: -.01em; transition: color .2s; }
.prog a:hover .prog__en { color: var(--brown); }
.prog__ko { display: block; margin-top: 8px; font-size: 14px; color: var(--sub); }
.prog__line { font-family: var(--f-serif-ko); font-size: 17px; line-height: 1.6; color: var(--ink); }
.prog__meta { font-size: 13px; color: var(--sub); text-align: right; white-space: nowrap; }

/* journey band */
.jband { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); }
.jband > div { display: grid; gap: 12px; align-content: start; padding: 28px 28px 8px 0; }
.jband > div + div { padding-left: 28px; border-left: 1px solid var(--line); }
.jband h3 { font-family: var(--f-serif-en); font-weight: 500; font-size: clamp(28px, 2.6vw, 38px); line-height: 1; }
.jband h3 small { display: block; margin-top: 8px; font-family: var(--f-ko); font-size: 13.5px; color: var(--sub); }

/* trust row */
.trust2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px clamp(40px, 6vw, 110px); align-items: start; }

@media (max-width: 1180px) {
  .itin { left: -24px; }
  .line { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
  .line__for { grid-column: 2; }
}
@media (max-width: 900px) {
  .h2o::before { width: 100%; height: 38%; inset: auto 0 0 0; }
  .h2o__grid, .idx__head, .idx__grid, .cell__head, .method, .trust2 { grid-template-columns: minmax(0, 1fr); }
  .h2o__art { justify-self: center; width: min(100%, 440px); margin-top: 12px; }
  .itin { left: 0; }
  .idx__panel { grid-template-columns: minmax(0, 1fr); }
  .idx__panel .ph { aspect-ratio: 16 / 10; border-radius: 14px; }
  .prog a { grid-template-columns: minmax(0, 1fr); }
  .prog__meta { text-align: left; }
  .jband { grid-template-columns: minmax(0, 1fr); }
  .jband > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
}
@media (max-width: 640px) {
  .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .specs { grid-template-columns: minmax(0, 1fr); }
  .specs > div + div { padding-left: 0; border-left: 0; border-top: 1px solid rgba(199, 165, 126, .2); }
  .line { grid-template-columns: minmax(0, 1fr); }
  .line__for { grid-column: auto; }
  .itin { position: relative; left: auto; width: 100%; margin-top: -60px; }
  .h2o__art { padding-bottom: 0; }
  .papers { height: 300px; }
  .idx__tab b { font-size: 21px; }
  .idx__tab { grid-template-columns: 34px minmax(0, 1fr); }
  .idx__tab em { display: none; }
}

/* dark network */
.mapcard { padding: clamp(14px, 2vw, 28px); border-radius: 24px; background: radial-gradient(120% 90% at 70% 25%, #3A2A20 0%, #2B1F18 55%, #241A14 100%); box-shadow: 0 40px 80px -50px rgba(43, 31, 24, .7); }
.map .hub { transition: opacity .3s; }
.map .hub.is-dim { opacity: .18; }
.netx { background: var(--night); color: var(--on-dark); }
.netx .en-it { color: var(--gold); }
.netx .lead { color: var(--on-dark-sub); }
.netx .mapcard { box-shadow: none; background: radial-gradient(120% 90% at 70% 25%, #3A2A20 0%, #2B1F18 60%); }
.netx .filters button { background: transparent; border-color: rgba(199, 165, 126, .4); color: var(--on-dark); }
.netx .filters button[aria-pressed="true"] { background: var(--gold); border-color: var(--gold); color: var(--night); }
.netx .hubs { border-top-color: rgba(199, 165, 126, .4); }
.netx .hubs li { border-bottom-color: rgba(251, 248, 243, .12); }
.netx .hubs b { color: var(--on-dark); }
.netx .hubs small, .netx .hubs__cats { color: var(--on-dark-sub); }
.netx .hubs__no { color: var(--gold); }
.netx .net-empty { background: rgba(255, 255, 255, .04); border-color: rgba(199, 165, 126, .4); color: var(--on-dark-sub); }
.netx .link { color: var(--on-dark); }

/* dot-matrix map */
.mapwrap { position: relative; }
.mapwrap .mapbase { display: block; width: 100%; height: auto; }
.mapwrap .mapover { position: absolute; inset: 0; width: 100%; height: 100%; }
.mapcard { background: radial-gradient(110% 80% at 62% 30%, #3B2A1F 0%, #261B14 58%, #1D150F 100%); }
.netx .mapcard { background: radial-gradient(110% 80% at 62% 30%, #3B2A1F 0%, #261B14 58%, #1D150F 100%); }
.mapover .spark { filter: drop-shadow(0 0 3px rgba(243, 223, 190, .9)); }
@media (prefers-reduced-motion: reduce) { .mapover .spark { display: none; } }
.hcard { align-content: start; }
.hcard .chips { align-items: flex-start; }
.hcard__top { flex-wrap: wrap; gap: 4px 12px; }

/* ===== v4: existing-site copy + enrichment ===== */
/* hero fields + journey strip */
.h2o__fields { display: flex; flex-wrap: wrap; gap: 6px 0; font-size: 14px; color: var(--sub); }
.h2o__fields a { text-decoration: none; padding-right: 14px; margin-right: 14px; border-right: 1px solid var(--line-strong); line-height: 1.2; }
.h2o__fields a:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.h2o__fields a:hover { color: var(--brown); }
.jstrip { position: relative; z-index: 1; margin-top: clamp(40px, 5vw, 72px); border-top: 1px solid var(--line-strong); }
.jstrip__label { position: absolute; top: -11px; left: 0; padding-right: 16px; background: var(--ivory); font-family: var(--f-serif-en); font-style: normal; font-size: 15px; color: var(--brown); line-height: 22px; }
.jstrip ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.jstrip li { position: relative; display: grid; gap: 4px; padding: 30px 20px 4px 0; }
.jstrip li::before { content: ""; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--brown); }
.jstrip .num-en { font-size: 14px; color: var(--brown); }
.jstrip b { font-family: var(--f-serif-en); font-weight: 500; font-size: clamp(20px, 1.8vw, 26px); line-height: 1.1; color: var(--ink); }
.jstrip small { font-size: 13.5px; color: var(--sub); }

/* why */
.why { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); }
.why li { display: grid; gap: 10px; align-content: start; padding: 30px 32px 6px 0; }
.why li + li { padding-left: 32px; border-left: 1px solid var(--line); }
.why .num-en { font-size: 34px; line-height: 1; color: var(--brown); }
.why__en { font-family: var(--f-serif-en); font-style: normal; font-size: 18px; color: var(--brown); }
.why h3, .svc h3, .acc h3 { font-family: var(--f-serif-ko); font-weight: 500; font-size: clamp(19px, 1.6vw, 22px); line-height: 1.45; letter-spacing: -.03em; }

/* three services */
.svc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.svc__item { position: relative; display: grid; gap: 14px; align-content: start; padding: clamp(28px, 2.6vw, 40px); border: 1px solid var(--line); border-radius: 22px; background: var(--paper); }
.svc__item .link { margin-top: 6px; }
.svc__no { font-family: var(--f-serif-en); font-size: 15px; letter-spacing: .12em; color: var(--brown); }
.svc__en { font-family: var(--f-serif-en); font-weight: 500; font-size: clamp(28px, 2.6vw, 38px); line-height: 1.02; letter-spacing: -.01em; color: var(--ink); }
.svc__tags { padding-top: 14px; border-top: 1px solid var(--line); font-family: var(--f-serif-en); font-style: normal; font-size: 15.5px; color: var(--brown); }
.svc__item:nth-child(2) { background: var(--espresso); border-color: var(--espresso); color: var(--on-dark); }
.svc__item:nth-child(2) .svc__en, .svc__item:nth-child(2) h3 { color: var(--on-dark); }
.svc__item:nth-child(2) .body { color: var(--on-dark-sub); }
.svc__item:nth-child(2) .svc__no, .svc__item:nth-child(2) .svc__tags { color: var(--gold); border-top-color: rgba(251, 248, 243, .16); }
.svc__item:nth-child(2) .link { color: var(--on-dark); }

/* medical access mini row (home) */
.macc { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; margin-top: clamp(32px, 4vw, 48px); padding: 22px 26px; border: 1px solid var(--line-strong); border-radius: 18px; background: var(--paper); }
.macc p { display: grid; gap: 2px; font-size: 14.5px; color: var(--body); }
.macc ul { display: flex; flex-wrap: wrap; gap: 8px; }
.macc a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border: 1px solid var(--line); border-radius: 999px; font-size: 14px; text-decoration: none; color: var(--ink); background: var(--ivory); transition: border-color .2s, color .2s; }
.macc a:hover { border-color: var(--brown); color: var(--brown); }
.macc a svg { width: 14px; height: 14px; }

/* journey file: five papers */
.papers--5 .paper { width: 48%; }
.papers--5 .paper:nth-child(1) { left: 0; top: 0; transform: rotate(-5deg); }
.papers--5 .paper:nth-child(2) { left: 13%; top: 7%; transform: rotate(-2.5deg); }
.papers--5 .paper:nth-child(3) { left: 26%; top: 14%; transform: rotate(0deg); }
.papers--5 .paper:nth-child(4) { left: 39%; top: 21%; transform: rotate(2.5deg); }
.papers--5 .paper:nth-child(5) { left: 52%; top: 28%; transform: rotate(5deg); }

/* programs number */
.prog__no { display: inline-block; width: 2.2em; font-size: .42em; vertical-align: middle; color: var(--brown); }

/* founder business areas */
.biz { display: grid; border-top: 1px solid var(--line-strong); }
.biz li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 15px; color: var(--ink); }
.biz .num-en { font-size: 16px; color: var(--brown); }

/* insight + orbit */
.insight { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 5vw, 96px); align-items: center; }
.insight__text { display: grid; gap: 22px; align-content: center; }
.insight__st { font-family: var(--f-serif-ko); font-size: 17px; line-height: 1.6; color: var(--ink); padding-left: 18px; border-left: 2px solid var(--brown); }
.insight__pos { font-size: 14.5px; line-height: 1.85; color: var(--sub); }
.orbit { position: relative; width: min(100%, 540px); aspect-ratio: 1; justify-self: center; }
.orbit::before, .orbit::after { content: ""; position: absolute; border-radius: 50%; }
.orbit::before { inset: 14%; border: 1px solid var(--line-strong); }
.orbit::after { inset: 3%; border: 1px dashed rgba(205, 180, 154, .7); }
.orbit__core { position: absolute; inset: 33%; z-index: 1; display: grid; place-content: center; gap: 6px; padding: 10%; border-radius: 50%; text-align: center; background: radial-gradient(circle at 35% 30%, #4A3628 0%, var(--espresso) 70%); color: var(--on-dark); box-shadow: 0 30px 60px -30px rgba(43, 31, 24, .7), 0 0 0 10px rgba(199, 165, 126, .12); }
.orbit__core small { font-size: 11.5px; letter-spacing: .02em; color: var(--gold); font-family: var(--f-serif-en); font-style: normal; }
.orbit__core b { font-family: var(--f-serif-en); font-weight: 500; font-size: clamp(17px, 1.6vw, 22px); line-height: 1.12; }
.orbit__nodes li { position: absolute; left: var(--x); top: var(--y); z-index: 2; display: grid; justify-items: center; gap: 3px; width: 150px; transform: translate(-50%, -7px); text-align: center; }
.orbit__nodes i { width: 14px; height: 14px; border-radius: 50%; background: var(--brown); box-shadow: 0 0 0 5px var(--sand), 0 0 0 6px var(--line-strong); }
.orbit__nodes em { margin-top: 6px; font-family: var(--f-serif-en); font-size: 17px; line-height: 1.1; color: var(--brown); }
.orbit__nodes span { font-size: 13.5px; line-height: 1.35; color: var(--ink); }
.sec:not(.sec--sand) .orbit__nodes i { box-shadow: 0 0 0 5px var(--ivory), 0 0 0 6px var(--line-strong); }
.acc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: clamp(44px, 5vw, 72px); }
.acc__card { display: grid; gap: 10px; align-content: start; padding: clamp(24px, 2.4vw, 34px); border-radius: 20px; background: var(--paper); border: 1px solid var(--line); }
.acc__no { font-size: 15px; color: var(--brown); }
.acc__en { font-family: var(--f-serif-en); font-style: normal; font-size: 18px; color: var(--brown); }

/* partner profile (dark spec sheet) */
.prof { background: var(--night); color: var(--on-dark); }
.prof__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(36px, 5vw, 96px); align-items: start; }
.prof__head { display: grid; gap: 22px; position: sticky; top: calc(var(--hdr-h) + 80px); }
.prof .en-it { color: var(--gold); }
.prof .lead { color: var(--on-dark-sub); }
.prof__where { display: flex; flex-wrap: wrap; gap: 8px; }
.prof__pin { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid rgba(199, 165, 126, .45); border-radius: 999px; font-size: 14px; color: var(--on-dark); }
.prof__pin svg { width: 15px; height: 15px; color: var(--gold); }
.prof__note { font-size: 13.5px; line-height: 1.75; color: var(--on-dark-sub); padding-top: 16px; border-top: 1px solid rgba(251, 248, 243, .14); }
.prof__dl { display: grid; border-top: 1px solid rgba(199, 165, 126, .45); }
.prof__dl > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 10px 28px; padding: 24px 0; border-bottom: 1px solid rgba(251, 248, 243, .12); }
.prof__dl dt { font-family: var(--f-serif-ko); font-size: 16px; color: var(--gold); }
.prof__dl dd { margin: 0; font-size: 15.5px; line-height: 1.8; color: var(--on-dark); }

/* fertility footer */
.fert__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px 32px; margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--line-strong); }
.fert__foot .chips { max-width: 820px; }
.fert__foot .tag { background: var(--paper); }

/* MEDICAL access cards */
.macs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.mac { display: grid; gap: 16px; align-content: start; padding: clamp(26px, 2.8vw, 40px); border-radius: 22px; background: var(--paper); border: 1px solid var(--line); }
.mac__top { display: grid; gap: 4px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.mac__en { font-family: var(--f-serif-en); font-weight: 500; font-size: clamp(26px, 2.4vw, 34px); line-height: 1.05; color: var(--ink); }
.mac__top h3 { font-size: 14.5px; font-weight: 500; color: var(--brown); }
.mac__st { font-family: var(--f-serif-ko); font-size: clamp(18px, 1.5vw, 20px); line-height: 1.55; color: var(--ink); letter-spacing: -.02em; }
.mac__nodes { display: flex; flex-wrap: wrap; gap: 8px; }
.mac__nodes li { display: inline-flex; align-items: baseline; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--sand); font-size: 13px; color: var(--notice); }
.mac__nodes em { font-family: var(--f-serif-en); font-size: 14.5px; color: var(--brown); }
.mac__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 20px; margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--line); }

/* CARE hero meta */
.pmeta { display: flex; flex-wrap: wrap; gap: 0; margin-top: 8px; border-top: 1px solid rgba(251, 248, 243, .22); }
.pmeta > div { display: grid; gap: 2px; padding: 16px 28px 0 0; margin-right: 28px; }
.pmeta > div + div { padding-left: 28px; border-left: 1px solid rgba(251, 248, 243, .18); }
.pmeta dt { font-size: 12.5px; color: rgba(251, 248, 243, .66); }
.pmeta dd { margin: 0; font-size: 15px; color: var(--on-dark); }

@media (max-width: 1100px) {
  .svc { grid-template-columns: minmax(0, 1fr); }
  .acc { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .why { grid-template-columns: minmax(0, 1fr); }
  .why li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .insight, .prof__grid { grid-template-columns: minmax(0, 1fr); }
  .prof__head { position: static; }
  .macs { grid-template-columns: minmax(0, 1fr); }
  .jstrip ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .orbit { aspect-ratio: auto; width: 100%; display: grid; gap: 14px; }
  .orbit::before, .orbit::after { display: none; }
  .orbit__core { position: static; inset: auto; padding: 22px 20px; border-radius: 18px; }
  .orbit__nodes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .orbit__nodes li { position: static; width: auto; transform: none; justify-items: start; text-align: left; padding: 14px 14px 12px; border-radius: 14px; background: var(--paper); border: 1px solid var(--line); }
  .orbit__nodes li:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .orbit__nodes i { width: 9px; height: 9px; box-shadow: none !important; }
  .orbit__nodes em { margin-top: 2px; }
  .prof__dl > div { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .papers--5 .paper { width: 56%; }
  .papers--5 .paper:nth-child(2) { left: 11%; } .papers--5 .paper:nth-child(3) { left: 22%; } .papers--5 .paper:nth-child(4) { left: 33%; } .papers--5 .paper:nth-child(5) { left: 44%; }
  .pmeta > div { padding-right: 0; margin-right: 18px; }
  .pmeta > div + div { padding-left: 18px; }
  .jstrip li { padding-right: 12px; }
  .macc { padding: 20px; }
}
/* v4 fixes */
.jstrip { border-top: 0; }
.jstrip__label { position: static; display: block; padding: 0; margin-bottom: 18px; background: none; }
.jstrip ol { border-top: 1px solid var(--line-strong); }
.why__head { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, .75fr); gap: 20px 56px; align-items: end; margin-bottom: clamp(36px, 4vw, 56px); }
.svc__en { font-size: clamp(26px, 2.2vw, 32px); }
.papers--5 { height: clamp(460px, 44vw, 620px); }
.papers--5 .paper { padding-top: 20px; }
.papers--5 .paper b { margin-bottom: 2px; }
.papers--5 .paper small { position: static; display: block; margin-bottom: 12px; }
.papers--5 .paper:nth-child(1) { left: 0; top: 0; }
.papers--5 .paper:nth-child(2) { left: 12%; top: 10.5%; }
.papers--5 .paper:nth-child(3) { left: 24%; top: 21%; }
.papers--5 .paper:nth-child(4) { left: 36%; top: 31.5%; }
.papers--5 .paper:nth-child(5) { left: 48%; top: 42%; }
.prog__en { font-size: clamp(28px, 3vw, 44px); }
@media (max-width: 900px) { .why__head { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
  .papers--5 { height: 380px; }
  .papers--5 .paper:nth-child(2) { left: 11%; } .papers--5 .paper:nth-child(3) { left: 22%; } .papers--5 .paper:nth-child(4) { left: 33%; } .papers--5 .paper:nth-child(5) { left: 44%; }
}
.orbit__nodes em, .orbit__nodes span { padding: 0 6px; background: var(--sand); border-radius: 4px; }
.sec:not(.sec--sand) .orbit__nodes em, .sec:not(.sec--sand) .orbit__nodes span { background: var(--ivory); }
@media (max-width: 600px) { .orbit__nodes em, .orbit__nodes span { padding: 0; background: none !important; } }
/* dropdown: keep each item on one line */
.drop { width: max-content; min-width: 300px; padding: 12px; }
.drop a { align-items: baseline; gap: 32px; white-space: nowrap; padding: 11px 14px; }
.drop a span { font-family: var(--f-serif-en); font-style: normal; font-size: 15px; color: var(--brown); }

/* ===== official facts ===== */
.fgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.fact { display: flex; flex-direction: column; gap: 14px; padding: clamp(24px, 2.4vw, 34px); border-radius: 20px; background: var(--paper); border: 1px solid var(--line); min-width: 0; }
.sec--sand .fact, .sec--deep .fact { background: var(--paper); }
.fact__fig { font-family: var(--f-serif-en); font-weight: 500; font-size: clamp(46px, 4.4vw, 66px); line-height: 1; letter-spacing: -.02em; color: var(--brown); font-variant-numeric: lining-nums; }
.fact__fig small { margin-left: 6px; font-family: var(--f-ko); font-size: 15px; letter-spacing: 0; color: var(--sub); }
.fact__fig--word { font-family: var(--f-serif-ko); font-size: clamp(30px, 2.8vw, 40px); letter-spacing: -.03em; }
.fact__txt { font-size: 15px; line-height: 1.8; color: var(--ink); }
.fact__src { display: inline-flex; align-items: flex-start; gap: 6px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); font-size: 12.5px; line-height: 1.5; color: var(--sub); text-decoration: none; }
a.fact__src:hover { color: var(--brown); }
.fact__src svg { flex: none; width: 12px; height: 12px; margin-top: 3px; }
.ftable { display: grid; gap: 14px; margin-top: clamp(40px, 4vw, 56px); }
.ftable__t { font-family: var(--f-serif-ko); font-weight: 500; font-size: clamp(20px, 1.8vw, 24px); letter-spacing: -.03em; }
.ftable .fact__src { border-top: 0; padding-top: 0; }
.frules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 32px; margin-top: clamp(40px, 4vw, 56px); }
.frules li { display: flex; flex-direction: column; gap: 8px; padding-top: 18px; border-top: 2px solid var(--brown); }
.frules b { font-family: var(--f-serif-ko); font-weight: 500; font-size: 18px; letter-spacing: -.02em; }
.frules .fact__src { border-top: 0; padding-top: 2px; margin-top: 0; }
.gfacts { display: grid; gap: 18px; margin-top: clamp(48px, 5vw, 72px); }
.gfacts .fgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* dark variant (GMJ page) */
.facts-dark { background: var(--night); color: var(--on-dark); }
.facts-dark .en-it { color: var(--gold); }
.facts-dark .lead { color: var(--on-dark-sub); }
.facts-dark .fgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.facts-dark .fact { background: rgba(255, 255, 255, .035); border-color: rgba(199, 165, 126, .28); }
.facts-dark .fact__fig { color: var(--gold); }
.facts-dark .fact__fig small { color: var(--on-dark-sub); }
.facts-dark .fact__txt { color: var(--on-dark); }
.facts-dark .fact__src { color: var(--on-dark-sub); border-top-color: rgba(251, 248, 243, .14); }
@media (max-width: 1100px) { .facts-dark .fgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .fgrid, .gfacts .fgrid, .frules { grid-template-columns: minmax(0, 1fr); } .facts-dark .fgrid { grid-template-columns: minmax(0, 1fr); } }
.fgrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fgrid--4 .fact__fig { font-size: clamp(42px, 3.6vw, 56px); }
.fgrid--5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.fgrid--5 .fact { grid-column: span 2; }
.fgrid--5 .fact:nth-child(n+4) { grid-column: span 3; }
@media (max-width: 1100px) { .fgrid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .fgrid--4, .fgrid--5 { grid-template-columns: minmax(0, 1fr); } .fgrid--5 .fact, .fgrid--5 .fact:nth-child(n+4) { grid-column: auto; } }
@media (max-width: 640px) {
  .tbl td[data-label]::before { content: attr(data-label); display: inline-block; min-width: 64px; margin-right: 10px; font-size: 12.5px; color: var(--sub); }
}

/* ===== v5: quieter structure ===== */
.sh { display: grid; gap: 16px; max-width: 820px; margin-bottom: clamp(32px, 4vw, 52px); }
.sh .lead { max-width: 62ch; }
.sub-h { display: grid; gap: 10px; margin: clamp(48px, 5vw, 72px) 0 22px; }
.sub-h h3, .support h3, .gfacts__t, .cband__rt { font-family: var(--f-serif-ko); font-weight: 500; font-size: clamp(20px, 1.8vw, 24px); letter-spacing: -.03em; color: var(--ink); }
.cband__rt { color: var(--on-dark); font-size: 18px; }
.idx__tab { grid-template-columns: minmax(0, 1fr) auto; }
.hubs li { grid-template-columns: minmax(0, 1fr) auto; }
.macc p b { font-family: var(--f-serif-ko); font-weight: 500; font-size: 18px; color: var(--ink); }
.partner-card { gap: 18px; padding: clamp(28px, 3vw, 44px); background: var(--linen); border-color: var(--linen); position: sticky; top: calc(var(--hdr-h) + 24px); }
.biz li { grid-template-columns: minmax(0, 1fr); }
/* access points: plain columns with a rule, not boxed cards */
.acc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 40px; margin-top: clamp(44px, 5vw, 72px); }
.acc li { display: grid; gap: 10px; align-content: start; padding-top: 22px; border-top: 1px solid var(--line-strong); }
.support { margin-top: clamp(40px, 4vw, 56px); padding: clamp(24px, 2.6vw, 36px); border-radius: 20px; background: var(--paper); border: 1px solid var(--line); }
.support h3 { margin-bottom: 14px; }
.support ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.support li { display: flex; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 15px; color: var(--ink); }
.support li svg { flex: none; width: 16px; height: 16px; margin-top: 5px; color: var(--brown); }
/* facts: editorial rule style instead of boxed cards */
.fact { padding: 22px 0 0; border: 0; border-top: 1px solid var(--line-strong); border-radius: 0; background: none !important; }
.fgrid { gap: 28px 40px; }
.facts-dark .fact { border-top-color: rgba(199, 165, 126, .45); background: none !important; }
/* check + faq */
.cf { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px clamp(40px, 6vw, 96px); align-items: start; }
.cf .sh { margin-bottom: 24px; }
.checklist { display: grid; border-top: 1px solid var(--line-strong); }
.checklist > div { display: grid; gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.checklist dt { font-weight: 500; font-size: 15.5px; color: var(--ink); }
.checklist dd { margin: 0; font-size: 15px; line-height: 1.8; color: var(--body); }
.principle { margin-top: 28px; padding: 24px 26px; border-radius: 18px; background: var(--espresso); color: var(--on-dark); }
.principle h3 { font-family: var(--f-serif-ko); font-weight: 500; font-size: 18px; margin-bottom: 8px; }
.principle p { font-size: 15px; line-height: 1.8; color: var(--on-dark-sub); }
.gfacts__t { margin-bottom: 4px; }
@media (max-width: 900px) {
  .acc, .cf { grid-template-columns: minmax(0, 1fr); }
  .support ul { grid-template-columns: minmax(0, 1fr); }
}
.mcard__no, .clist__no { display: none; }
.clist a { grid-template-columns: minmax(0, 1fr) auto; }
.split__label:empty { display: none; }
.split:has(> .split__label:empty) { grid-template-columns: minmax(0, 1fr); }
.shead > div:empty { display: none; }
.rows--plain > li { grid-template-columns: minmax(0, 1fr); }
.rows--plain b.h3 { display: block; margin-bottom: 4px; }
@media (max-width: 640px) {
  .hubs li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .hubs__cats { text-align: left; }
}

/* ===== ECC make-interfaces-feel-better pass ===== */
html { -moz-osx-font-smoothing: grayscale; }
h1, h2, h3, .disp, .disp-2, .h3 { text-wrap: balance; }
p, li, dd, figcaption, summary { text-wrap: pretty; }
.fact__fig, .specs dd, .tbl td, .itin time, .kv dd, .num-en { font-variant-numeric: lining-nums tabular-nums; }
/* neutral inset outline so photos don't bleed into the ivory surface */
.ph, .h2o__arch, .idx__panel .ph { outline: 1px solid rgba(0, 0, 0, .08); outline-offset: -1px; }
.mapcard { outline: 1px solid rgba(255, 255, 255, .06); outline-offset: -1px; }
/* tactile press state, explicit transition scope */
.btn { transition-property: background-color, color, border-color, transform; transition-duration: .18s; transition-timing-function: ease-out; }
.btn:active { transform: scale(.98); }
.hdr__cta:active, .filters button:active { transform: scale(.97); }
/* hit areas: at least ~44px without shifting layout */
.filters button { min-height: 44px; }
.hdr__cta { min-height: 44px; }
.link { padding-block: 10px; margin-block: -10px; }
.logo { padding-block: 6px; }
.ftr li a { display: inline-block; padding-block: 10px; margin-block: -10px; }
.fact__src { padding-block: 10px 6px; }
@media (prefers-reduced-motion: reduce) { .btn:active, .hdr__cta:active, .filters button:active { transform: none; } }

/* ===================================================================
   v6 LUXURY PASS — quieter type, square geometry, champagne hairlines,
   one signature motif (the arch line), no repeated stand-in photos.
   =================================================================== */
:root {
  --ivory: #F7F3EC;
  --paper: #FBF8F3;
  --sand: #EEE7DC;
  --sand-deep: #E6DDCF;
  --linen: #EEE7DC;
  --latte: #C9B79C;
  --brown: #7B5E46;
  --cocoa: #2A201A;
  --espresso: #1E1713;
  --night: #1E1713;
  --ink: #231B16;
  --body: #5C5047;
  --sub: #7A6D62;
  --stone: #8E8175;
  --line: #E3D9CB;
  --line-strong: #C9B79C;
  --gold: #C9A97C;
  --champagne: #B8986A;
  --r-card: 0px;
  --wrap: 1240px;
  --sec-y: clamp(96px, 10.5vw, 164px);
  --arch-dark: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20400%20560%22%3E%3Cpath%20d%3D%22M0.5%20560%20V200.0%20A199.5%20199.5%200%200%201%20399.5%20200.0%20V560%22%20fill%3D%22none%22%20stroke%3D%22%23C9A97C%22%20stroke-opacity%3D%220.55%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22/%3E%3Cpath%20d%3D%22M34.5%20560%20V200.0%20A165.5%20165.5%200%200%201%20365.5%20200.0%20V560%22%20fill%3D%22none%22%20stroke%3D%22%23C9A97C%22%20stroke-opacity%3D%220.55%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22/%3E%3Cpath%20d%3D%22M68.5%20560%20V200.0%20A131.5%20131.5%200%200%201%20331.5%20200.0%20V560%22%20fill%3D%22none%22%20stroke%3D%22%23C9A97C%22%20stroke-opacity%3D%220.55%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22/%3E%3C/svg%3E");
  --arch-light: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20400%20560%22%3E%3Cpath%20d%3D%22M0.5%20560%20V200.0%20A199.5%20199.5%200%200%201%20399.5%20200.0%20V560%22%20fill%3D%22none%22%20stroke%3D%22%239C7E5C%22%20stroke-opacity%3D%220.5%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22/%3E%3Cpath%20d%3D%22M34.5%20560%20V200.0%20A165.5%20165.5%200%200%201%20365.5%20200.0%20V560%22%20fill%3D%22none%22%20stroke%3D%22%239C7E5C%22%20stroke-opacity%3D%220.5%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22/%3E%3Cpath%20d%3D%22M68.5%20560%20V200.0%20A131.5%20131.5%200%200%201%20331.5%20200.0%20V560%22%20fill%3D%22none%22%20stroke%3D%22%239C7E5C%22%20stroke-opacity%3D%220.5%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22/%3E%3C/svg%3E");
  --arch-small: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20400%20560%22%3E%3Cpath%20d%3D%22M0.5%20560%20V200.0%20A199.5%20199.5%200%200%201%20399.5%20200.0%20V560%22%20fill%3D%22none%22%20stroke%3D%22%239C7E5C%22%20stroke-opacity%3D%220.8%22%20stroke-width%3D%221.2%22%20vector-effect%3D%22non-scaling-stroke%22/%3E%3Cpath%20d%3D%22M60.5%20560%20V200.0%20A139.5%20139.5%200%200%201%20339.5%20200.0%20V560%22%20fill%3D%22none%22%20stroke%3D%22%239C7E5C%22%20stroke-opacity%3D%220.8%22%20stroke-width%3D%221.2%22%20vector-effect%3D%22non-scaling-stroke%22/%3E%3C/svg%3E");
}
body { color: var(--ink); background: var(--ivory); }
.lead { font-size: clamp(15.5px, 1.1vw, 17px); line-height: 1.95; color: var(--body); }
.body { line-height: 1.9; }
.disp { font-weight: 300; font-size: clamp(30px, 3.9vw, 58px); line-height: 1.38; letter-spacing: -.03em; }
.disp-2, .h1, .h2 { font-weight: 300; font-size: clamp(25px, 2.5vw, 38px); line-height: 1.45; letter-spacing: -.03em; }
.h1 { font-size: clamp(28px, 3vw, 44px); }
.h3, .why h3, .svc h3, .acc h3, .sub-h h3, .support h3 { font-weight: 400; }
.hero__ko { font-weight: 300; }
.display { font-weight: 400; letter-spacing: 0; }
.en-title, .prog__en, .svc__en, .mac__en { font-family: var(--f-serif-en); font-weight: 400; letter-spacing: .005em; }
.sh { gap: 18px; margin-bottom: clamp(40px, 4.5vw, 64px); }
.sh::before, .idx__head > h2:first-child::before, .idx__head > div:first-child > h2::before, .cell__head > h2::before {
  content: ""; display: block; width: 36px; height: 1px; margin-bottom: 22px; background: var(--champagne); }
.sh::before { margin-bottom: 4px; }
.btn, .hdr__cta, .card, .tag, .chip, .filters button, .idx__panel, .mac, .svc__item, .support, .principle, .tbl-wrap,
.macc, .macc a, .hcard, .itin, .partner-card, .stage, .check, .opt, .fact, .acc li, .mcard, .clist a, .orbit__nodes li,
.prof__pin, .faq details, .subnav a { border-radius: 0 !important; }
.mapcard { border-radius: 2px; }
.btn { min-height: 54px; padding: 0 30px; font-weight: 400; letter-spacing: .04em; }
.btn--dark { background: var(--espresso); }
.btn--dark:hover { background: #3A2D24; }
.btn--ghost { border-color: var(--line-strong); }
.btn--wide { min-height: 62px; }
.hdr__cta { padding: 0 22px; font-weight: 400; letter-spacing: .04em; background: var(--espresso); color: var(--ivory); }
.page.hdr-light .hdr:not(.is-solid) .hdr__cta { background: transparent; color: var(--ivory); box-shadow: inset 0 0 0 1px rgba(247, 243, 236, .6); }
.link { text-underline-offset: 6px; text-decoration-thickness: 1px; text-decoration-color: var(--champagne); }
.chips { gap: 8px 0; }
.tag, .chip { display: inline-flex; align-items: center; padding: 0 16px 0 0; margin-right: 16px; border: 0 !important; background: none !important; font-size: 13.5px; color: var(--body); position: relative; }
.tag:not(:last-child)::after, .chip:not(:last-child)::after { content: ""; position: absolute; right: 0; top: 50%; width: 1px; height: 11px; margin-top: -5px; background: var(--line-strong); }
.chip svg { display: none; }
.checks { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 40px; border-top: 1px solid var(--line-strong); }
.check { padding: 18px 0; border: 0; border-bottom: 1px solid var(--line); background: none; }
.check svg, .plist svg, .support li svg { color: var(--champagne); }
.stage { background: none; border: 0; border-top: 1px solid var(--line-strong); padding: 24px 0 0; }
.card { background: var(--paper); border-color: var(--line); }
.card--dark { background: var(--espresso); }
.support { background: none; border: 0; border-top: 1px solid var(--line-strong); padding: 28px 0 0; }
.principle { background: var(--espresso); }
.trust { background: var(--ivory); border-top: 1px solid var(--line); }
.trust__item svg { color: var(--champagne); }
.sec--sand { background: var(--sand); }
.cband { background: var(--espresso); }
.cband .plist li { border-bottom-color: rgba(247, 243, 236, .14); }
.ftr { background: #17110E; }
/* signature: the arch line (dark heroes) */
.hero__bg { display: none; }
.hero { background: radial-gradient(120% 90% at 78% 30%, #2C221B 0%, #1E1713 55%, #18120F 100%); }
.hero::after { background: var(--arch-dark) no-repeat right max(4vw, 24px) bottom / auto 88%; opacity: .9; }
.hero .display span { color: var(--gold); }
.hero__in--short { min-height: clamp(520px, 72vh, 720px); }
/* light page heroes: arch replaces the repeated photo */
.phero { background: var(--ivory); border-bottom: 1px solid var(--line); }
.phero__art .ph { background-image: var(--arch-light) !important; background-size: contain; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; outline: 0; border-radius: 0; }
/* HOME tab panels and MEDICAL cards: no repeated stand-in photo */
.idx__panel { grid-template-columns: minmax(0, 1fr); padding: clamp(28px, 3vw, 44px); background: var(--paper); border: 1px solid var(--line); }
.idx__panel .ph { display: none; }
.mcard { padding: 0; border: 0; border-top: 1px solid var(--line-strong); background: none; transition: none; }
.mcard:hover { transform: none; box-shadow: none; }
.mcard .ph { display: none; }
.mcard__txt { padding: 28px 0 8px; gap: 10px; }
.mcard__txt::before { content: ""; display: block; width: 26px; height: 36px; margin-bottom: 10px; background: var(--arch-small) no-repeat center / contain; }
.mcard .en-title { font-size: clamp(24px, 2vw, 30px); }
.grid3:has(> .mcard) { gap: 48px 40px; }
/* HOME hero: flatter */
.h2o::before { background: var(--sand); }
.h2o__arch { box-shadow: none; }
.itin { box-shadow: 0 30px 60px -40px rgba(30, 23, 19, .45); border: 1px solid var(--line); }
.itin__top b { font-weight: 400; }
/* services: rule-based */
.svc { gap: 0; border-top: 1px solid var(--line-strong); }
.svc__item { background: none; border: 0; border-right: 1px solid var(--line); padding: 36px 36px 8px 0; }
.svc__item + .svc__item { padding-left: 36px; }
.svc__item:last-child { border-right: 0; }
.svc__item:nth-child(2) { background: none; color: inherit; }
.svc__item:nth-child(2) .svc__en, .svc__item:nth-child(2) h3 { color: var(--ink); }
.svc__item:nth-child(2) .body { color: var(--body); }
.svc__item:nth-child(2) .svc__tags { color: var(--brown); border-top-color: var(--line); }
.svc__item:nth-child(2) .link { color: var(--ink); }
.svc__en { font-size: clamp(26px, 2.2vw, 32px); }
.svc__tags { font-style: normal; font-family: var(--f-ko); font-size: 13.5px; }
.mac { background: none; border: 0; border-top: 1px solid var(--line-strong); padding: 30px 0 0; }
.macs { gap: 48px 56px; }
.mac__nodes li { background: none; padding: 0 14px 0 0; font-size: 13.5px; }
.macc { background: none; border: 0; border-top: 1px solid var(--line-strong); padding: 26px 0 0; }
.macc a { background: none; border: 0; border-bottom: 1px solid var(--line-strong); padding: 6px 2px; }
.fact__fig { color: var(--brown); font-weight: 400; }
.facts-dark .fact__fig { color: var(--gold); }
.filters button { background: transparent; }
.orbit::before { border-color: var(--line-strong); }
.orbit::after { border-color: rgba(184, 152, 106, .45); }
.orbit__core { background: radial-gradient(circle at 35% 30%, #3A2C22 0%, var(--espresso) 70%); box-shadow: 0 0 0 10px rgba(184, 152, 106, .1); }
.orbit__nodes i { background: var(--champagne); }
@media (max-width: 1100px) {
  .svc__item, .svc__item + .svc__item { border-right: 0; border-bottom: 1px solid var(--line); padding: 32px 0; }
}
@media (max-width: 900px) {
  .checks { grid-template-columns: minmax(0, 1fr); }
  .hero::after { background-size: auto 55%; opacity: .55; }
}
.svc__item:nth-child(2) { border-color: var(--line); }
.grid2 > .card:not(.card--dark), .grid3 > .card:not(.card--dark), .grid4 > .card:not(.card--dark) { background: none; border: 0; border-top: 1px solid var(--line-strong); padding: 26px 0 0; }
.grid2, .grid3, .grid4 { column-gap: 40px; }
.line__name i { border-radius: 0; }
.prof__pin { border-radius: 0; }
@media (max-width: 900px) { .phero__art { display: none; } .phero__grid { grid-template-columns: minmax(0, 1fr) !important; } }

/* ===== data-driven network map ===== */
.atmap { position: relative; }
.atmap__svg { display: block; width: 100%; height: auto; }
.atmap .dm, .atmap .di { fill: none; stroke-linecap: round; }
.atmap .dm { stroke: #8C705A; stroke-opacity: .62; stroke-width: 2.3; }
.atmap .dm.pv { stroke: #C09C7C; stroke-opacity: .85; stroke-width: 2.5; }
.atmap .dm.on { stroke: #F3D7AA; stroke-opacity: 1; stroke-width: 2.9; }
.atmap .di { stroke: #8C705A; stroke-opacity: .62; stroke-width: 2.07; }
.atmap .di.pv { stroke: #C09C7C; stroke-opacity: .85; stroke-width: 2.25; }
.atmap .di.on { stroke: #F3D7AA; stroke-opacity: 1; stroke-width: 2.6; }
.atmap .spark { filter: drop-shadow(0 0 3px rgba(243, 223, 190, .9)); }
.atmap .pulse { transform-box: fill-box; transform-origin: center; animation: pulse 2.6s ease-out infinite; }
@media (prefers-reduced-motion: reduce) { .atmap .spark { display: none; } .atmap .pulse { animation: none; } }
.netgroup { display: grid; gap: 14px; }
.netgroup + .netgroup { margin-top: 26px; }
.netgroup__h { display: flex; align-items: baseline; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line-strong); font-family: var(--f-serif-ko); font-weight: 400; font-size: 22px; letter-spacing: -.02em; }
.netgroup__h em { font-family: var(--f-serif-en); font-style: normal; font-size: 16px; color: var(--brown); }
.netgroup__h small { margin-left: auto; font-family: var(--f-ko); font-size: 13px; color: var(--sub); }
.hubgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 640px) { .hubgrid { grid-template-columns: minmax(0, 1fr); } }
.hubgrid > .hcard:only-child { grid-column: 1 / -1; }

/* ===== v7 — ECC review pass: type scale, contrast, fewer ornaments, statements ===== */
:root {
  --sand: #ECE3D5;
  --sand-deep: #E2D6C4;
  --sub: #66594E;
  --stone: #6F6256;
  --sec-y: clamp(84px, 8.4vw, 128px);
  --fs-sm: 14px;
  --fs-body: 16.5px;
  --fs-lg: clamp(17px, 1.2vw, 19px);
  --fs-h3: clamp(20px, 1.6vw, 23px);
  --fs-h2: clamp(30px, 3.1vw, 46px);
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .24 0 0 0 0 .18 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* type scale */
.lead { font-size: var(--fs-lg); line-height: 1.85; }
.body, .fact__txt, .checklist dd, .line p, .prof__dl dd, .rows .body { font-size: var(--fs-body); }
.small, .svc__tags, .prog__ko, .opt__for, .fact__src, .card__foot { font-size: var(--fs-sm); }
.disp-2, .h2 { font-size: var(--fs-h2); font-weight: 400; line-height: 1.32; letter-spacing: -.032em; }
.h1 { font-weight: 400; }
.h3, .why h3, .svc h3, .sub-h h3, .acc h3, .support h3 { font-size: var(--fs-h3); font-weight: 400; letter-spacing: -.025em; }
.nav__link { font-size: 12.5px; font-weight: 400; letter-spacing: .16em; }
.nav__link svg { width: 10px; height: 10px; }
.hdr__cta { font-size: 13.5px; letter-spacing: .08em; }
.crumb { gap: 4px 8px; }
.crumb a { display: inline-block; padding-block: 4px; }
.fact__fig, .specs dd, .tbl td, .itin time, .kv dd, .num-en, .step__no, .rows__no { font-variant-numeric: lining-nums tabular-nums; }

/* ornaments removed: dashes, card arches, button arrows */
.sh::before, .idx__head > h2:first-child::before, .idx__head > div:first-child > h2::before, .cell__head > h2::before { display: none; }
.mcard__txt::before { display: none; }
.btn svg, .link svg { display: none; }
.drop, .drop a { border-radius: 0 !important; }
.tag::after, .chip::after { display: none !important; }
.chips { gap: 10px 10px; }
.tag, .chip { padding: 5px 12px !important; margin-right: 0 !important; border: 1px solid var(--line-strong) !important; font-size: 13.5px; letter-spacing: -.01em; color: var(--body); }
.cell .tag, .netx .chip { border-color: rgba(199, 165, 126, .45) !important; }

/* tier cards: one quiet accent instead of a dark price-table box */
.grid2 > .card--dark, .grid3 > .card--dark, .grid4 > .card--dark { background: none; color: var(--ink); border: 0; border-top: 2px solid var(--espresso); padding: 25px 0 0; }
.grid2 > .card--dark *, .grid3 > .card--dark *, .grid4 > .card--dark * { color: inherit; }
.grid3 > .card--dark .eyebrow, .grid4 > .card--dark .eyebrow { color: var(--brown); }
.grid3 > .card--dark .small, .grid4 > .card--dark .small, .grid3 > .card--dark .body, .grid4 > .card--dark .body { color: var(--body); }
.card__foot { color: var(--sub); }

/* steps */
.steps:has(> .step:nth-child(6):last-child), .steps:has(> .step:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.steps--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px 28px; }
@media (max-width: 1100px) { .steps--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .steps:has(> .step:nth-child(6):last-child), .steps:has(> .step:nth-child(3):last-child), .steps--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .steps:has(> .step:nth-child(6):last-child), .steps:has(> .step:nth-child(3):last-child), .steps--5 { grid-template-columns: minmax(0, 1fr); } }

/* grain on sand fields */
.sec--sand, .sec--deep { position: relative; isolation: isolate; }
.sec--sand::before, .sec--deep::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: var(--grain); opacity: .22; mix-blend-mode: multiply; }

/* statement sections */
.sec--st .stmt { display: grid; gap: 26px; justify-items: center; max-width: 980px; margin-inline: auto; text-align: center; }
.stmt__h { font-family: var(--f-serif-ko); font-weight: 400; font-size: clamp(28px, 3.3vw, 50px); line-height: 1.38; letter-spacing: -.035em; color: var(--ink); text-wrap: balance; }
.stmt .lead { max-width: 38em; }
.sec--st .acc, .sec--st .support { margin-top: clamp(56px, 6vw, 88px); text-align: left; }
.sec--statement { padding-block: clamp(120px, 14vw, 220px); }
.sec--statement .stmt__h { font-size: clamp(30px, 3.8vw, 58px); }

/* HOME hero */
.h2o::before { display: none; }
.h2o { padding-bottom: clamp(48px, 5vw, 80px); }
.h2o__grid { grid-template-columns: minmax(0, 1.28fr) minmax(0, .72fr); align-items: end; min-height: min(calc(100svh - var(--hdr-h) - 110px), 760px); }
.h2o .disp { font-size: clamp(38px, 5.2vw, 78px); font-weight: 400; line-height: 1.22; letter-spacing: -.042em; }
.h2o__lead { font-size: var(--fs-lg); }
.h2o__art { width: min(100%, 440px); padding-bottom: 0; }
.h2o__arch { aspect-ratio: 3 / 4.1; border-radius: 0; animation: none; filter: saturate(.82) contrast(1.02); box-shadow: none; }
.h2o__fields { color: var(--sub); }
.h2o__fields a { border-right-color: var(--line-strong); }

/* itinerary card now lives in the global section */
.glob__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: 40px clamp(40px, 6vw, 110px); align-items: end; margin-bottom: clamp(44px, 5vw, 72px); }
.glob__text { display: grid; gap: 20px; align-content: end; }
.glob__top .itin { position: static; width: 100%; animation: none; }
.itin li { animation: none; }
.itin time small { font-size: 12px; color: var(--stone); }
.itin p span, .itin__top span { color: var(--stone); }
.itin__note { font-size: 12.5px; color: var(--stone); }

/* method: dossier index replaces the skeleton papers */
.method { align-items: start; }
.dossier { padding: clamp(28px, 3vw, 44px); background: var(--paper); border: 1px solid var(--line); box-shadow: 0 30px 60px -48px rgba(30, 23, 19, .5); }
.dossier__t { display: grid; gap: 6px; padding-bottom: 18px; border-bottom: 1px solid var(--line-strong); font-family: var(--f-serif-ko); font-size: 22px; letter-spacing: -.03em; color: var(--ink); }
.dossier__t small { font-family: var(--f-ko); font-size: 14px; letter-spacing: 0; color: var(--sub); }
.dossier ol { display: grid; }
.dossier li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 2px 12px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.dossier li:last-child { border-bottom: 0; padding-bottom: 0; }
.dossier li span { grid-row: span 2; font-family: var(--f-serif-en); font-size: 18px; color: var(--brown); }
.dossier li b { font-weight: 500; font-size: 16px; color: var(--ink); }
.dossier li em { font-style: normal; font-size: 14px; color: var(--sub); }

/* HOME cell care: light, so the map is the page's one dark moment */
.cell { background: var(--paper); color: var(--ink); }
.cell__head p.lead { color: var(--body); }
.specs { border-top-color: var(--line-strong); border-bottom-color: var(--line-strong); }
.specs > div + div { border-left-color: var(--line); }
.specs dd { color: var(--brown); }
.specs dt { color: var(--sub); }
.lines { border-top-color: var(--line-strong); }
.line { border-bottom-color: var(--line); }
.line__name b { color: var(--ink); }
.line__name i { border-color: var(--line-strong); color: var(--brown); }
.line p, .line__for { color: var(--body); }
.line__for b { color: var(--brown); }
.cell__foot .notice { color: var(--sub); }
.netx + .sec { border-top: 0; }

/* category & care heroes: a numeral instead of the repeated arch */
.hero[data-num]::after { content: attr(data-num); inset: auto max(3vw, 20px) -.16em auto; background: none; opacity: 1; font-family: var(--f-serif-en); font-weight: 300; font-size: clamp(200px, 28vw, 460px); line-height: 1; letter-spacing: -.05em; color: transparent; -webkit-text-stroke: 1px rgba(201, 169, 124, .42); }
@media (max-width: 900px) { .hero[data-num]::after { font-size: 52vw; opacity: .6; } }

/* details: secondary material folded */
details.more { margin-top: clamp(32px, 3.4vw, 48px); border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
details.more > summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; cursor: pointer; list-style: none; font-family: var(--f-serif-ko); font-size: clamp(18px, 1.5vw, 21px); letter-spacing: -.02em; color: var(--ink); }
details.more > summary::-webkit-details-marker { display: none; }
details.more > summary::after { content: "+"; font-family: var(--f-serif-en); font-size: 26px; line-height: 1; color: var(--brown); transition: transform .2s; }
details.more[open] > summary::after { transform: rotate(45deg); }
details.more > summary:hover { color: var(--brown); }
details.more > :not(summary) { margin-top: 4px; padding-bottom: 28px; }
details.more .ftable, details.more .frules { margin-top: 8px; }

/* insight leftovers */
.insight__st { display: none; }

/* contacts */
.contacts a { display: inline-flex; align-items: center; gap: 8px; min-height: 24px; color: inherit; text-decoration: none; }
.contacts a:hover { text-decoration: underline; text-underline-offset: 4px; }
.intl { display: grid; gap: 4px; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(251, 248, 243, .16); font-size: 13.5px; line-height: 1.6; color: var(--on-dark-sub); }
.intl a { color: inherit; }
.ftr a { color: inherit; }
.doc a, .kv a { color: var(--brown); text-underline-offset: 3px; }

/* partners */
.ptypes { border-top: 1px solid var(--line-strong); }
.ptypes > li { display: grid; grid-template-columns: minmax(0, .55fr) minmax(0, 1.25fr) minmax(0, .7fr); gap: 12px clamp(28px, 4vw, 64px); padding: clamp(26px, 2.6vw, 36px) 0; border-bottom: 1px solid var(--line); }
.ptypes h3 { font-family: var(--f-serif-ko); font-weight: 400; font-size: clamp(22px, 2vw, 28px); letter-spacing: -.03em; color: var(--ink); }
.ptypes ul { display: grid; gap: 6px; align-content: start; }
.ptypes ul li { font-size: 14.5px; color: var(--sub); }
.ptypes ul li::before { content: "— "; color: var(--latte); }
.doclist { border-top: 1px solid var(--line-strong); }
.doclist li { padding: 15px 0; border-bottom: 1px solid var(--line); font-size: var(--fs-body); color: var(--ink); }
.cf { align-items: start; }
@media (max-width: 900px) {
  .ptypes > li { grid-template-columns: minmax(0, 1fr); }
  .glob__top { grid-template-columns: minmax(0, 1fr); }
}

/* EXECUTIVE 365: three questions */
.qa3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 40px; }
.qa3 li { display: grid; gap: 12px; align-content: start; padding-top: 22px; border-top: 1px solid var(--line-strong); }
.qa3 h3 { font-family: var(--f-serif-ko); font-weight: 400; font-size: var(--fs-h3); letter-spacing: -.025em; }
@media (max-width: 900px) { .qa3 { grid-template-columns: minmax(0, 1fr); } }

/* founder: no placeholder portrait */
.fdr { display: grid; gap: clamp(44px, 5vw, 72px); }
.fdr__q { display: grid; gap: 22px; max-width: 960px; }
.fdr__q p { font-family: var(--f-serif-ko); font-weight: 400; font-size: clamp(26px, 2.9vw, 42px); line-height: 1.42; letter-spacing: -.035em; color: var(--ink); text-wrap: balance; }
.fdr__q footer { font-size: 16px; font-weight: 500; color: var(--ink); }
.fdr__q footer span { margin-left: 8px; font-weight: 400; color: var(--sub); }
.fdr__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.6fr); gap: 32px clamp(40px, 6vw, 96px); padding-top: clamp(32px, 3vw, 44px); border-top: 1px solid var(--line-strong); }
.fdr__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 32px; }
.fdr__cols h3 { margin-bottom: 12px; font-size: 13px; font-weight: 500; letter-spacing: .12em; color: var(--brown); }
.fdr__cols ul { display: grid; gap: 8px; }
.fdr__cols li { font-size: 14.5px; line-height: 1.6; color: var(--body); }
@media (max-width: 1000px) { .fdr__grid, .fdr__cols { grid-template-columns: minmax(0, 1fr); } }

/* EXECUTIVE / GMJ meta row on phones */
@media (max-width: 600px) {
  .pmeta { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; }
  .pmeta > div, .pmeta > div + div { margin: 0; padding: 14px 0 0; border-left: 0; }
}

/* mobile menu: same casing as desktop */
.mnav__links a { font-family: var(--f-ko); font-size: 15px; letter-spacing: .16em; text-transform: uppercase; }
.glob__top { align-items: start; }
.glob__text { align-content: start; }
.glob__text .jband { margin-top: 18px; }
.glob__text .jband h3 { font-size: clamp(24px, 2.1vw, 30px); }
.dossier li span, .itin time { font-variant-numeric: lining-nums tabular-nums; font-feature-settings: "lnum" 1, "tnum" 1; }
@media (max-width: 1100px) { .glob__text .jband { grid-template-columns: minmax(0, 1fr); } .glob__text .jband > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); } }
.hero[data-num]::after { inset: calc(var(--hdr-h) + 24px) max(3vw, 20px) auto auto; font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; font-size: clamp(180px, 22vw, 380px); -webkit-text-stroke: 1px rgba(201, 169, 124, .34); }
@media (max-width: 900px) { .hero[data-num]::after { font-size: 44vw; opacity: .5; } }
.fdr__q { margin: 0; }
@media (max-width: 1180px) {
  .h2o__grid { grid-template-columns: minmax(0, 1fr); min-height: 0; align-items: start; }
  .h2o__art { justify-self: stretch; width: 100%; max-width: 640px; }
  .h2o__arch { aspect-ratio: 4 / 3; background-position: 84% 40%; }
}
@media (max-width: 640px) {
  .sec--statement { padding-block: 96px; }
  .stmt__h br { display: none; }
}
.fdr__cols h3 { color: #5A4232; }
.phero .intl, .sec:not(.cband) .intl { color: var(--sub); border-top-color: var(--line); }
.h2o__fields a { padding-block: 4px; }


/* =====================================================================
   v11 — modern private clinic. Photographs lead; sans type on a light
   ground; square corners; brown only as a quiet accent. (v8–v10 removed)
   ===================================================================== */
:root {
  --f-sans: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
  --f-en: var(--f-sans); --f-ko: var(--f-sans); --f-serif-ko: var(--f-sans); --f-serif-en: var(--f-sans);
  --ivory: #FAF9F7; --paper: #FFFFFF; --sand: #F3F1ED; --sand-deep: #ECE8E2; --linen: #F3F1ED;
  --latte: #B5ADA3; --brown: #6E5A4A; --cocoa: #1E1C1A; --espresso: #171615; --night: #1E1C1A;
  --ink: #171615; --body: #4A4744; --sub: #6A6560; --stone: #6A6560; --notice: #4A4744;
  --line: #E5E1DB; --line-strong: #D2CBC2; --on-dark: #F6F4F1; --on-dark-sub: #BFB8B0;
  --gold: #CDBFAB; --champagne: #8A7764;
  --grain: none; --arch-dark: none; --arch-light: none; --arch-small: none;
  --r-card: 0px; --r-arch: 0px;
  --hdr-h: 80px;
  --sec-y: clamp(72px, 8vw, 120px);
  --fs-body: 16px; --fs-lg: clamp(16px, 1.1vw, 18px);
  --fs-h2: clamp(26px, 2.4vw, 36px); --fs-h3: clamp(18px, 1.35vw, 20px);
  --photo-bg: #DCD6CE;
}
body { font-family: var(--f-sans); background: var(--ivory); color: var(--ink); letter-spacing: -.01em; }
em, i, .eyebrow, .en-it, .drop a span { font-style: normal; }
.logo i { font-style: italic; }
::selection { background: #E8E1D6; }

/* type */
.display, .h1, .h2, .disp, .disp-2, .stmt__h, .intro__h, .en-title, .hero__ko, .netgroup__h, .dossier__t, .ptypes h3, .qa3 h3,
.principle h3, .sub-h h3, .support h3, .gfacts__t, .cband__rt, .macc p b, .fdr__q p, .h3, .why h3, .svc h3, .acc h3, details.more > summary { font-family: var(--f-sans); font-style: normal; }
.h1, .disp { font-weight: 600; font-size: clamp(30px, 3.2vw, 48px); line-height: 1.32; letter-spacing: -.035em; }
.h2, .disp-2, .stmt__h { font-weight: 600; font-size: var(--fs-h2); line-height: 1.38; letter-spacing: -.03em; }
.h3, .why h3, .svc h3, .sub-h h3, .acc h3, .support h3, .ptypes h3, .qa3 h3, .principle h3, .netgroup__h, details.more > summary { font-weight: 600; letter-spacing: -.02em; }
.en-title { font-weight: 600; letter-spacing: -.02em; }
.eyebrow { font-size: 12.5px; font-weight: 600; letter-spacing: .14em; color: var(--brown); }
.eyebrow--light { color: var(--gold); }
.lead { font-size: var(--fs-lg); line-height: 1.8; color: var(--body); }
.cband .lead { color: var(--on-dark-sub); }
.link { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }

/* buttons: one square shape */
.btn, .page .btn, .hdr__cta, .page .hdr .hdr__cta, .hdr.is-solid .hdr__cta, .page.hdr-glass .hdr .hdr__cta { border-radius: 2px !important; }
.btn { min-height: 52px; padding: 0 28px; gap: 10px; font-family: var(--f-sans); font-size: 15px; font-weight: 600; letter-spacing: -.01em; box-shadow: none; }
.btn svg { width: 15px; height: 15px; }
.btn--dark { background: var(--ink); color: #fff; border: 1px solid var(--ink); }
.btn--dark:hover { background: #3B3735; border-color: #3B3735; }
.btn--light, .btn--ivory { background: #fff; color: var(--ink); border: 1px solid #fff; }
.btn--light:hover, .btn--ivory:hover { background: #ECE8E2; border-color: #ECE8E2; }
.btn--ghost { background: transparent; color: var(--ink); border: 1px solid var(--ink); }
.btn--ghost:hover { background: var(--ink); color: #fff; }
.btn--ghost-light, .btn--line { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .75); }
.btn--ghost-light:hover, .btn--line:hover { background: #fff; color: var(--ink); }
.card, .opt, .fact, .stage, .check, .chip, .tag, .itin, .hcard, .macc, .macc a, .tbl-wrap, .mac, .support, .principle, .filters button,
.qcard, .faq details, details.more, .contacts a, .prof, .doc, .netgroup--next, .ph, .mapcard { border-radius: 2px !important; }

/* header: full-width bar; transparent over photographs until scrolled */
.hdr { background: rgba(255, 255, 255, .97); color: var(--ink); box-shadow: 0 1px 0 var(--line); -webkit-backdrop-filter: none; backdrop-filter: none; }
.hdr__wrap { height: var(--hdr-h); padding-top: 0; }
.hdr__in { width: 100%; height: var(--hdr-h); gap: 28px; padding: 0; border-radius: 0; background: none; box-shadow: none; }
.logo { font-size: 30px; }
.nav { gap: clamp(24px, 2.6vw, 46px); }
.nav__link { padding: 29px 0 27px; font-size: 15.5px; font-weight: 500; letter-spacing: -.01em; border-bottom: 2px solid transparent; }
.nav__link svg { display: none; }
.nav__link[aria-current="page"], .nav__link.is-current { border-bottom-color: currentColor; }
.drop { min-width: 280px; padding: 8px 0; transform: translate(-50%, 0); background: #fff; color: var(--ink); border: 0; border-top: 2px solid var(--ink); border-radius: 0 !important; box-shadow: 0 24px 40px -24px rgba(0, 0, 0, .28); }
.drop a { padding: 12px 22px; border-radius: 0 !important; font-size: 15px; font-weight: 500; }
.drop a span { font-family: var(--f-sans); font-size: 12px; font-weight: 500; letter-spacing: .02em; color: var(--sub); }
.drop a:hover { background: var(--sand); }
.hdr__right { gap: 20px; }
.hdr__tel { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 15px; font-weight: 600; text-decoration: none; color: inherit; font-variant-numeric: tabular-nums; }
.hdr__tel svg { width: 17px; height: 17px; }
.hdr__cta, .page .hdr .hdr__cta, .hdr.is-solid .hdr__cta, .page:not(.hdr-light) .hdr__cta { min-height: 44px; padding: 0 22px; background: var(--ink); color: #fff; box-shadow: none; font-size: 14.5px; font-weight: 600; letter-spacing: 0; }
.hdr-glass .hdr:not(.is-solid), .page.hdr-light .hdr:not(.is-solid) { background: linear-gradient(180deg, rgba(8, 7, 6, .42), rgba(8, 7, 6, 0)); box-shadow: none; color: #fff; }
.hdr-glass .hdr:not(.is-solid) .hdr__wrap { height: var(--hdr-h); padding-top: 0; }
.hdr-glass .hdr:not(.is-solid) .hdr__in { height: var(--hdr-h); padding: 0; border-radius: 0; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.page.hdr-glass .hdr:not(.is-solid) .hdr__cta, .page.hdr-light .hdr:not(.is-solid) .hdr__cta { background: #fff; color: var(--ink); box-shadow: none; }
.hdr-glass .hdr:not(.is-solid) .nav__link[aria-current="page"], .hdr-glass .hdr:not(.is-solid) .nav__link.is-current { border-bottom-color: #fff; }
.hdr.is-solid { background: rgba(255, 255, 255, .97); color: var(--ink); box-shadow: 0 1px 0 var(--line); -webkit-backdrop-filter: none; backdrop-filter: none; }
.menu-btn { border-radius: 2px; }
.mnav { background: #fff; }
.mnav__links a { font-family: var(--f-sans); font-size: 18px; font-weight: 500; }
.mnav__grid a { font-size: 16px; }

/* photographs: natural colour, square corners */
.pic { display: block; width: 100%; height: 100%; object-fit: cover; background: var(--photo-bg); filter: none; }

/* ---------- home: main visual ---------- */
.phx { position: relative; isolation: isolate; overflow: hidden; height: max(640px, 100svh); max-height: 1100px; color: #fff; background: #1D1B19; }
.phx__slides { position: absolute; inset: 0; }
.slide { position: absolute; inset: 0; z-index: 0; display: grid; align-items: end; opacity: 0; visibility: hidden; transition: opacity 1.2s ease, visibility 0s linear 1.2s; }
.slide.is-on { z-index: 1; opacity: 1; visibility: visible; transition: opacity 1.2s ease, visibility 0s; }
.slide__pic { position: absolute; inset: 0; z-index: -2; transform: scale(1.06); transition: transform 8s cubic-bezier(.2, .6, .3, 1); }
.slide.is-on .slide__pic { transform: scale(1); }
.slide__veil { position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg, rgba(10, 9, 8, .58) 0%, rgba(10, 9, 8, .3) 46%, rgba(10, 9, 8, 0) 76%), linear-gradient(0deg, rgba(10, 9, 8, .5) 0%, rgba(10, 9, 8, 0) 46%); }
.slide__in { display: grid; justify-items: start; gap: 18px; padding-top: calc(var(--hdr-h) + 40px); padding-bottom: clamp(150px, 19vh, 200px); }
.slide__label { font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .85); }
.slide__t { max-width: 15em; font-size: clamp(36px, 4.5vw, 66px); font-weight: 600; line-height: 1.24; letter-spacing: -.04em; text-wrap: balance; }
.slide__d { max-width: 33em; font-size: clamp(16px, 1.15vw, 18px); line-height: 1.75; color: rgba(255, 255, 255, .9); }
.slide__act { margin-top: 10px; }
.slide.is-on .slide__label, .slide.is-on .slide__t, .slide.is-on .slide__d, .slide.is-on .slide__act { animation: rise .9s cubic-bezier(.2, .7, .2, 1) both; }
.slide.is-on .slide__t { animation-delay: .08s; }
.slide.is-on .slide__d { animation-delay: .16s; }
.slide.is-on .slide__act { animation-delay: .24s; }
.phx__ctrl { position: absolute; z-index: 2; left: 0; right: 0; bottom: 92px; display: flex; align-items: center; gap: 14px; color: #fff; }
.phx__count { min-width: 64px; font-size: 14px; font-weight: 600; letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.phx__count span { opacity: .65; font-weight: 500; }
.phx__bar { position: relative; width: clamp(80px, 12vw, 180px); height: 2px; margin-right: 6px; overflow: hidden; background: rgba(255, 255, 255, .3); }
.phx__bar i { position: absolute; inset: 0; background: #fff; transform: scaleX(0); transform-origin: left center; }
.phx__bar i.run { animation: phxbar 6.5s linear forwards; }
.phx.is-paused .phx__bar i { animation-play-state: paused; }
@keyframes phxbar { to { transform: scaleX(1); } }
.phx__btn { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, .45); border-radius: 2px; color: #fff; transition: background .2s, color .2s; }
.phx__btn:hover { background: #fff; color: var(--ink); }
.phx__btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.phx__btn:focus-visible, .qmenu__list a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* quick menu */
.qmenu { position: relative; z-index: 3; }
.qmenu__list { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: -56px; background: #fff; box-shadow: 0 24px 48px -28px rgba(20, 18, 16, .35); }
.qmenu__list li + li { border-left: 1px solid var(--line); }
.qmenu__list a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; height: 128px; padding: 16px 8px; color: var(--ink); font-size: 15px; font-weight: 600; text-align: center; text-decoration: none; transition: background .2s, color .2s; }
.qmenu__list a:hover { background: var(--ink); color: #fff; }
.qmenu__list svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }

/* home sections */
.hsec { padding-block: clamp(80px, 8vw, 128px); }
.hsec--tight { padding-top: 0; }
.shd { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: clamp(28px, 3vw, 44px); }
.shd__label { margin-bottom: 10px; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--brown); }
.shd__t { font-size: var(--fs-h2); font-weight: 600; line-height: 1.3; letter-spacing: -.035em; color: var(--ink); }
.shd__more { flex: none; display: inline-flex; align-items: center; min-height: 44px; font-size: 14.5px; font-weight: 600; color: var(--ink); text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }
.tiles { display: grid; gap: clamp(36px, 3vw, 52px) clamp(16px, 1.6vw, 24px); }
.tiles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tiles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tile { display: grid; align-content: start; gap: 6px; color: var(--ink); text-decoration: none; }
.tile__pic { position: relative; aspect-ratio: 4 / 3; overflow: hidden; margin-bottom: 14px; background: var(--photo-bg); }
.tiles--4 .tile__pic { aspect-ratio: 3 / 4; }
.tile .pic, .mcard--pic .pic, .clist__row .pic { transition: transform 1s cubic-bezier(.2, .7, .2, 1); }
.tile:hover .pic, .mcard--pic:hover .pic, .clist__row:hover .pic { transform: scale(1.04); }
.tile__en { font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--brown); }
.tile__t { font-size: clamp(20px, 1.6vw, 24px); font-weight: 600; letter-spacing: -.03em; }
.tile__d { font-size: 15px; line-height: 1.6; color: var(--body); }
.tile__tag { position: absolute; left: 0; top: 0; padding: 8px 12px; background: #fff; font-size: 13px; font-weight: 600; color: var(--ink); }
.hnote { margin-top: clamp(36px, 3.4vw, 52px); padding-top: 22px; border-top: 1px solid var(--line); font-size: 15px; line-height: 1.7; color: var(--body); }
.hnote span { margin-right: 14px; font-weight: 600; color: var(--ink); }
.hnote a { font-weight: 600; color: var(--ink); text-underline-offset: 5px; }
.flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.flow li { display: grid; align-content: start; gap: 10px; padding: 28px 28px 8px 0; }
.flow li + li { padding-left: 28px; border-left: 1px solid var(--line-strong); }
.flow__no { font-size: 14px; font-weight: 600; color: var(--brown); font-variant-numeric: tabular-nums; }
.flow h3 { font-size: var(--fs-h3); font-weight: 600; letter-spacing: -.02em; }
.flow p { font-size: 15px; line-height: 1.7; color: var(--body); }
.net2 { background: #fff; }
.net2__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(36px, 5vw, 88px); align-items: center; }
.net2__txt { display: grid; gap: 22px; min-width: 0; }
.net2__txt .shd, .intl2__txt .shd, .contact2__txt .shd { margin-bottom: 0; }
.net2__d, .intl2__d, .contact2__d { max-width: 34em; font-size: var(--fs-lg); line-height: 1.8; color: var(--body); }
.intl2__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(36px, 5vw, 96px); align-items: center; }
.intl2__pic { aspect-ratio: 5 / 4; overflow: hidden; background: #2A2826; }
.intl2__txt { display: grid; gap: 22px; min-width: 0; }
.intl2__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); }
.intl2__list li { padding: 16px 16px 16px 0; border-bottom: 1px solid var(--line); font-size: 15.5px; font-weight: 500; }
.intl2__en, .contact2__en { font-size: 14.5px; color: var(--sub); }
.intl2__en a, .contact2__en a { color: var(--ink); }
.pline { background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pline__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 32px; padding-block: 26px; }
.pline p { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; font-size: 15.5px; color: var(--body); }
.pline b { font-weight: 600; color: var(--ink); }
.contact2 { background: var(--sand); }
.contact2__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 5vw, 96px); align-items: center; }
.contact2__txt { display: grid; gap: 22px; min-width: 0; }
.contact2__lines { display: grid; gap: 4px; }
.contact2__lines a { font-size: 16px; color: var(--ink); text-decoration: none; }
.contact2__lines a.contact2__tel { font-size: clamp(28px, 2.6vw, 38px); font-weight: 600; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.contact2__act { display: flex; flex-wrap: wrap; gap: 10px; }
.contact2__pic { aspect-ratio: 1 / 1; overflow: hidden; background: var(--photo-bg); }

/* network map: calm, neutral */
/* the map keeps its warm light and motion: arrivals into ICN, pulsing hubs, the expansion wave */
.mapcard, .netx .mapcard, .map.mapcard { position: relative; padding: clamp(14px, 2vw, 28px); background: radial-gradient(110% 80% at 62% 30%, #3B2A1F 0%, #261B14 58%, #1D150F 100%); box-shadow: none; }
.atmap .dw { fill: none; stroke: #FBEACB; stroke-opacity: .95; stroke-width: 2.9; stroke-linecap: round; }
.atmap__note { position: absolute; left: clamp(14px, 2.4%, 28px); bottom: clamp(14px, 3%, 30px); display: grid; gap: 2px; max-width: 46%; pointer-events: none; }
.atmap__note em { font-size: 11.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #E3C394; }
.atmap__note span { font-size: 13px; line-height: 1.5; color: rgba(246, 244, 241, .82); }
.hubs__next { opacity: 1 !important; }
.hubs__next b { color: var(--brown); }
.netgroup--next { padding: 26px 28px; border: 1px dashed var(--line-strong); }
.netgroup--next .netgroup__h { border-bottom: 0; padding-bottom: 0; }
.netgroup--next .body { max-width: 52em; }
.filters button { font-family: var(--f-sans); }
.filters button[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }

/* sub-page heroes: one photograph, Korean title first */
.hero--photo { background: #1D1B19; color: #fff; }
.hero--photo .hero__pic { position: absolute; inset: 0; z-index: -2; }
.hero.hero--photo::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 1; font-size: inherit; -webkit-text-stroke: 0;
  background: linear-gradient(90deg, rgba(10, 9, 8, .64) 0%, rgba(10, 9, 8, .36) 48%, rgba(10, 9, 8, .06) 80%), linear-gradient(0deg, rgba(10, 9, 8, .45) 0%, rgba(10, 9, 8, 0) 45%), linear-gradient(180deg, rgba(10, 9, 8, .35) 0%, rgba(10, 9, 8, 0) 22%); }
.hero__in { gap: 16px; }
.hero .crumb { font-size: 13px; letter-spacing: .02em; color: rgba(255, 255, 255, .78); }
.hero__label { margin-top: 14px; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .85); }
.hero__title { font-size: clamp(38px, 4.6vw, 68px); font-weight: 600; line-height: 1.15; letter-spacing: -.04em; }
.hero__sub { max-width: 24em; font-size: clamp(19px, 1.7vw, 25px); font-weight: 500; line-height: 1.45; letter-spacing: -.03em; color: #fff; text-wrap: balance; }
.hero__row { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 24px 48px; margin-top: 4px; }
.hero__body { max-width: 560px; font-size: 16px; line-height: 1.8; color: rgba(255, 255, 255, .88); }
.phero { background: var(--ivory); border-bottom: 1px solid var(--line); }
.phero .crumb { letter-spacing: .02em; }
.phero__pic { aspect-ratio: 5 / 4; overflow: hidden; background: var(--photo-bg); }
.phero__art:has(.phero__pic) { width: min(100%, 520px); }
.mcard--pic { padding: 0; border: 0; background: none; }
.mcard__pic { aspect-ratio: 4 / 3; overflow: hidden; background: var(--photo-bg); }
.mcard--pic .mcard__txt { padding: 20px 0 8px; gap: 6px; }
.mcard__en, .clist__en { font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--brown); }
.mcard__t { font-size: clamp(20px, 1.6vw, 24px); font-weight: 600; letter-spacing: -.03em; color: var(--ink); }
.clist a.clist__row { grid-template-columns: 240px minmax(0, 1fr) auto; gap: 8px clamp(24px, 3vw, 48px); align-items: center; padding: 24px 0; }
.clist__pic { aspect-ratio: 4 / 3; overflow: hidden; background: var(--photo-bg); }
.clist__t { margin-top: 4px; font-size: clamp(22px, 2vw, 30px); font-weight: 600; letter-spacing: -.03em; color: var(--ink); }
.subnav { background: rgba(255, 255, 255, .97); }
.subnav a { font-size: 14.5px; font-weight: 500; }

/* footer */
.ftr { background: #171615; color: var(--on-dark-sub); }
.ftr .logo { color: #fff; }
.ftr__tag { font-size: 15px; color: var(--on-dark); }
.ftr__contact { display: grid; gap: 4px; margin-top: 18px; }
.ftr__contact a { font-size: 15px; color: #fff; }
.ftr h2 { font-family: var(--f-sans); font-size: 13px; font-weight: 600; letter-spacing: .04em; color: #fff; }
.ftr ul a, .ftr__legal a { color: var(--on-dark-sub); }
.ftr a:hover { color: #fff; }

/* consult buttons that stay on screen */
.fab { position: fixed; z-index: 40; right: 24px; bottom: 24px; display: grid; gap: 8px; }
.fab__btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 72px; height: 72px; border: 1px solid var(--line); border-radius: 2px; background: #fff; color: var(--ink); font-size: 12px; font-weight: 600; text-decoration: none; box-shadow: 0 12px 28px -16px rgba(0, 0, 0, .35); cursor: pointer; transition: background .2s, opacity .2s, visibility .2s; }
.fab__btn svg, .mbar svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.fab__btn:hover { background: var(--sand); }
.fab__btn--main { background: var(--ink); color: #fff; border-color: var(--ink); }
.fab__btn--main:hover { background: #3B3735; }
.fab__top { opacity: 0; visibility: hidden; }
.fab.is-scrolled .fab__top { opacity: 1; visibility: visible; }
.mbar { display: none; }

@media (max-width: 1280px) {
  .hdr__tel span { display: none; }
  .hdr__tel { justify-content: center; width: 44px; }
}
@media (max-width: 1100px) {
  .tiles--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qmenu__list { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; box-shadow: none; border-bottom: 1px solid var(--line); }
  .qmenu__list li:nth-child(4) { border-left: 0; }
  .qmenu__list li:nth-child(n+4) { border-top: 1px solid var(--line); }
  .qmenu__list a { height: 104px; }
  .flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .flow li:nth-child(3) { padding-left: 0; border-left: 0; }
  .flow li:nth-child(n+3) { border-top: 1px solid var(--line); }
  .phx__ctrl { bottom: 36px; }
  .slide__in { padding-bottom: 116px; }
}
@media (max-width: 900px) {
  .tiles--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .net2__grid, .intl2__grid, .contact2__grid { grid-template-columns: minmax(0, 1fr); }
  .intl2__pic, .contact2__pic { aspect-ratio: 16 / 10; }
  .phero__art:has(.phero__pic) { display: block; justify-self: stretch; width: 100%; }
  .phero__pic { aspect-ratio: 16 / 10; }
  .clist a.clist__row { grid-template-columns: 160px minmax(0, 1fr); }
  .clist a.clist__row .clist__meta { grid-column: 2; text-align: left; padding-top: 0; }
}
@media (max-width: 760px) {
  .slide__veil { background: linear-gradient(180deg, rgba(10, 9, 8, .4) 0%, rgba(10, 9, 8, .18) 34%, rgba(10, 9, 8, .74) 100%); }
  .hero.hero--photo::after { background: linear-gradient(180deg, rgba(10, 9, 8, .5) 0%, rgba(10, 9, 8, .4) 40%, rgba(10, 9, 8, .8) 100%); }
  .fab { display: none; }
  .mbar { position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr 1fr; padding-bottom: env(safe-area-inset-bottom, 0px); background: #fff; box-shadow: 0 -1px 0 var(--line); }
  .mbar a { display: flex; align-items: center; justify-content: center; gap: 8px; height: 56px; font-size: 15px; font-weight: 600; color: var(--ink); text-decoration: none; }
  .mbar a.mbar__main { background: var(--ink); color: #fff; }
  body { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 600px) {
  .tiles--3, .tiles--4 { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter); scrollbar-width: none; }
  .tiles--3::-webkit-scrollbar, .tiles--4::-webkit-scrollbar { display: none; }
  .tile { flex: 0 0 78%; scroll-snap-align: start; }
  .qmenu__list a { height: 92px; gap: 8px; font-size: 14px; }
  .qmenu__list svg { width: 24px; height: 24px; }
  .flow { grid-template-columns: minmax(0, 1fr); }
  .flow li, .flow li + li, .flow li:nth-child(3) { padding: 20px 0; border-left: 0; }
  .flow li + li { border-top: 1px solid var(--line); }
  .phx { height: max(560px, 86svh); }
  .slide__t { font-size: clamp(30px, 8.4vw, 38px); }
  .slide__in { padding-bottom: 96px; gap: 14px; }
  .phx__ctrl { bottom: 26px; gap: 10px; }
  .phx__bar { width: 56px; }
  .intl2__list { grid-template-columns: minmax(0, 1fr); }
  .hero__title { font-size: clamp(32px, 9vw, 40px); }
  .clist a.clist__row { grid-template-columns: minmax(0, 1fr); }
  .clist a.clist__row .clist__meta { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .slide, .slide__pic, .tile .pic, .mcard--pic .pic, .clist__row .pic { transition: none; transform: none; }
  .slide.is-on .slide__label, .slide.is-on .slide__t, .slide.is-on .slide__d, .slide.is-on .slide__act { animation: none; }
  .phx__bar i.run { animation: none; }
}
.crumb a { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; min-height: 28px; }

/* ---------- field pages: what you can have done, how, where (never which) ---------- */
.msec { padding-block: clamp(72px, 7vw, 112px); }
.msec .shd { margin-bottom: clamp(24px, 2.6vw, 36px); }
.svcs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(20px, 2.4vw, 36px); }
.svcs--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.svcs li { display: grid; align-content: start; gap: 8px; padding: 24px 0 28px; border-top: 1px solid var(--line-strong); }
.svcs h3 { font-size: var(--fs-h3); font-weight: 600; letter-spacing: -.02em; color: var(--ink); }
.svcs p { font-size: 15px; line-height: 1.7; color: var(--body); }
.msec__note { margin-top: 20px; font-size: 14.5px; color: var(--sub); }
.ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ways li { display: grid; align-content: start; gap: 10px; padding: 28px; background: #fff; }
.ways__no { font-size: 14px; font-weight: 600; color: var(--brown); font-variant-numeric: tabular-nums; }
.ways h3 { font-size: var(--fs-h3); font-weight: 600; letter-spacing: -.02em; }
.ways p { font-size: 15px; line-height: 1.7; color: var(--body); }
.ptn { border-top: 1px solid var(--ink); }
.ptn li { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 8px 32px; align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--line); }
.ptn h3 { font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
.ptn p { font-size: 15.5px; color: var(--body); }
.mfaq { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(36px, 5vw, 88px); align-items: start; }
.mmore { border-top: 1px solid var(--ink); }
.mmore details.more { border-bottom: 1px solid var(--line); }
.mmore details.more > summary { padding: 20px 0; font-size: 17px; font-weight: 600; }
.mmore details.more[open] { padding-bottom: 20px; }
@media (max-width: 1100px) {
  .svcs--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mfaq { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .svcs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ways { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .svcs, .svcs--4 { grid-template-columns: minmax(0, 1fr); }
  .svcs li { padding: 18px 0 20px; }
  .ptn li { grid-template-columns: minmax(0, 1fr); }
}
.svcs__sub { display: grid; gap: 4px; margin-top: 6px; }
.svcs__sub li { position: relative; padding: 0 0 0 14px; border: 0; font-size: 14.5px; line-height: 1.6; color: var(--body); }
.svcs__sub li::before { content: ""; position: absolute; left: 0; top: .72em; width: 6px; height: 1px; background: var(--brown); }
.guide { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(28px, 4vw, 64px); }
.guide__col { padding: 24px 0 28px; border-top: 1px solid var(--line-strong); }
.guide__col h3 { margin-bottom: 12px; font-size: var(--fs-h3); font-weight: 600; letter-spacing: -.02em; }
.guide__col ul { display: grid; gap: 8px; }
.guide__col li { position: relative; padding-left: 16px; font-size: 15px; line-height: 1.7; color: var(--body); }
.guide__col li::before { content: ""; position: absolute; left: 0; top: .78em; width: 6px; height: 6px; border-radius: 50%; background: var(--latte); }
@media (max-width: 760px) { .guide { grid-template-columns: minmax(0, 1fr); } }

/* =====================================================================
   v12 — brown concierge. Cream ground, brown for everything a person
   touches (buttons, labels, the appointment card), deep brown footer.
   No serif headings, no gold on light grounds, no sepia, no glow.
   ===================================================================== */
:root {
  --ivory: #FAF7F2; --paper: #FFFFFF; --sand: #F3ECE3; --linen: #F3ECE3; --sand-deep: #EFE7DC;
  --band: #EFE7DC; --photo-bg: #E6DACB; --latte: #C9B39A;
  --line: #E6DDD1; --line-strong: #D3C5B4;
  --ink: #2B211B; --body: #54473E; --sub: #6F6156; --stone: #6F6156; --notice: #54473E;
  --brown: #74533D; --brown-deep: #5E4332;
  --cocoa: #3B2B21; --espresso: #2A1E17; --night: #2A1E17;
  --on-dark: #F7F1E9; --on-dark-sub: #C9B9A7;
  --brass: #C2A47E; --gold: #C2A47E; --champagne: #74533D;
  --veil: 36, 25, 18; --r-ctl: 4px; --r-panel: 6px;
}
body { background: var(--ivory); color: var(--ink); }
::selection { background: #E9DCCB; }

/* buttons */
.btn, .page .btn, .hdr__cta, .page .hdr .hdr__cta, .hdr.is-solid .hdr__cta, .page.hdr-glass .hdr .hdr__cta { border-radius: var(--r-ctl) !important; }
.btn { transition-property: background-color, border-color, color, transform; transition-duration: .2s; transition-timing-function: ease-out; }
.btn:active, .hdr__cta:active, .fab__btn:active { transform: scale(.98); }
.btn--dark { background: var(--brown); border-color: var(--brown); color: #fff; }
.btn--dark:hover { background: var(--brown-deep); border-color: var(--brown-deep); }
.btn--ghost { color: var(--brown-deep); border-color: var(--brown); }
.btn--ghost:hover { background: var(--sand); color: var(--brown-deep); }
.btn--light, .btn--ivory { background: var(--ivory); border-color: var(--ivory); color: var(--brown-deep); }
.btn--light:hover, .btn--ivory:hover { background: #fff; border-color: #fff; }
.btn--ghost-light:hover, .btn--line:hover { background: rgba(255, 255, 255, .14); color: #fff; }

/* header */
.hdr, .hdr.is-solid { background: rgba(250, 247, 242, .96); box-shadow: 0 1px 0 var(--line); }
.hdr .logo { color: var(--brown-deep); }
.hdr-glass .hdr:not(.is-solid) .logo, .page.hdr-light .hdr:not(.is-solid) .logo { color: #fff; }
.hdr-glass .hdr:not(.is-solid), .page.hdr-light .hdr:not(.is-solid) { background: linear-gradient(180deg, rgba(var(--veil), .45), rgba(var(--veil), 0)); box-shadow: none; }
.nav__link[aria-current="page"], .nav__link.is-current { border-bottom-color: var(--brown); }
.hdr-glass .hdr:not(.is-solid) .nav__link[aria-current="page"], .hdr-glass .hdr:not(.is-solid) .nav__link.is-current { border-bottom-color: #fff; }
.hdr__cta, .page .hdr .hdr__cta, .hdr.is-solid .hdr__cta, .page:not(.hdr-light) .hdr__cta { background: var(--brown); color: #fff; }
.page .hdr .hdr__cta:hover { background: var(--brown-deep); }
.page.hdr-glass .hdr:not(.is-solid) .hdr__cta, .page.hdr-light .hdr:not(.is-solid) .hdr__cta { background: var(--ivory); color: var(--brown-deep); }
.page.hdr-glass .hdr:not(.is-solid) .hdr__cta:hover { background: #fff; }
.hdr.is-solid .hdr__tel, .page:not(.hdr-glass) .hdr__tel { color: var(--brown-deep); }
.drop { border-top-color: var(--brown); }
.drop a:hover { color: var(--brown-deep); }
.mnav { background: var(--ivory); }

/* hero tint: warm, never black */
.phx, .hero--photo { background: var(--cocoa); }
.slide__veil { background: linear-gradient(90deg, rgba(var(--veil), .56) 0%, rgba(var(--veil), .28) 46%, rgba(var(--veil), 0) 76%), linear-gradient(0deg, rgba(var(--veil), .44) 0%, rgba(var(--veil), 0) 46%); }
.hero.hero--photo::after { background: linear-gradient(90deg, rgba(var(--veil), .62) 0%, rgba(var(--veil), .34) 48%, rgba(var(--veil), .05) 80%), linear-gradient(0deg, rgba(var(--veil), .42) 0%, rgba(var(--veil), 0) 45%), linear-gradient(180deg, rgba(var(--veil), .32) 0%, rgba(var(--veil), 0) 22%); }
.slide__t, .hero__title { font-weight: 500; letter-spacing: -.035em; }

/* quick menu */
.qmenu__list { border-radius: var(--r-panel); overflow: hidden; box-shadow: 0 1px 0 var(--line), 0 28px 48px -32px rgba(58, 40, 28, .38); }
.qmenu__list svg { color: var(--brown); }
.qmenu__list a { transition-property: background-color, box-shadow; }
.qmenu__list a:hover { background: var(--sand); color: var(--ink); box-shadow: inset 0 -2px 0 var(--brown); }

/* cards, lines, numerals */
.flow, .ptn, .mmore { border-top-color: var(--brown); }
.flow__no, .ways__no { font-family: var(--f-logo); font-size: 32px; font-weight: 500; line-height: 1; letter-spacing: 0; color: var(--brown); font-variant-numeric: lining-nums tabular-nums; font-feature-settings: "lnum" 1, "tnum" 1; }
.ways__no { font-size: 28px; }
.ways li { border: 1px solid var(--line); border-radius: var(--r-panel); }
.map.mapcard, .netx .mapcard, .mapcard { border-radius: var(--r-panel) !important; overflow: hidden; }
.filters button[aria-pressed="true"] { background: var(--brown); border-color: var(--brown); }
.tile__pic, .mcard__pic, .clist__pic, .intl2__pic, .phero__pic { border-radius: var(--r-ctl); }
:is(.tile__pic, .mcard__pic, .clist__pic, .intl2__pic, .phero__pic) .pic { outline: 1px solid rgba(0, 0, 0, .06); outline-offset: -1px; }
.tile__tag { left: 12px; top: 12px; padding: 7px 11px; border-radius: 2px; background: rgba(250, 247, 242, .94); color: var(--brown-deep); }
.tile__t { transition: color .2s ease-out; }
.tile:hover .tile__t { color: var(--brown-deep); }
.shd__more:hover, .link:hover { color: var(--brown); }
.shd__t { text-wrap: balance; }
.tile__d, .flow p, .ways p, .svcs p { text-wrap: pretty; }
.svcs li { border-top-color: var(--line-strong); }

/* the appointment card: the one concierge detail */
.appt { position: relative; display: grid; gap: 14px; align-content: start; padding: clamp(26px, 2.8vw, 40px); background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-panel); box-shadow: 0 32px 64px -44px rgba(58, 40, 28, .4); }
.appt::before { content: ""; position: absolute; inset: 6px; border: 1px solid var(--line); border-radius: 3px; pointer-events: none; }
.appt > * { position: relative; }
.appt__label { font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--brown); }
.appt__t { font-size: clamp(22px, 1.9vw, 27px); font-weight: 600; letter-spacing: -.03em; color: var(--ink); }
.appt__dl { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 10px 16px; margin: 6px 0 4px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 14.5px; line-height: 1.6; }
.appt__dl dt { font-weight: 600; color: var(--brown-deep); }
.appt__dl dd { margin: 0; color: var(--body); }
.appt .btn { width: 100%; }
.appt__form { margin-top: -6px; font-size: 12.5px; color: var(--sub); text-align: center; }
.appt__lines { display: grid; gap: 2px; }
.appt__lines a { font-size: 15px; font-weight: 600; color: var(--ink); text-decoration: none; font-variant-numeric: tabular-nums; }
.appt__lines a:hover { color: var(--brown); }
.appt__intl { font-size: 13px; line-height: 1.6; color: var(--sub); }
.appt__intl a { color: var(--brown-deep); }

/* consult bands: light and warm, no more black slabs */
.contact2, .cband { background: var(--band); color: var(--ink); }
.cband__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 460px); align-items: start; }
.cband__main { display: grid; gap: 20px; align-content: start; }
.cband__label { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--brown); }
.cband .h1 { font-size: var(--fs-h2) !important; color: var(--ink); }
.cband .lead { color: var(--body); }
.cband__why { display: grid; gap: 10px; max-width: 560px; margin-top: 6px; }
.cband .cband__rt { color: var(--ink); font-size: 16px; font-weight: 600; }
.cband .plist li { border-bottom-color: var(--line-strong); color: var(--body); }
.cband .plist svg { color: var(--brown); }
.contact2__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 460px); align-items: start; }
.contact2__notes { display: grid; gap: 8px; }
.contact2__notes li { position: relative; padding-left: 18px; font-size: 15.5px; color: var(--body); }
.contact2__notes li::before { content: ""; position: absolute; left: 0; top: .8em; width: 8px; height: 1px; background: var(--brown); }

/* footer */
.ftr { background: var(--espresso); color: var(--on-dark-sub); }
.ftr .logo { color: var(--on-dark); }
.ftr__tag { font-size: 16px; color: var(--on-dark); }
.ftr__sub { margin-top: 2px; font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--brass); }
.ftr__top { border-bottom-color: rgba(194, 164, 126, .24); }
.ftr h2 { color: var(--brass); letter-spacing: .06em; }

/* buttons that stay on screen */
.fab__btn { border-radius: var(--r-ctl); background: var(--paper); color: var(--brown-deep); box-shadow: 0 14px 30px -18px rgba(58, 40, 28, .45); transition-property: background-color, color, opacity, visibility; }
.fab__btn:hover { background: var(--sand); }
.fab__btn--main { background: var(--brown); border-color: var(--brown); color: #fff; }
.fab__btn--main:hover { background: var(--brown-deep); }

@media (max-width: 1100px) {
  .qmenu__list { border-radius: 0; box-shadow: none; }
}
@media (max-width: 900px) {
  .cband__grid, .contact2__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .slide__veil { background: linear-gradient(180deg, rgba(var(--veil), .4) 0%, rgba(var(--veil), .16) 34%, rgba(var(--veil), .72) 100%); }
  .hero.hero--photo::after { background: linear-gradient(180deg, rgba(var(--veil), .5) 0%, rgba(var(--veil), .38) 40%, rgba(var(--veil), .78) 100%); }
  .mbar { background: var(--ivory); }
  .mbar a { color: var(--brown-deep); }
  .mbar a.mbar__main { background: var(--brown); color: #fff; }
}
@media (max-width: 600px) {
  .appt__dl { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .appt__dl dd { margin-bottom: 8px; }
}
/* partner page band (its own side panel) on the light band */
.cband .cband__side { position: relative; display: grid; gap: 12px; align-content: start; padding: clamp(26px, 2.8vw, 40px); background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-panel); box-shadow: 0 32px 64px -44px rgba(58, 40, 28, .4); }
.cband .cband__side .btn--light { background: var(--brown); border-color: var(--brown); color: #fff; }
.cband .cband__side .btn--light:hover { background: var(--brown-deep); border-color: var(--brown-deep); }
.cband .cband__side .btn--ghost-light { background: transparent; border: 1px solid var(--brown); color: var(--brown-deep); }
.cband .cband__side .btn--ghost-light:hover { background: var(--sand); }
.cband .contacts a, .cband .intl, .cband .intl a { color: var(--ink); }
.cband .intl { color: var(--sub); border-top-color: var(--line); }
/* care programme pages */
.ways--who { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.ways--who h3 { font-size: var(--fs-h3); }
.svcs--steps > li { gap: 6px; }
.svcs--steps .ways__no { margin-bottom: 4px; }
.svcs__en { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--brown); }
.ptn__fit { display: block; margin-top: 4px; font-size: 14px; color: var(--sub); }
.ojourney { display: grid; gap: 12px; margin-top: 32px; }
.ojourney h3 { font-size: 17px; font-weight: 600; }
.ojourney ul { display: flex; flex-wrap: wrap; gap: 8px; }
.ojourney li { padding: 8px 14px; border: 1px solid var(--line-strong); border-radius: var(--r-ctl); background: var(--paper); font-size: 14.5px; }
.pline__links { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.pline__links a { font-size: 15px; font-weight: 600; color: var(--brown-deep); text-underline-offset: 5px; }
.facts-dark { background: var(--espresso); }

/* ---------- v13 · ECC review pass (service-first detail pages, calmer CTAs) ---------- */
/* quick menu: four destinations (consult and call live in the header and floating buttons) */
.qmenu__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) {
  .qmenu__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qmenu__list li:nth-child(4) { border-left: 1px solid var(--line); }
  .qmenu__list li:nth-child(3) { border-left: 0; }
  .qmenu__list li:nth-child(n+3) { border-top: 1px solid var(--line); }
  .qmenu__list li:nth-child(4) { border-top: 1px solid var(--line); }
}
/* why atInc (home) */
.hwhy .ways li { padding-top: 4px; }
.hwhy__k { margin: 2px 0 6px; font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--brown); }
.hwhy__line { margin-top: clamp(24px, 2.6vw, 36px); padding-top: 20px; border-top: 1px solid var(--line); font-size: clamp(17px, 1.4vw, 19px); font-weight: 600; letter-spacing: -.02em; color: var(--ink); }
/* section lead under a Korean-only heading */
.shd__lead { margin-top: 10px; max-width: 60ch; font-size: 15.5px; line-height: 1.7; color: var(--body); }
/* foldable lists: open on desktop, folded on phones (site.js removes [open]) */
details.fold > summary { display: block; list-style: none; cursor: default; }
details.fold > summary::-webkit-details-marker { display: none; }
details.fold > summary > * { margin: 0; }
details.fold > summary h3 + p { margin-top: 4px; }
@media (min-width: 701px) { details.fold > summary { pointer-events: none; } }
@media (max-width: 700px) {
  details.fold > summary { position: relative; padding-right: 28px; cursor: pointer; }
  details.fold > summary::after { content: ""; position: absolute; right: 4px; top: 6px; width: 8px; height: 8px; border-right: 1.5px solid var(--brown); border-bottom: 1.5px solid var(--brown); transform: rotate(45deg); transition: transform .2s; }
  details.fold[open] > summary::after { transform: rotate(-135deg); top: 10px; }
  .guide__col details.fold > summary h3 { margin: 0; }
  .svcs--steps details.fold > summary { display: grid; gap: 4px; }
}
/* appointment card: single frame, no doubled label */
.appt::before { content: none; }
/* "more" accordions: one rule between items */
.mmore details.more { margin-top: 0; border-top: 0; }
/* labels with Korean text read better without wide tracking */
.slide__label { letter-spacing: .08em; }
/* floating buttons: only on wide screens, and only after the first screen */
.fab { opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
.fab.is-scrolled { opacity: 1; visibility: visible; }
@media (max-width: 1439px) { .fab { display: none; } }
/* detail heroes: the action sits right under the text it belongs to */
.hero__row { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 22px; }
/* why atInc runs straight into the medical tiles */
.hwhy { padding-bottom: clamp(24px, 3vw, 40px); }
.hwhy + .hsec { padding-top: clamp(56px, 6vw, 96px); }
/* network: one card per province, every service note kept */
.hcard__notes { display: grid; gap: 8px; margin-top: 14px; }
.hcard__notes li { position: relative; padding-left: 14px; font-size: 15px; line-height: 1.65; color: var(--body); }
.hcard__notes li::before { content: ""; position: absolute; left: 0; top: .78em; width: 6px; height: 1px; background: var(--brown); }
@media (max-width: 900px) { .net__grid .map { order: 0; } }
.msec--rule { border-top: 1px solid var(--line); }

/* ---------- v14 · motion pass: cut transitions, scroll reveals, parallax, marquee ---------- */
/* headline lines rise from behind a mask on every slide change */
.slide__t .ln { display: block; overflow: hidden; padding-bottom: .06em; margin-bottom: -.06em; }
.slide__t .ln > span { display: block; }
.slide.is-on .slide__t { animation: none; }
.slide.is-on .slide__t .ln > span { animation: lnUp 1.15s cubic-bezier(.2, .75, .1, 1) both; }
.slide.is-on .slide__t .ln:nth-child(2) > span { animation-delay: .12s; }
.slide.is-on .slide__t .ln:nth-child(3) > span { animation-delay: .24s; }
.slide.is-on .slide__d { animation-delay: .36s; }
.slide.is-on .slide__act { animation-delay: .46s; }
@keyframes lnUp { from { transform: translateY(108%); } to { transform: none; } }
/* a slow push-in on the photo of the slide that is on */
.slide__pic { transform: scale(1.12); transition: transform 9s cubic-bezier(.15, .6, .25, 1); }
.slide.is-on .slide__pic { transform: scale(1.02); }

/* scroll reveal: site.js adds .rv to <html> and [data-rv] to blocks, then .is-in when they enter */
.rv [data-rv] { opacity: 0; transform: translateY(32px); transition: opacity .9s ease, transform 1.1s cubic-bezier(.2, .7, .1, 1); transition-delay: calc(var(--d, 0) * 90ms); }
.rv [data-rv].is-in { opacity: 1; transform: none; }
/* photos open like a curtain and settle */
.rv [data-rv] .tile__pic, .rv [data-rv].intl2__pic img, .rv [data-rv].phero__pic img, .rv [data-rv] .mcard__pic, .rv [data-rv] .clist__pic { clip-path: inset(0 0 100% 0); transition: clip-path 1.3s cubic-bezier(.2, .7, .1, 1); transition-delay: calc(var(--d, 0) * 90ms + 120ms); }
.rv [data-rv].is-in .tile__pic, .rv [data-rv].is-in.intl2__pic img, .rv [data-rv].is-in.phero__pic img, .rv [data-rv].is-in .mcard__pic, .rv [data-rv].is-in .clist__pic { clip-path: inset(0 0 0 0); }
.rv [data-rv] .tile__pic img, .rv [data-rv].intl2__pic img, .rv [data-rv].phero__pic img, .rv [data-rv] .mcard__pic img, .rv [data-rv] .clist__pic img { transform: scale(1.14); transition: transform 1.8s cubic-bezier(.2, .7, .1, 1); }
.rv [data-rv].is-in .tile__pic img, .rv [data-rv].is-in.intl2__pic img, .rv [data-rv].is-in.phero__pic img, .rv [data-rv].is-in .mcard__pic img, .rv [data-rv].is-in .clist__pic img { transform: none; }
.rv .tile:hover .tile__pic img { transform: scale(1.04); transition-duration: .8s; transition-delay: 0s; }

/* parallax: photos move a little slower than the page */
[data-px] { will-change: transform; }

/* field marquee under the quick menu */
.mq { overflow: hidden; padding: clamp(28px, 3.6vw, 48px) 0 clamp(8px, 1.2vw, 16px); border-bottom: 1px solid var(--line); }
.mq__track { display: flex; width: max-content; animation: mq 48s linear infinite; }
.mq:hover .mq__track { animation-play-state: paused; }
.mq__run { display: flex; align-items: center; flex: none; }
.mq__run span { padding: 0 clamp(18px, 2.2vw, 34px); font-size: clamp(26px, 3.4vw, 50px); font-weight: 300; letter-spacing: -.04em; color: var(--ink); white-space: nowrap; }
.mq__run i { width: 7px; height: 7px; border-radius: 50%; background: var(--brass); flex: none; }
@keyframes mq { to { transform: translateX(-50%); } }

@media (prefers-reduced-motion: reduce) {
  .slide.is-on .slide__t .ln > span { animation: none; }
  .rv [data-rv], .rv [data-rv] .tile__pic, .rv [data-rv] img { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }
  .mq__track { animation: none; }
  [data-px] { transform: none !important; }
}
[data-px] { transition: clip-path 1.3s cubic-bezier(.2, .7, .1, 1) .12s !important; }

/* ---------- v15 · timeline graphic on field pages (partner guidance as a picture) ---------- */
.tl { margin: 0 0 clamp(36px, 4vw, 56px); padding: clamp(24px, 3vw, 40px); border-radius: var(--r-panel); background: var(--espresso); color: var(--ivory); }
.tl__cap { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; margin-bottom: clamp(24px, 3vw, 36px); }
.tl__cap b { font-size: clamp(19px, 1.7vw, 23px); font-weight: 600; letter-spacing: -.03em; }
.tl__cap span { font-size: 13px; letter-spacing: .02em; color: var(--brass); }
.tl__list { position: relative; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 0 16px; }
.tl__list::before { content: ""; position: absolute; left: 0; right: 0; top: 34px; height: 1px; background: rgba(194, 164, 126, .45); }
.tl__list li { position: relative; display: grid; grid-template-rows: auto auto auto 1fr; gap: 6px; padding-right: 4px; }
.tl__when { min-height: 20px; font-size: 13px; font-weight: 600; letter-spacing: .01em; color: var(--brass); white-space: nowrap; }
.tl__dot { position: relative; z-index: 1; width: 11px; height: 11px; margin: 4px 0 10px; border-radius: 50%; background: var(--espresso); box-shadow: 0 0 0 2px var(--brass); }
.tl__list li:first-child .tl__dot { background: var(--brass); }
.tl__list b { font-size: 16px; font-weight: 600; letter-spacing: -.02em; color: #fff; }
.tl__list p { font-size: 14px; line-height: 1.6; color: rgba(247, 243, 236, .78); }
.tl__note { margin-top: clamp(22px, 2.6vw, 32px); padding-top: 16px; border-top: 1px solid rgba(194, 164, 126, .3); font-size: 14.5px; line-height: 1.7; color: rgba(247, 243, 236, .86); }
.rv .tl[data-rv] .tl__list li { opacity: 0; transform: translateY(14px); transition: opacity .7s ease, transform .9s cubic-bezier(.2, .7, .1, 1); }
.rv .tl[data-rv].is-in .tl__list li { opacity: 1; transform: none; }
.rv .tl[data-rv].is-in .tl__list li:nth-child(2) { transition-delay: .12s; } .rv .tl[data-rv].is-in .tl__list li:nth-child(3) { transition-delay: .24s; }
.rv .tl[data-rv].is-in .tl__list li:nth-child(4) { transition-delay: .36s; } .rv .tl[data-rv].is-in .tl__list li:nth-child(5) { transition-delay: .48s; }
.rv .tl[data-rv].is-in .tl__list li:nth-child(6) { transition-delay: .6s; } .rv .tl[data-rv].is-in .tl__list li:nth-child(7) { transition-delay: .72s; }
@media (max-width: 980px) {
  .tl__list { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .tl__list::before { left: 5px; right: auto; top: 6px; bottom: 6px; width: 1px; height: auto; }
  .tl__list li { grid-template-columns: 11px minmax(0, 1fr); grid-template-rows: auto; column-gap: 16px; row-gap: 2px; padding: 0 0 20px; }
  .tl__dot { grid-column: 1; grid-row: 1; margin: 5px 0 0; }
  .tl__when, .tl__list b, .tl__list p { grid-column: 2; }
  .tl__when { grid-row: 1; min-height: 0; }
}
@media (prefers-reduced-motion: reduce) { .rv .tl[data-rv] .tl__list li { opacity: 1; transform: none; transition: none; } }

/* ---------- v15 · wide photo band inside each field page ---------- */
.pband { position: relative; }
.pband__fig { position: relative; height: clamp(300px, 52vh, 560px); overflow: hidden; background: var(--espresso); }
.pband__fig .pic { position: absolute; inset: -40px 0; width: 100%; height: calc(100% + 80px); object-fit: cover; }
.pband__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(36, 25, 18, .72) 0%, rgba(36, 25, 18, .38) 55%, rgba(36, 25, 18, .12) 100%); }
.pband__cap { position: absolute; left: 0; right: 0; bottom: clamp(32px, 5vw, 64px); }
.pband__en { margin-bottom: 12px; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--brass); }
.pband__t { max-width: 22em; font-size: clamp(22px, 2.4vw, 34px); font-weight: 500; line-height: 1.4; letter-spacing: -.035em; color: #fff; text-wrap: balance; }
@media (max-width: 700px) { .pband__veil { background: linear-gradient(180deg, rgba(36, 25, 18, .2) 0%, rgba(36, 25, 18, .78) 100%); } }

/* ---------- v16 · reference pass: what we do / don't do, home FAQ, quiet photo band ---------- */
/* field pages: the photo band carries only the field name */
.pband__veil { background: linear-gradient(90deg, rgba(36, 25, 18, .5) 0%, rgba(36, 25, 18, .16) 50%, rgba(36, 25, 18, 0) 100%); }
.pband__word { font-size: clamp(36px, 5.6vw, 88px); font-weight: 300; line-height: 1; letter-spacing: -.045em; color: rgba(255, 255, 255, .94); }
@media (max-width: 700px) { .pband__veil { background: linear-gradient(180deg, rgba(36, 25, 18, 0) 40%, rgba(36, 25, 18, .55) 100%); } }

/* home: what atInc does and does not do */
.hdo__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: end; gap: 16px clamp(32px, 5vw, 80px); margin-bottom: clamp(32px, 3.6vw, 52px); }
.hdo__head .shd { margin-bottom: 0; }
.hdo__lead { max-width: 40ch; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.75; color: var(--body); }
.hdo__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(14px, 1.6vw, 24px); }
.hdo__col { padding: clamp(26px, 3vw, 44px); border: 1px solid var(--line); border-radius: var(--r-panel); background: var(--paper); }
.hdo__col--dark { display: flex; flex-direction: column; border-color: var(--espresso); background: var(--espresso); color: var(--ivory); }
.hdo__t { margin-bottom: clamp(16px, 1.8vw, 24px); font-size: clamp(19px, 1.6vw, 22px); font-weight: 600; letter-spacing: -.03em; }
.hdo__col--dark .hdo__t { color: #fff; }
.hdo__do li { display: grid; grid-template-columns: 7.5em minmax(0, 1fr); gap: 6px 18px; padding: 16px 0; border-top: 1px solid var(--line); font-size: 15.5px; line-height: 1.65; color: var(--body); }
.hdo__do li:last-child { padding-bottom: 0; }
.hdo__do b { font-weight: 600; color: var(--brown-deep); }
.hdo__dont li { position: relative; padding: 16px 0 16px 28px; border-top: 1px solid rgba(194, 164, 126, .28); font-size: 15.5px; line-height: 1.65; color: rgba(247, 243, 236, .9); }
.hdo__dont li::before { content: ""; position: absolute; left: 2px; top: 1.6em; width: 12px; height: 1px; background: var(--brass); }
.hdo__reg { margin-top: auto; padding-top: 22px; font-size: 13px; letter-spacing: .01em; color: var(--brass); }
@media (max-width: 900px) {
  .hdo__head, .hdo__grid { grid-template-columns: minmax(0, 1fr); }
  .hdo__do li { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}

/* home: short FAQ before the consultation card */
.hfaq { border-top: 1px solid var(--line); }
.hfaq__grid { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.5fr); gap: 20px clamp(32px, 5vw, 80px); align-items: start; }
.hfaq .faq { max-width: none; }
.hfaq + .contact2 { padding-top: clamp(24px, 3vw, 40px); }
@media (max-width: 900px) { .hfaq__grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- v17 · mobile pass (ECC review): steady scrolling, shorter pages, cleaner phone layout ---------- */
.nw { white-space: nowrap; }
.kv--co { font-size: 15.5px; gap: 14px 40px; }
.crumb { align-items: center; }
.appt__intl a, .intl a { white-space: nowrap; }
.pline__links { gap: 0 20px; }
.pline__links a { padding-block: 10px; }
/* map: hold its space before the script draws it; rest while off screen */
.atmap { aspect-ratio: 560 / 760; }
.atmap.is-off .pulse { animation-play-state: paused; }

/* folded lists never open-then-close on phones: bodies stay hidden until site.js has set the fold state */
@media (max-width: 700px) {
  .js:not(.fold-ready) details.fold > :not(summary) { display: none; }
  .js:not(.fold-ready) details.fold[open] > summary::after { transform: rotate(45deg); top: 6px; }
}

/* touch screens: short, quiet reveals; no curtains or zooms that trail behind a finger scroll */
@media (max-width: 700px), (hover: none) and (pointer: coarse) {
  .rv [data-rv] { transform: translateY(12px); transition: opacity .45s ease, transform .55s cubic-bezier(.2, .7, .1, 1); transition-delay: calc(var(--d, 0) * 60ms); }
  .rv [data-rv].is-in { transform: none; }
  .rv [data-rv] .tile__pic, .rv [data-rv].intl2__pic img, .rv [data-rv].phero__pic img, .rv [data-rv] .mcard__pic, .rv [data-rv] .clist__pic { clip-path: none; transition: none; }
  .rv [data-rv] .tile__pic img, .rv [data-rv].intl2__pic img, .rv [data-rv].phero__pic img, .rv [data-rv] .mcard__pic img, .rv [data-rv] .clist__pic img { transform: none; transition: none; }
  .rv .tl[data-rv] .tl__list li { opacity: 1; transform: none; transition: none; }
  /* hero: a lighter push-in, and the slide that leaves resets once it has faded */
  .slide__pic { transform: scale(1.05); }
  .slide.is-on .slide__pic { transform: none; }
  .slide:not(.is-on) .slide__pic { transition: transform 0s 1.2s; }
  .atmap .spark { filter: none; }
}

/* phone layout */
@media (max-width: 760px) {
  /* the bottom bar already carries call and booking: the header keeps only the logo and menu */
  .hdr__tel, .hdr__cta { display: none !important; }
  /* the dark footer runs to the bottom edge, clear of the bottom bar */
  body { padding-bottom: 0; }
  .ftr { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 600px) {
  .sec, .msec, .hsec { padding-block: 56px; }
  .shd { margin-bottom: 20px; }
  /* process steps: number on the left, text on the right */
  .steps { gap: 0; }
  .step { grid-template-columns: 32px minmax(0, 1fr); column-gap: 10px; row-gap: 4px; padding: 16px 0; }
  .step__no { grid-row: span 2; padding-top: 4px; }
  /* how atInc works: lighter cards */
  .ways { gap: 10px; }
  .ways li { padding: 20px; gap: 6px; }
  .ways--who li { grid-template-columns: 40px minmax(0, 1fr); align-items: baseline; padding: 16px 18px; }
  .pmeta > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
  /* network filters: one swipeable row */
  .filters { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--gutter, 20px)); padding-inline: var(--gutter, 20px); scrollbar-width: none; }
  .filters::-webkit-scrollbar { display: none; }
  .filters button { flex: none; }
  /* company details: label and value on one line */
  .kv, .kv--co { grid-template-columns: 7.5em minmax(0, 1fr); gap: 10px 14px; }
  .kv dd { margin-bottom: 0; }
  /* footer: links flow in rows instead of one per line */
  .ftr__top { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-bottom: 32px; }
  .ftr__top > div:first-child { grid-column: auto; }
  .ftr ul { display: flex; flex-wrap: wrap; gap: 0 18px; }
  .ftr ul a { display: inline-block; padding-block: 6px; }
  .rows + div .btn { width: 100%; }
}
@media (max-width: 700px) {
  .pband__fig { height: 240px; }
  .pband__word { font-size: 34px; }
}

/* ---------- v18 · photos stay still while scrolling (curtain, zoom and parallax removed: they lagged) ---------- */
.rv [data-rv] .tile__pic, .rv [data-rv].intl2__pic img, .rv [data-rv].phero__pic img, .rv [data-rv] .mcard__pic, .rv [data-rv] .clist__pic { clip-path: none; transition: none; }
.rv [data-rv] .tile__pic img, .rv [data-rv].intl2__pic img, .rv [data-rv].phero__pic img, .rv [data-rv] .mcard__pic img, .rv [data-rv] .clist__pic img { transform: none; transition: none; }
.rv [data-rv].is-in .tile__pic, .rv [data-rv].is-in.intl2__pic img, .rv [data-rv].is-in.phero__pic img, .rv [data-rv].is-in .mcard__pic, .rv [data-rv].is-in .clist__pic { clip-path: none; }
.pband__fig .pic { inset: 0; height: 100%; }
/* the hover zoom on cards stays (it only runs under the pointer) */
.rv .tile:hover .tile__pic img { transform: scale(1.04); transition: transform .8s cubic-bezier(.2, .7, .1, 1); }

/* ---------- v19 · blocks added from the admin ---------- */
.tblock { max-width: 760px; }
.tblock p { font-size: 16.5px; line-height: 1.85; color: var(--body); }
.tblock p + p { margin-top: 14px; }
.tblock a { color: var(--brown-deep); text-underline-offset: 4px; }

/* v20 — 떠 있는 버튼 글자: 두 줄이 되어도 가운데 정렬 (VIP CONTACT) */
.fab__btn span { text-align: center; line-height: 1.2; letter-spacing: .02em; }

/* =====================================================================
   v21 — 색 조합 ① 캐시미어 & 코코아 (2026-10-07 선택)
   바탕 캐시미어 60% · 면 밀크와 띠 카멜 30% · 주색 코코아 10% · 포인트 샴페인은 가는 선과 진한 바탕 위 작은 글자에만.
   배치는 그대로 두고 색만 바꿉니다.
   ===================================================================== */
:root {
  --ivory: #F4EEE6;            /* 바탕 · 캐시미어 */
  --paper: #FBF8F4;            /* 면 · 밀크 (카드, 상단 메뉴, 상담 카드) */
  --sand: #E4D3BD; --linen: #E4D3BD; --band: #E4D3BD;   /* 띠 · 카멜 */
  --sand-deep: #DAC6AC;
  --latte: #CBB08F; --photo-bg: #E4D3BD;
  --line: #E2D5C4; --line-strong: #CDB89C;
  --ink: #2F231C;              /* 글자 · 에스프레소 */
  --body: #56473C; --sub: #64544A; --stone: #64544A; --notice: #56473C;
  --brown: #6E4C37;            /* 주색 · 코코아 */
  --brown-deep: #573A28;
  --cocoa: #2F231C; --espresso: #2F231C; --night: #2F231C;
  --brass: #B8976A; --gold: #B8976A; --champagne: #6E4C37;   /* 포인트 · 샴페인 */
  --on-dark: #F4EEE6; --on-dark-sub: #CDBBA6;
  --veil: 47, 35, 28;
}
body { background: var(--ivory); color: var(--ink); }
::selection { background: #E4D3BD; }

/* 흰색으로 남아 있던 면을 밀크로 */
.hdr, .hdr.is-solid { background: var(--ivory); }   /* 불투명: 뒤 글자가 비치지 않게 */
.subnav { background: var(--ivory); }
.drop, .mnav, .qmenu__list, .net2, .pline, .ways li, .fab__btn, .appt, .hdo__col:not(.hdo__col--dark) { background: var(--paper); }
.tile__tag { background: rgba(251, 248, 244, .95); }
@media (max-width: 760px) { .mbar { background: var(--paper); } }

/* 단추: 코코아, 사진 위 밝은 단추는 밀크 */
.btn--dark, .hdr__cta, .page .hdr .hdr__cta, .hdr.is-solid .hdr__cta, .page:not(.hdr-light) .hdr__cta, .fab__btn--main { background: var(--brown); border-color: var(--brown); color: #fff; }
.btn--dark:hover, .page .hdr .hdr__cta:hover, .fab__btn--main:hover { background: var(--brown-deep); border-color: var(--brown-deep); }
.btn--light, .btn--ivory, .page.hdr-glass .hdr:not(.is-solid) .hdr__cta, .page.hdr-light .hdr:not(.is-solid) .hdr__cta { background: var(--paper); border-color: var(--paper); color: var(--brown-deep); }
.btn--light:hover, .btn--ivory:hover { background: #fff; border-color: #fff; }
.btn--ghost:hover { background: var(--sand); color: var(--brown-deep); }
@media (max-width: 760px) { .mbar a.mbar__main { background: var(--brown); } }

/* 진한 면: 에스프레소, 위에 놓이는 작은 글자는 샴페인 */
.ftr { background: var(--espresso); }
.ftr h2 { color: #E4D3BD; }
.hdo__col--dark { background: var(--espresso); border-color: var(--espresso); }
.hdo__reg, .hdo__dont li::before { color: var(--brass); }
.phx, .hero--photo, .intl2__pic { background: var(--cocoa); }

/* 카멜 띠 위의 선과 카드 */
.sec--sand .svcs li, .sec--sand .guide__col { border-top-color: var(--line-strong); }
.contact2 { background: var(--sand); }

/* =====================================================================
   v22 — 품격 있는 글꼴과 홈 회사 소개 (2026-10-09)
   제목은 명조(Noto Serif KR), 본문·메뉴·단추는 Pretendard, 작은 영문 머리는 Cormorant 기울임(대문자로 늘어놓지 않음).
   ===================================================================== */
:root { --f-serif: 'Noto Serif KR', 'Nanum Myeongjo', 'AppleMyungjo', serif; --f-it: 'Cormorant Garamond', 'Times New Roman', serif; }
:is(.shd__t, .slide__t, .hero__title, .hero__sub, .h1, .h2, .disp, .disp-2, .stmt__h, .tile__t, .mcard__t, .clist__t, .appt__t, .hdo__t,
  .pband__t, .cband .h1, .sh h2, .idx__head h2, .hintro__t, .hpil__t, .ftr__tag) {
  font-family: var(--f-serif); font-weight: 500; letter-spacing: -.02em;
}
.slide__t, .hero__title { font-weight: 500; letter-spacing: -.025em; line-height: 1.32; }
.hero__sub { font-weight: 400; }
.shd__t { line-height: 1.4; }
:is(.shd__label, .slide__label, .hero__label, .tile__en, .mcard__en, .clist__en, .pband__en, .cband__label, .appt__label, .hpil__en) {
  font-family: var(--f-it); font-style: italic; font-weight: 500; font-size: 18px; letter-spacing: .01em; text-transform: none; color: var(--brown);
}
.slide__label, .hero--photo .hero__label { font-size: 20px; color: #EAD9BE; }
.tile__en, .mcard__en, .clist__en, .hpil__en { font-size: 17px; }
.mcard__t, .tile__t { font-weight: 500; }

/* 홈 회사 소개 */
.hintro__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 28px clamp(36px, 6vw, 104px); align-items: start; }
.hintro__head { display: grid; gap: 12px; }
.hintro__t { font-size: clamp(26px, 2.6vw, 38px); line-height: 1.45; color: var(--ink); text-wrap: balance; }
.hintro__t .ln { display: block; }
.hintro__body { display: grid; gap: 26px; min-width: 0; }
.hintro__text { display: grid; gap: 14px; font-size: var(--fs-lg); line-height: 1.9; color: var(--body); }
.hintro__text p { margin: 0; text-wrap: pretty; }
.hintro__facts { display: grid; grid-template-columns: minmax(0, max-content) minmax(0, max-content) minmax(0, 1fr); margin: 0; border-top: 1px solid var(--line-strong); }
.hintro__facts > div { display: grid; gap: 6px; align-content: start; padding: 18px 18px 0 0; }
.hintro__facts > div + div { padding-left: 18px; border-left: 1px solid var(--line); }
.hintro__facts dt { font-size: 13px; font-weight: 500; color: var(--sub); }
.hintro__facts dd { margin: 0; font-size: 15.5px; font-weight: 500; line-height: 1.55; color: var(--ink); }
.hintro .link { justify-self: start; }

/* 홈 서비스 카드 */
.hpil__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.hpil__card { display: grid; align-content: start; gap: 6px; padding-bottom: 6px; color: var(--ink); text-decoration: none; }
.hpil__pic { position: relative; aspect-ratio: 4 / 3; overflow: hidden; margin: 0 0 14px; border-radius: var(--r-ctl); background: var(--photo-bg); }
.hpil__pic .pic { transition: transform 1s cubic-bezier(.2, .7, .2, 1); }
.hpil__card:hover .pic { transform: scale(1.03); }
.hpil__t { font-size: clamp(21px, 1.7vw, 25px); line-height: 1.35; color: var(--ink); }
.hpil__d { font-size: 15px; line-height: 1.75; color: var(--body); text-wrap: pretty; }
.hpil__more { justify-self: start; margin-top: 8px; padding-bottom: 3px; border-bottom: 1px solid var(--brown); font-size: 14px; font-weight: 600; color: var(--brown-deep); }
.hpil__card:hover .hpil__more { color: var(--brown); }

@media (max-width: 900px) {
  .hintro__grid { grid-template-columns: minmax(0, 1fr); }
  .hpil__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .hpil__pic { aspect-ratio: 16 / 10; }
}
@media (max-width: 600px) {
  .phx { height: max(520px, 74svh); }
  .slide__in { padding-bottom: 56px; }
  .hintro__facts { grid-template-columns: minmax(0, 1fr); }
  .hintro__facts > div, .hintro__facts > div + div { padding: 14px 0; border-left: 0; }
  .hintro__facts > div + div { border-top: 1px solid var(--line); }
  :is(.shd__label, .slide__label, .hero__label) { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) { .hpil__pic .pic { transition: none; } }

/* ---- v23: 바닥글 영문 줄도 대문자 대신 Cormorant 기울임 ---- */
.ftr__sub { margin-top: 4px; font-family: var(--f-it, 'Cormorant Garamond', serif); font-style: italic; font-weight: 500; font-size: 17px; letter-spacing: .01em; text-transform: none; color: var(--brass); }
