/* Shared fixed header navigation for company sections and community boards. */
.header-subnav{background:var(--canvas);border-bottom:1px solid var(--line)}
.header.has-subnav.is-scrolled{background:var(--canvas);backdrop-filter:none}
.header-subnav-inner{height:60px;gap:30px;overflow:visible}
.subnav-context{font-size:12px;font-weight:650;color:var(--brand);white-space:nowrap;padding-right:28px;border-right:1px solid var(--line);flex-shrink:0}
.subnav-links{gap:24px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;flex:1;padding:0 3px}
.subnav-links::-webkit-scrollbar{display:none}
.subnav-link{height:100%;flex-shrink:0;padding:0 4px;border-radius:0;font-size:13px;font-weight:500;white-space:nowrap;color:var(--muted);transition:color .18s}
.subnav-link::after{display:block;bottom:0;height:3px;border-radius:3px 3px 0 0;transform-origin:center}
.subnav-link:hover{background:transparent;color:var(--brand)}
.subnav-link.is-active,.subnav-link[aria-current]{background:transparent;color:var(--brand);font-weight:650}
.subnav-link.is-active::after,.subnav-link[aria-current]::after{transform:scaleX(1)}
.subnav-link:focus-visible{outline:2px solid var(--brand);outline-offset:-4px}
html:has(.header.has-subnav){scroll-padding-top:var(--fixed-header-height, 156px)}
.page-company #main>section[id]{scroll-margin-top:24px}
.page-company .company-block-side{align-self:start}
@media(min-width:901px){.page-company .company-block-side{position:sticky;top:calc(var(--fixed-header-height, 148px) + 28px);max-height:calc(100dvh - var(--fixed-header-height, 148px) - 56px);overflow-y:auto;scrollbar-width:thin}}
.page-company .technology-section{background:var(--surface-soft);border-block:1px solid var(--line)}
.page-company .technology-section .credentials-heading{margin-top:0}
.page-company .company-location-section{background:var(--canvas);border-top:0}
.header.has-subnav .mobile-menu{top:var(--fixed-header-height, calc(var(--header-height) + 68px))}
@media(max-width:1100px){.header-subnav-inner{gap:20px}.subnav-context{padding-right:20px}.subnav-links{gap:18px}.subnav-link{font-size:12px}}
@media(max-width:900px){.header-subnav-inner{height:54px;overflow:visible}.subnav-context{display:none}.subnav-links{gap:22px;margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter)}.subnav-link{font-size:13px;padding-inline:4px}.page-company .company-block-side{position:static;max-height:none;overflow:visible}}
@media(prefers-reduced-motion:reduce){.subnav-link{transition:none}}

/* Compact hover panels share the fixed section navigation's visual language. */
.header-inner{position:relative;z-index:40}
.nav-group{position:relative;height:100%;display:flex;align-items:center}
.nav-trigger-row{height:100%;display:flex;align-items:center;gap:3px;position:relative}
.nav-trigger-row>a{display:flex;align-items:center;height:100%;font-size:14px;white-space:nowrap}
.nav-trigger-row::after{content:'';position:absolute;inset:auto 0 -1px;height:3px;background:var(--brand);transform:scaleX(0);transition:transform .18s;pointer-events:none}
.nav-group:hover .nav-trigger-row::after,.nav-group.is-open .nav-trigger-row::after,.nav-trigger-row:has([aria-current])::after{transform:scaleX(1)}
.nav-disclosure{width:28px;height:32px;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);border-radius:5px;cursor:pointer}
.nav-disclosure:hover{background:var(--surface-soft);color:var(--brand)}
.nav-disclosure svg{transition:transform .18s}
.nav-disclosure[aria-expanded=true] svg{transform:rotate(180deg)}
.nav-panel{position:absolute;top:calc(100% - 6px);right:0;width:230px;padding:18px 12px 12px;background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--brand);border-radius:12px;box-shadow:0 18px 48px rgba(16,46,37,.12);z-index:45;animation:nav-panel-enter .18s var(--ease)}
.nav-panel[hidden]{display:none}
.nav-panel-label{font:10px var(--mono);letter-spacing:.12em;color:var(--muted);margin:0 12px 12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.nav-panel-links{display:grid;gap:4px;list-style:none;margin:0;padding:0}
.nav-panel-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:500;line-height:1.45;color:var(--ink);border-radius:6px;transition:background .15s,color .15s}
.nav-panel-links a:hover,.nav-panel-links a[aria-current]{background:var(--surface-soft);color:var(--brand)}
.nav-panel-links .arrow{width:14px;height:14px;color:var(--brand);opacity:0;transform:translateX(-3px);transition:opacity .15s,transform .15s;flex-shrink:0}
.nav-panel-links a:hover .arrow,.nav-panel-links a:focus-visible .arrow,.nav-panel-links a[aria-current] .arrow{opacity:1;transform:none}
.nav-trigger-row>a:focus-visible,.nav-disclosure:focus-visible,.nav-panel-links a:focus-visible,.mobile-nav-group summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:5px}
.header:not([data-nav-enhanced]) .nav-panel{display:none}
.header:not([data-nav-enhanced]) .nav-group:hover .nav-panel,.header:not([data-nav-enhanced]) .nav-group:focus-within .nav-panel{display:block}
@keyframes nav-panel-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* Both menus use the same strip; the current page's navigation stays visible. */
@media(min-width:901px){
  .header-hover-subnav{display:none;position:absolute;top:var(--header-height);left:0;right:0;z-index:35;border-top:1px solid var(--line);box-shadow:0 8px 16px rgba(16,46,37,.04)}
  .header-hover-subnav[data-nav-persistent]{position:relative;top:auto;border-top:0;box-shadow:none;display:block}
  .header-hover-subnav.is-previewing{z-index:36}
  .header[data-nav-enhanced] .header-hover-subnav:not([hidden]),.header:not([data-nav-enhanced]):has([data-nav-group="company"]:hover) .company-hover-subnav,.header:not([data-nav-enhanced]):has([data-nav-group="company"]:focus-within) .company-hover-subnav,.header:not([data-nav-enhanced]):has([data-nav-group="notice"]:hover) .community-hover-subnav,.header:not([data-nav-enhanced]):has([data-nav-group="notice"]:focus-within) .community-hover-subnav{display:block}
}
@media(max-width:900px){body:not(.page-company) .company-hover-subnav,body:not(.page-community) .community-hover-subnav{display:none}}
@media(min-width:901px){.header:not([data-nav-enhanced]):has([data-nav-group="solutions"]:hover) .solutions-hover-subnav,.header:not([data-nav-enhanced]):has([data-nav-group="solutions"]:focus-within) .solutions-hover-subnav{display:block}}
@media(max-width:900px){body:not(.page-solutions):not(.page-solution):not(.page-product) .solutions-hover-subnav{display:none}}
@media(min-width:901px){.header:not([data-nav-enhanced]):has([data-nav-group="projects"]:hover) .projects-hover-subnav,.header:not([data-nav-enhanced]):has([data-nav-group="projects"]:focus-within) .projects-hover-subnav{display:block}}
@media(max-width:900px){body:not(.page-projects):not(.page-project) .projects-hover-subnav{display:none}}

/* Long year ranges and Korean phase labels remain separate, readable units. */
.history-timeline{gap:0;margin-top:40px}
.history-group{grid-template-columns:minmax(150px,180px) minmax(0,1fr);gap:28px;padding:28px 0;border-top:1px solid var(--line)}
.history-group:first-child{padding-top:0;border-top:0}
.history-year-badge{flex-direction:column;align-items:flex-start;gap:10px;padding-top:0;min-width:0}
.history-year{font-size:22px;line-height:1.3;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.history-period-tag{font-family:var(--font);font-size:12px;font-weight:550;letter-spacing:0;line-height:1.5;white-space:nowrap;display:inline-flex;padding:4px 10px;border-radius:4px;color:var(--brand);background:rgba(20,61,50,.065)}
.history-list{padding-left:24px;gap:12px;min-width:0}
.history-list::before{top:9px}
.history-list li{overflow-wrap:anywhere}
.company-main-heading,.company-block-title,.company-value h4,.business-group h4{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
.company-main-desc{word-break:keep-all;overflow-wrap:anywhere}
.company-values{gap:24px}
.company-value h4{font-size:19px;line-height:1.5}
.org-team-head{flex-wrap:wrap;row-gap:8px}
.org-team-chip{white-space:nowrap;flex-shrink:0}
@media(min-width:901px) and (max-width:1100px){.desktop-nav{gap:22px}.header-inner{gap:26px}.company-block-grid{grid-template-columns:210px minmax(0,1fr);gap:36px}.history-group{grid-template-columns:145px minmax(0,1fr);gap:20px}.history-year{font-size:20px}.company-values{grid-template-columns:1fr;gap:22px}}
@media(max-width:900px){
  .history-group{grid-template-columns:1fr;gap:16px;padding-block:26px}
  .history-year-badge{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}
  .history-list{margin-left:3px;padding-left:20px}
  .history-year{font-size:21px}
  .mobile-nav-group{border-bottom:1px solid var(--line)}
  .mobile-nav-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:18px 0;font-size:25px;line-height:1.2;letter-spacing:-.04em;cursor:pointer}
  .mobile-nav-group summary::-webkit-details-marker{display:none}
  .mobile-nav-chevron{transition:transform .18s;flex-shrink:0}
  .mobile-nav-group[open] .mobile-nav-chevron{transform:rotate(180deg)}
  .mobile-submenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;padding:0 0 18px}
  .mobile-menu nav .mobile-submenu>a{font-size:14px;letter-spacing:-.02em;line-height:1.5;min-height:44px;padding:10px 12px;border:0;border-radius:5px;background:var(--surface-soft);color:var(--ink)}
  .mobile-menu nav .mobile-submenu>a[aria-current]{color:var(--brand);font-weight:650;box-shadow:inset 0 -2px var(--brand)}
  .mobile-menu nav .mobile-submenu>.mobile-overview{grid-column:1/-1;background:none;color:var(--muted);padding-left:0;font-size:12px}
  .subnav-links{mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 18px),transparent)}
  body:not(.js-ready) .mobile-nav-group{width:100%}
}
@media(max-width:600px){.header-inner{gap:10px}.header-inner .brand{flex:1;min-width:0;gap:8px}.header-inner .brand-logo{flex-shrink:0}.header-inner .brand-word{font-size:14px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.045em}.header-inner .lang-switch{flex-shrink:0;padding-inline:6px;gap:4px}.header-inner .menu-button{flex:0 0 44px}.company-block-title{font-size:28px}.company-main-heading{font-size:28px;line-height:1.45}.history-list li{font-size:14px;line-height:1.85}.company-values{gap:24px}.mobile-nav-group summary{font-size:23px}.nav-panel{max-width:calc(100vw - 40px)}}
@media(prefers-reduced-motion:reduce){.nav-panel{animation:none}.nav-disclosure svg,.nav-trigger-row::after,.nav-panel-links a,.nav-panel-links .arrow,.mobile-nav-chevron{transition:none}}
