:root{--ink:#173041;--blue:#0f5c80;--light:#eef6f8;--line:#d8e3e7;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Noto Sans KR",Arial,sans-serif;line-height:1.75}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #f5a623;outline-offset:3px}.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem}.skip:focus{left:1rem;z-index:5}header{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid var(--line)}.bar,nav,main,footer{max-width:var(--max);margin:auto}.bar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.brand{text-decoration:none;font-weight:700;font-size:1.35rem}.brand span{color:var(--blue)}.menu-button{display:none;border:1px solid var(--blue);background:#fff;padding:.45rem .8rem;color:var(--blue);border-radius:4px}nav{display:flex;gap:.45rem;padding:0 24px 13px;overflow-x:auto}details{position:relative;flex:none}summary{cursor:pointer;list-style:none;padding:.35rem .55rem;font-size:.9rem}summary::-webkit-details-marker{display:none}details[open] summary{background:var(--light);color:var(--blue)}details ul{position:absolute;left:0;top:100%;width:210px;max-height:65vh;overflow:auto;margin:0;padding:.6rem;background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px #17304122;list-style:none}details a{display:block;padding:.4rem .5rem;text-decoration:none;font-size:.88rem}details a:hover{background:var(--light)}main{padding:42px 24px 72px}.crumb{font-size:.85rem;color:#5d7180}.hero{margin:20px 0 28px;padding:42px 36px;background:linear-gradient(135deg,#edf7f9,#d7ecf2);border-left:6px solid var(--blue)}.eyebrow{margin:0;color:var(--blue);font-size:.78rem;letter-spacing:.12em}.hero h1{margin:.35rem 0 0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.3}.notice{margin:24px 0;padding:16px 18px;background:#fff7e8;border-left:4px solid #e59b20}.content{max-width:820px}.content p{margin:0 0 1em;word-break:keep-all}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:36px}.gallery figure{margin:0;border:1px solid var(--line);background:#f7fafb}.gallery img{display:block;width:100%;height:230px;object-fit:cover}.gallery figcaption{padding:.45rem .7rem;font-size:.75rem;color:#607481}footer{border-top:1px solid var(--line);padding:28px 24px 46px;font-size:.88rem;color:#526875}footer p{margin:.25rem 0}@media(max-width:760px){header{position:relative}.bar{height:64px;padding:0 18px}.menu-button{display:block}nav{display:none;position:absolute;left:0;right:0;top:64px;padding:10px 18px 16px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column}nav.open{display:flex}details ul{position:static;width:auto;box-shadow:none;border:0;border-left:2px solid var(--line);margin:.2rem 0 .4rem}.hero{padding:30px 22px}main{padding:26px 18px 52px}.gallery{grid-template-columns:1fr}.gallery img{height:auto}footer{padding-left:18px;padding-right:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.home-hero{min-height:460px;display:flex;flex-direction:column;justify-content:center;color:#fff;background:linear-gradient(90deg,#102b3cb8,#102b3c28),url("/assets/6638fb9872889b53ff58.jpg");background-size:cover;background-position:center}.home-hero .eyebrow{color:#e3f7ff}.home .hero h1{color:#fff}.home .content{padding-top:14px}@media(min-width:761px){.home header{background:#ffffffeb}}

.video-direct{display:block;padding:.35rem .55rem;text-decoration:none;font-size:.9rem;white-space:nowrap}.video-direct:hover{background:var(--light);color:var(--blue)}

.publisher-hero p:last-child{margin:.75rem 0 0}.publisher-content{max-width:820px}.publisher-image{margin:0 0 28px}.publisher-image img{display:block;width:100%;max-height:460px;object-fit:cover}.publisher-image figcaption{font-size:.78rem;color:#607481;margin-top:.45rem}.publisher-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 32px}.link-button,.cta-button{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 16px;border:1px solid var(--blue);border-radius:4px;background:#fff;color:var(--blue);font-weight:600;text-align:center;text-decoration:none}.link-button:hover,.cta-button:hover{background:var(--light)}.link-button.external::after{content:"↗";margin-left:.45em}.publisher-bottom-cta{max-width:820px;margin-top:40px;padding:28px;background:var(--light);text-align:center}.cta-button{background:var(--blue);color:#fff;border-color:var(--blue)}.cta-button:hover{background:#0b4965}@media(max-width:760px){.publisher-links{grid-template-columns:1fr}}

.top-direct{display:block;padding:.35rem .55rem;text-decoration:none;font-size:.9rem;white-space:nowrap}.top-direct:hover{background:var(--light);color:var(--blue)}

#menu .menu-group{position:relative;display:flex;align-items:center;flex:none}#menu .submenu-toggle{border:0;background:transparent;color:var(--ink);cursor:pointer;font:inherit;font-size:.95rem;line-height:1;padding:.45rem .25rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#menu .submenu{display:none;position:absolute;top:100%;left:0;z-index:10;width:235px;max-height:65vh;overflow:auto;margin:0;padding:.6rem;background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px #17304122;list-style:none}#menu .submenu a{display:block;padding:.42rem .5rem;text-decoration:none;font-size:.88rem}#menu .submenu a:hover{background:var(--light)}#menu .menu-group:hover .submenu,#menu .menu-group:focus-within .submenu,#menu .menu-group.open .submenu{display:block}#menu .menu-group:hover .top-direct,#menu .menu-group:focus-within .top-direct{background:var(--light);color:var(--blue)}@media(max-width:760px){#menu .menu-group{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}#menu .menu-group .top-direct{width:100%}#menu .submenu{grid-column:1 / -1;position:static;width:auto;max-height:none;margin:.15rem 0 .35rem;border:0;border-left:2px solid var(--line);box-shadow:none}#menu .menu-group:hover .submenu{display:none}#menu .menu-group.open .submenu,#menu .menu-group:focus-within .submenu{display:block}}

#menu .submenu-toggle{min-width:38px;min-height:38px;border-left:1px solid var(--line);border-radius:4px;font-weight:700}#menu .submenu-toggle:hover{background:var(--light);color:var(--blue)}

/* Keep desktop dropdowns outside the horizontal menu row; otherwise overflow clips them. */
@media(min-width:761px){#menu{overflow:visible}#menu .submenu{z-index:100}}


/* Desktop hover expansion for the Imweb-style submenus. */
@media (min-width: 761px) {
  #menu .menu-group:hover .submenu,
  #menu .menu-group:focus-within .submenu {
    display: block;
  }
}


/* Imweb-derived Korean typography alignment. */
:root {
  --imweb-korean-font: "Apple SD Gothic Neo", "Malgun Gothic", "Nanum Gothic", "Noto Sans KR", Arial, sans-serif;
}
body {
  font-family: var(--imweb-korean-font);
  font-size: 16px;
  line-height: 1.7;
}
.brand {
  font-family: var(--imweb-korean-font);
  font-size: 21px;
  letter-spacing: -0.04em;
}
#menu .top-direct,
#menu .submenu-toggle {
  font-family: var(--imweb-korean-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
}
#menu .submenu a {
  font-family: var(--imweb-korean-font);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
.hero h1 {
  font-family: var(--imweb-korean-font);
  font-weight: 700;
  letter-spacing: -0.04em;
}
.eyebrow {
  font-size: 13px;
  line-height: 1.7;
}
.content p {
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: -0.012em;
  word-break: keep-all;
}
@media (max-width: 760px) {
  #menu .top-direct,
  #menu .submenu-toggle { font-size: 16px; }
  .content p { font-size: 16px; line-height: 1.8; }
}


/* Original Imweb desktop content scale correction. */
@media (min-width: 761px) {
  .content p {
    font-size: 18px;
    line-height: 30.6px;
  }
}


/* Imweb-inspired tablet navigation and gallery flow. */
.gallery {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.gallery img {
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
@media (max-width: 960px) {
  html, body { overflow-x: clip; }
  header { position: relative; }
  .bar { height: 64px; padding: 0 18px; }
  .menu-button { display: block; }
  #menu {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 64px;
    z-index: 110;
    padding: 10px 18px 16px;
    background: #fff;
    border-bottom: 1px solid var(--line);
    flex-direction: column;
    overflow: visible;
  }
  #menu.open { display: flex; }
  #menu .menu-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
  }
  #menu .menu-group .top-direct { width: 100%; }
  #menu .submenu {
    grid-column: 1 / -1;
    position: static;
    width: auto;
    max-height: none;
    margin: .15rem 0 .35rem;
    border: 0;
    border-left: 2px solid var(--line);
    box-shadow: none;
  }
  #menu .menu-group:hover .submenu { display: none; }
  #menu .menu-group.open .submenu,
  #menu .menu-group:focus-within .submenu { display: block; }
  main { padding: 30px 18px 56px; }
  .hero { padding: 30px 22px; }
  .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 640px) {
  .gallery { grid-template-columns: 1fr; }
}


/* Desktop menus use text-only hover navigation. */
@media (min-width: 961px) {
  #menu .submenu-toggle { display: none; }
  #menu .top-direct { padding: .35rem .55rem; }
}


/* Structured home page: appointments, clinic information, and image cards. */
.home-main { max-width: none; padding: 0 0 76px; }
.home-main > section:not(.home-hero) { max-width: var(--max); margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.home-main .home-hero { max-width: none; margin: 0; padding: 104px max(24px, calc((100vw - var(--max)) / 2 + 24px)); border-left: 0; background-position: center; }
.home-hero h1 { max-width: 720px; font-size: clamp(2.4rem, 5vw, 4.5rem); line-height: 1.15; }
.home-lead { max-width: 640px; margin: 18px 0 0; font-size: 1.1rem; line-height: 1.8; }
.home-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.home-action { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 18px; border: 1px solid #fff; color: #fff; font-weight: 700; text-decoration: none; }
.home-action.primary { background: #fff; border-color: #fff; color: var(--blue); }
.home-action.primary span { margin-left: .55em; font-size: .88em; font-weight: 400; }
.home-action.secondary:hover { background: #ffffff20; }
.section-heading { max-width: 700px; margin-bottom: 28px; }
.section-heading h2, .home-visit h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.45rem); letter-spacing: -0.04em; }
.section-heading > p:last-child, .home-visit > div > p { margin: .8rem 0 0; color: #526875; line-height: 1.8; }
.section-kicker { margin: 0 0 8px; color: var(--blue); font-size: .78rem; font-weight: 700; letter-spacing: .12em; }
.home-quick { padding-top: 64px; padding-bottom: 64px; }
.quick-grid, .principle-grid, .treatment-grid { display: grid; gap: 16px; }
.quick-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.quick-grid a, .treatment-grid a { min-height: 138px; padding: 22px; border: 1px solid var(--line); background: #fff; color: var(--ink); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.quick-grid a:hover, .treatment-grid a:hover { transform: translateY(-3px); box-shadow: 0 10px 24px #17304112; }
.quick-grid strong, .quick-grid span { display: block; }
.quick-grid strong { font-size: 1.08rem; }
.quick-grid span { margin-top: 10px; color: #526875; font-size: .9rem; line-height: 1.6; }
.home-introduction { padding-top: 72px; padding-bottom: 72px; background: #f5f9fa; }
.principle-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.principle-grid article { padding: 24px; border-top: 3px solid var(--blue); background: #fff; }
.principle-grid h3, .treatment-grid h3 { margin: 0; font-size: 1.13rem; letter-spacing: -0.03em; }
.principle-grid p, .treatment-grid p { margin: 12px 0 0; color: #435b6a; font-size: .96rem; line-height: 1.8; }
.home-intro-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; }
.home-intro-footer p { max-width: 760px; margin: 0; line-height: 1.8; }
.text-link { flex: none; color: var(--blue); font-weight: 700; }
.home-visit { display: grid; grid-template-columns: 1.05fr 1fr auto; gap: 32px; align-items: center; padding-top: 64px; padding-bottom: 64px; }
.visit-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; gap: 18px; }
.visit-list dt { margin-bottom: 7px; color: var(--blue); font-size: .82rem; font-weight: 700; }
.visit-list dd { margin: 0; font-size: .94rem; line-height: 1.7; }
.visit-list a { color: inherit; font-weight: 700; }
.home-visit .visit-link { border-color: var(--blue); color: var(--blue); }
.home-visit .visit-link:hover { background: var(--light); }
.home-treatment { padding-top: 72px; padding-bottom: 72px; background: #f5f9fa; }
.treatment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.treatment-grid a { min-height: 194px; }
.treatment-grid span { display: inline-block; margin-top: 18px; color: var(--blue); font-size: .9rem; font-weight: 700; }
.home-gallery-section { padding-top: 72px; }
.home-gallery-section .gallery { margin-top: 0; }
.home-gallery-section .gallery figure { background: #fff; }
.home-gallery-section .gallery figcaption { padding: 12px 14px; color: #435b6a; font-size: .88rem; }
@media (max-width: 1080px) {
  .quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-visit { grid-template-columns: 1fr 1fr; }
  .home-visit .visit-link { width: max-content; }
  .visit-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .home-main > section:not(.home-hero) { padding-left: 18px; padding-right: 18px; }
  .home-main .home-hero { padding: 76px 18px; }
  .principle-grid { grid-template-columns: 1fr; }
  .home-intro-footer { align-items: flex-start; flex-direction: column; }
  .home-visit { grid-template-columns: 1fr; gap: 24px; }
  .home-visit .visit-link { width: 100%; }
}
@media (max-width: 640px) {
  .home-main { padding-bottom: 52px; }
  .home-main .home-hero { min-height: 440px; padding-top: 64px; padding-bottom: 64px; }
  .home-hero h1 { font-size: 2.25rem; }
  .home-lead { font-size: 1rem; }
  .home-actions { flex-direction: column; }
  .home-action { width: 100%; }
  .home-quick, .home-introduction, .home-visit, .home-treatment, .home-gallery-section { padding-top: 52px; padding-bottom: 52px; }
  .quick-grid, .treatment-grid, .visit-list { grid-template-columns: 1fr; }
}


/* Consistent reading hierarchy for every hospital information page. */
.page-layout { padding-top: 30px; }
.page-layout .hero { margin-top: 0; padding: 36px 34px; }
.page-layout .hero h1 { font-size: clamp(2rem, 3.5vw, 3.15rem); line-height: 1.22; }
.page-content-section { max-width: var(--max); margin: 0 auto; padding: 14px 24px 0; }
.page-layout .page-content { max-width: 820px; margin: 0; }
.page-layout .page-content p { word-break: keep-all; }
.page-layout .content-heading { margin: 2.4rem 0 .65rem; color: var(--ink); font-size: 1.38rem; font-weight: 700; line-height: 1.45; letter-spacing: -0.035em; }
.page-layout .content-heading:first-child { margin-top: .3rem; }
.page-layout .content-label { margin: 1.15rem 0 .3rem; color: var(--blue); font-weight: 700; }
.page-layout .content-copy { margin: 0 0 1.1rem; color: #2a4658; font-size: 1rem; line-height: 1.9; }
.page-gallery-section { max-width: var(--max); margin: 0 auto; padding: 60px 24px 0; }
.page-gallery-section .section-heading { margin-bottom: 22px; }
.page-gallery-section .gallery { margin-top: 0; }
.page-gallery-section .gallery figure { background: #fff; }
.page-gallery-section .gallery figcaption { min-height: 48px; padding: 12px 14px; color: #435b6a; font-size: .88rem; line-height: 1.5; }
@media (min-width: 961px) { .page-layout .content-copy { font-size: 18px; line-height: 30.6px; } }
@media (max-width: 960px) {
  .page-layout { padding-top: 0; }
  .page-layout .hero { margin: 0; padding: 30px 22px; }
  .page-content-section, .page-gallery-section { padding-left: 18px; padding-right: 18px; }
  .page-gallery-section { padding-top: 48px; }
}


/* Imweb-derived neutral type scale for hospital pages. */
header .bar .brand,
header .bar .brand span {
  color: #212121;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.7;
}
#menu .top-direct,
#menu .submenu-toggle,
#menu .submenu a {
  color: #212121;
  letter-spacing: 0;
}
.page-layout { color: #363636; }
.page-layout .crumb { color: #666; }
.page-layout .hero {
  border-left-color: #d6dfe2;
  background: #f6f8f9;
}
.page-layout .eyebrow,
.page-gallery-section .section-kicker {
  color: #666;
  letter-spacing: .08em;
}
.page-layout .hero h1 {
  color: #212121;
  font-size: clamp(1.9rem, 3vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.025em;
}
.page-layout .content-heading {
  margin: 2rem 0 .65rem;
  color: #212121;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0;
}
.page-layout .content-label {
  margin: 1.15rem 0 .28rem;
  color: #363636;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0;
}
.page-layout .content-copy {
  margin: 0 0 1.05rem;
  color: #363636;
  font-size: 16px;
  font-weight: 400;
  line-height: 30.4px;
  letter-spacing: 0;
}
.page-gallery-section .section-heading h2 { color: #212121; }
.page-gallery-section .section-heading > p:last-child,
.page-gallery-section .gallery figcaption { color: #666; }
@media (min-width: 961px) {
  .page-layout .content-copy { font-size: 16px; line-height: 30.4px; }
}


/* Stronger hospital content subheadings. */
.page-layout .content-heading {
  font-size: 22px;
  font-weight: 800;
  line-height: 1.55;
}
@media (max-width: 640px) {
  .page-layout .content-heading { font-size: 20px; }
}

/* Semantic hierarchy for hospital treatment information. */
.page-layout .content-page-title{margin:.3rem 0 1.3rem;color:#212121;font-size:clamp(1.7rem,3vw,2.2rem);font-weight:800;line-height:1.45;letter-spacing:-.025em}.page-layout .content-emphasis{margin:1.7rem 0 .8rem;padding-left:14px;border-left:3px solid #6d8792;color:#212121;font-size:20px;font-weight:700;line-height:1.7}.page-layout .content-big-heading{margin:2.6rem 0 .85rem;color:#212121;font-size:24px;font-weight:800;line-height:1.5;letter-spacing:-.025em}.page-layout .content-mid-heading{margin:2rem 0 .65rem;color:#212121;font-size:20px;font-weight:800;line-height:1.6}.page-layout .content-subheading{margin:1.6rem 0 .45rem;color:#363636;font-size:18px;font-weight:700;line-height:1.7}.page-layout .content-note{margin:.9rem 0 1.25rem;padding:.75rem 1rem;background:#f6f8f9;color:#4b5961;font-size:15px;line-height:1.75}@media(max-width:640px){.page-layout .content-page-title{font-size:25px}.page-layout .content-emphasis{font-size:18px}.page-layout .content-big-heading{font-size:21px}.page-layout .content-mid-heading{font-size:18px}.page-layout .content-subheading{font-size:17px}}
