/* Korean typography and accessibility, layered over the original layout. */
:root { --ko-font: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; }
.ko-address { display:block; flex:0 0 100%; width:100%; margin:12px 0 0; font-family:var(--ko-font); font-size:14px; font-weight:400; font-style:normal; line-height:1.7; color:#49665e; word-break:keep-all; }
.ko-product-contact .ko-address,.product-korea-contact .ko-address { margin:0; text-align:center; font-size:13px; }
.ko-footer-contact .ko-address { font-size:13px; }
.ko-sub-contact .ko-address { margin:8px 0 16px; }
.ko-sunny-purchase { padding-top:70px; background:#eef3ec; color:#244d43; border-bottom:1px solid #dbe5d8; scroll-margin-top:70px; }
.ko-sunny-purchase-inner { box-sizing:border-box; display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:45px; max-width:1200px; margin:auto; padding:52px 42px 48px; }
.ko-sunny-eyebrow { margin:0 0 16px; color:#4b7864; font-size:12px; font-weight:700; letter-spacing:1.4px; }
.ko-sunny-purchase h1 { margin:0 0 15px; font-size:clamp(40px,4.8vw,62px); font-weight:800; line-height:1.15; color:#244d43; letter-spacing:-2px; }
.ko-sunny-lead { margin:0 0 16px; color:#355e51; font-size:26px; font-weight:600; line-height:1.5; letter-spacing:-.8px; }
.ko-sunny-description { margin:0 0 25px; color:#66776c; font-size:15px; line-height:1.8; }
.ko-sunny-buy { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-width:267px; padding:17px 24px; background:#147b3f; border-radius:5px; color:white!important; font-size:19px; font-weight:700; text-decoration:none!important; box-shadow:0 4px 12px #174a3515; transition:background .2s; }
.ko-sunny-buy:hover { background:#09632f; }
.ko-sunny-buy span:last-child { font-size:24px; }
.ko-sunny-store { font-size:12px; color:#5e7566; margin:10px 0 18px; }
.ko-sunny-details { display:inline-block; color:#315c4e!important; font-size:14px; padding:4px 0; border-bottom:1px solid #a5b7a7; }
.ko-sunny-details span { margin-left:8px; }
.ko-sunny-purchase-image { display:block; text-align:center; background:#fff; border-radius:20px; padding:30px 20px 20px; box-shadow:0 16px 35px #234e3310; text-decoration:none!important; }
.ko-sunny-purchase-image img { display:block; width:100%; height:auto; margin:0 auto; }
.ko-sunny-image-caption { display:block; color:#6c7e70; font-size:13px; margin-top:16px; }
@media(max-width:850px){.ko-sunny-purchase-inner{gap:24px;padding:38px 28px}.ko-sunny-lead{font-size:23px}.ko-sunny-purchase-image{padding:22px 12px 18px}}
@media(max-width:767px){.ko-sunny-purchase{padding-top:0}.ko-sunny-purchase-inner{display:flex;flex-direction:column;gap:24px;padding:32px 22px 30px}.ko-sunny-purchase-copy{width:100%;text-align:center}.ko-sunny-eyebrow{font-size:11px;margin-bottom:11px}.ko-sunny-purchase h1{font-size:42px;margin-bottom:10px}.ko-sunny-lead{font-size:20px;line-height:1.4;margin-bottom:12px}.ko-sunny-description{font-size:14px;line-height:1.6;margin-bottom:20px}.ko-sunny-buy{width:100%;max-width:340px;min-width:0;font-size:18px;padding:14px 22px}.ko-sunny-store{margin:9px 0 12px}.ko-sunny-purchase-image{width:100%;max-width:450px;box-sizing:border-box;padding:18px 14px 15px;border-radius:12px}.ko-sunny-image-caption{font-size:12px;margin-top:8px}.ko-address{font-size:13px}}
html { scroll-padding-top: 85px; }
body, h1, h2, h3, h4, h5, h6, p, a, button, input, select, textarea,
.font-mincho, .font-mincho2, .main-menu-title, .cm2-box { font-family: var(--ko-font); }
body { word-break: keep-all; overflow-wrap: break-word; }
h1 { line-height: 1.4; letter-spacing: -1.1px; }
.main-menu-title { letter-spacing: 0; }
.ko-ticker { font-size: 16px; font-weight: 600; line-height: 40px; text-align: center; color: #315b5e; }
.cm2-box p, .cm2-box span { line-height: 1.65; }
.cm2-columns-area p[style*="line-height: 20px"] { line-height: 1.65 !important; }
img { max-width: 100%; object-fit: contain; }
a:focus-visible, button:focus-visible { outline: 3px solid #e1a32c; outline-offset: 4px; }
.modal .modal-content { overflow: hidden; }
.modal .close { opacity: 1; color: #2e343c; font-size: 30px; }
.cm2-main-title { line-height: 1.45; }
.ko-mobile-intro { display: none; }
.ko-contact { display: flex; align-items: center; justify-content: space-between; gap: 28px; width: 100%; max-width: 820px; margin: 42px auto 36px; padding: 30px 32px; border: 1px solid #b9d1cd; border-left: 5px solid #3e9690; background: #edf5f2; text-align: left; scroll-margin-top: 20px; }
.ko-contact .ko-contact-eyebrow { margin: 0 0 10px; color: #307773; font-size: 12px; font-weight: 700; letter-spacing: 1.2px; }
.ko-contact .ko-contact-eyebrow span { display: inline-block; margin-left: 10px; font-size: 12px; letter-spacing: 0; }
.ko-contact h2 { margin: 0 0 8px; color: #253e40; font-size: 26px; font-weight: 700; line-height: 1.4; letter-spacing: -.8px; }
.ko-contact h2 span { display: inline-block; font-size: 22px; line-height: inherit; }
.ko-contact .ko-contact-message { margin: 0; font-size: 15px; color: #536664; line-height: 1.6; }
.ko-contact .ko-phone { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 0 0 220px; min-height: 94px; padding: 14px 20px; color: #fff; background: #2d6261; text-align: center; text-decoration: none; pointer-events: auto; transition: background .2s; }
.ko-contact .ko-phone:hover { background: #204b4c; }
.ko-contact .ko-phone-label { font-size: 13px; line-height: 1.5; font-weight: 500; color: #e5f0ed; }
.ko-phone-label i { margin-right: 5px; }
.ko-phone strong { font-size: 30px; font-weight: 700; line-height: 1.4; letter-spacing: -.5px; white-space: nowrap; }
.ko-footer-contact { margin-top: 25px; padding: 18px 20px; background: #edf5f2; border-left: 3px solid #3e9690; }
.ko-footer-label { color: #307773; font-size: 13px; font-weight: 700; }
.ko-footer-contact p { margin: 5px 0 2px; font-size: 15px; font-weight: 600; color: #253e40; }
.ko-footer-phone { display: inline-block; min-height: 44px; color: #2d6261; font-size: 27px; font-weight: 700; line-height: 44px; pointer-events: auto; }
@media (max-width: 850px) {
  .ko-contact { gap: 20px; padding: 24px; }
  .ko-contact h2 { font-size: 23px; }
  .ko-contact h2 span { font-size: 20px; }
  .ko-contact .ko-phone { flex-basis: 205px; }
}
@media (max-width: 767px) {
  .ko-contact { flex-direction: column; align-items: stretch; gap: 20px; padding: 25px 20px; margin: 32px auto; }
  .ko-contact .ko-phone { flex-basis: auto; min-height: 88px; }
  .ko-contact h2 span { display: block; margin-top: 2px; }
  .ko-contact .ko-contact-eyebrow { font-size: 11px; letter-spacing: .8px; }
  .ko-contact .ko-contact-eyebrow span { font-size: 11px; margin-left: 5px; }
  #index-link { position: relative; }
  .ko-mobile-intro { display: block; position: absolute; z-index: 2; top: 0; left: 50%; transform: translateX(-50%); width: min(100%, 393px); height: 125px; padding: 21px 14px 14px; background: #1b2d2c; text-align: center; color: #fff; }
  .ko-mobile-intro strong { font-size: clamp(16px, 4.2vw, 20px); letter-spacing: -.6px; }
  .ko-mobile-intro p { margin-top: 8px; line-height: 1.5; font-size: 14px; color: #eef3ec; }
  .cm2-box img { height: auto !important; }
  .modal-dialog { margin: 12px; }
  .modal-body-02 ul { padding-left: 28px; padding-right: 18px; }
  .ko-ticker { font-size: 13px; }
  #section04-link .col-xs-6:nth-child(2n+1) { clear: left; }
  #section04-link .col-xs-6 { margin-bottom: 24px; }
  #section02-2-link .font-mincho { font-size: 18px; }
  .cis-cont, .cis-text { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .wow { visibility: visible !important; }
}
