@font-face{font-family:'Gothic A1';src:url(fonts/GothicA1-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Gothic A1';src:url(fonts/GothicA1-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Gothic A1';src:url(fonts/GothicA1-ExtraBold.woff2) format('woff2');font-weight:800;font-display:swap}
:root{--font:'Gothic A1',-apple-system,BlinkMacSystemFont,'Segoe UI','Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',Roboto,'Noto Sans','Helvetica Neue',Arial,sans-serif;--bg:#010A20;--bg2:#06142f;--cy:#00C8FF;--wh:#F5F7FA;--gr:#96A5B9;--line:rgba(150,165,185,.18)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--wh);font-family:var(--font);overflow-wrap:break-word;line-height:1.6;word-break:keep-all;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
header.nav{position:sticky;top:0;z-index:5;background:rgba(1,10,32,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px}
.brand img{width:36px;height:36px;border-radius:9px}
.nav nav a{color:var(--gr);margin-inline-start:24px;font-size:15px;font-weight:700}
.nav nav a:hover{color:var(--cy)}
.hero{text-align:center;padding:96px 0 104px;background:radial-gradient(ellipse at 50% 0%,rgba(0,200,255,.14),transparent 60%)}
.hero img{width:180px;height:180px;border-radius:40px;box-shadow:0 20px 60px rgba(0,200,255,.18)}
.hero h1{font-size:clamp(44px,8vw,72px);font-weight:800;margin-top:28px;letter-spacing:-.02em}
.bar{width:64px;height:4px;background:var(--cy);margin:18px auto;border-radius:2px}
.slogan{color:var(--cy);font-weight:700;font-size:clamp(18px,3vw,24px)}
.intro{color:var(--gr);font-size:clamp(16px,2.4vw,19px);margin-top:14px}
section{padding:88px 0;border-top:1px solid var(--line)}
h2{font-size:clamp(28px,4.5vw,38px);font-weight:800;text-align:center;margin-bottom:48px}
h2::after{content:'';display:block;width:48px;height:4px;background:var(--cy);margin:16px auto 0;border-radius:2px}
.apps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.card{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:32px 22px;text-align:center;transition:border-color .2s,transform .2s}
.card:hover{border-color:rgba(0,200,255,.5);transform:translateY(-3px)}
.card img{width:112px;height:112px;display:block;margin:0 auto 20px}
.card h3{font-size:22px;font-weight:800}
.card .sub{color:var(--cy);font-size:14px;font-weight:700}
.card p{color:var(--gr);font-size:15px;margin-top:10px}
.contact{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:860px;margin:0 auto}
.item{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:22px 24px;display:flex;gap:16px;align-items:flex-start}
.item b{color:var(--cy);font-weight:800;font-size:18px;min-width:22px}
.item .k{color:var(--gr);font-size:13px}
.item .v{font-size:17px;font-weight:700}
.item .v small{display:block;color:var(--gr);font-weight:400;font-size:14px}
.item a.v:hover{color:var(--cy)}
footer{border-top:1px solid var(--line);padding:36px 0;color:var(--gr);font-size:13px;text-align:center}
footer p span{white-space:nowrap}
footer a{color:var(--wh);text-decoration:underline;text-underline-offset:3px}
.doc{max-width:760px;padding:64px 24px}
.doc h1{font-size:32px;font-weight:800;margin-bottom:24px}
.doc h2{text-align:left;font-size:20px;margin:32px 0 12px}.doc h2::after{display:none}
.doc p,.doc li{color:var(--gr)}.doc ul{padding-inline-start:20px}
@media(max-width:900px){.apps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.nav nav{display:none}.hero{padding:64px 0 72px}.hero img{width:140px;height:140px;border-radius:32px}section{padding:64px 0}.apps{gap:14px}.card{padding:24px 14px}.card img{width:88px;height:88px}.card h3{font-size:19px}.card p{font-size:14px}.contact{grid-template-columns:1fr}}
.brand .en{font-size:13px;font-weight:700;color:var(--gr);letter-spacing:.02em}
.hero .en-name{color:var(--gr);font-weight:700;font-size:clamp(18px,3vw,24px);letter-spacing:.08em;margin-top:2px}
.hero h1{line-height:1.2}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:960px;margin:0 auto}
.mvc{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:36px 32px;text-align:center}
.lbl,.hist{color:var(--cy);font-weight:800;font-size:16px;letter-spacing:.04em}
.lbl .en-tag,.hist .en-tag{color:var(--gr);font-size:13px;margin-inline-start:6px;letter-spacing:.1em}
.mvc p{font-size:clamp(19px,2.4vw,24px);font-weight:800;margin-top:12px;line-height:1.5}
.hist{text-align:center;margin:64px 0 28px;font-size:18px}
.tl{list-style:none;max-width:560px;margin:0 auto;position:relative;padding-inline-start:28px}
.tl::before{content:'';position:absolute;inset-inline-start:6px;top:8px;bottom:8px;width:2px;background:var(--line)}
.tl>li{position:relative;padding-bottom:28px}.tl>li:last-child{padding-bottom:0}
.tl>li::before{content:'';position:absolute;inset-inline-start:-28px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:3px solid var(--cy)}
.tl-m{color:var(--cy);font-weight:800;font-size:18px}
.tl ul{list-style:none;margin-top:6px}.tl ul li{font-size:16px;padding:3px 0}
@media(max-width:600px){.mv{grid-template-columns:1fr;gap:14px}.mvc{padding:28px 22px}.hist{margin-top:48px}}
.tl{width:fit-content;max-width:100%}
a.card{display:flex;flex-direction:column;align-items:center;color:inherit;cursor:pointer}
a.card p{flex:1}
.card .more{display:inline-block;margin-top:18px;padding:8px 16px;border:1px solid rgba(0,200,255,.45);border-radius:999px;color:var(--cy);font-size:14px;font-weight:700;transition:background .2s,color .2s}
a.card:hover .more,a.card:focus-visible .more{background:var(--cy);color:var(--bg)}
a.card:focus-visible{outline:2px solid var(--cy);outline-offset:3px}
.apps-note{text-align:center;color:var(--gr);font-size:15px;margin-top:28px}
.ads-lead{text-align:center;color:var(--gr);font-size:16px;margin:-24px 0 36px}
.ads-lead .names{color:var(--wh);font-weight:700}
.ads{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ad{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:28px 26px}
.ad ul{list-style:none;margin-top:14px}
.ad li{color:var(--gr);font-size:15px;padding:10px 0;border-top:1px solid var(--line)}
.ad li:first-child{border-top:0;padding-top:4px}
.ad li b{display:block;color:var(--wh);font-size:16px;font-weight:800;margin-bottom:2px}
.ads-cta{text-align:center;margin-top:36px}
.btn{display:inline-block;background:var(--cy);color:var(--bg);font-weight:800;font-size:17px;padding:14px 30px;border-radius:999px;box-shadow:0 10px 30px rgba(0,200,255,.22);transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(0,200,255,.35)}
.ads-cta p{color:var(--gr);font-size:14px;margin-top:18px}
.ads-cta p a{color:var(--wh);text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.ads{grid-template-columns:1fr;max-width:560px;margin:0 auto}}
@media(max-width:600px){.card .more{font-size:13px;padding:7px 12px;margin-top:14px}.ad{padding:22px 20px}.btn{font-size:16px;padding:13px 24px}.ads-lead{margin-top:-28px}}
a.card p{flex:none}
.feat{list-style:none;counter-reset:f;text-align:start;width:100%;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line);flex:1}
.feat li{counter-increment:f;position:relative;padding-block:4px;padding-inline:26px 0;font-size:14.5px;font-weight:700;line-height:1.45;color:var(--wh)}
.feat li::before{content:counter(f) '.';position:absolute;inset-inline-start:4px;top:4px;color:var(--cy);font-weight:800}
@media(max-width:600px){.apps{grid-template-columns:1fr;max-width:420px;margin:0 auto}.card{padding:24px 20px}.card img{width:80px;height:80px;margin-bottom:14px}.feat li{font-size:15px}}

/* ---- i18n ---- */
:lang(zh){--font:'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Noto Sans CJK SC','Source Han Sans SC','Gothic A1','Noto Sans KR',sans-serif}
:lang(ja){--font:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic UI','Yu Gothic','Meiryo','Noto Sans JP','Noto Sans CJK JP','Gothic A1','Noto Sans KR',sans-serif}
:lang(ar){--font:'Gothic A1','Segoe UI','Noto Sans Arabic','Noto Naskh Arabic','Geeza Pro','SF Arabic','Arabic UI Text',Tahoma,'Noto Sans KR',sans-serif}
:lang(hi){--font:'Gothic A1','Nirmala UI','Noto Sans Devanagari','Kohinoor Devanagari','Devanagari Sangam MN',Mangal,'Noto Sans KR',sans-serif}
:lang(th){--font:'Gothic A1','Leelawadee UI','Noto Sans Thai','Noto Sans Thai UI','Thonburi','Sukhumvit Set','Sarabun',Tahoma,'Noto Sans KR',sans-serif}
html:not([data-lang]) body,html[data-lang=ko] body{word-break:keep-all}
html[data-lang]:not([data-lang=ko]) body{word-break:normal}
html[data-lang]:not([data-lang=ko]) h2,html[data-lang]:not([data-lang=ko]) .mvc p,html[data-lang]:not([data-lang=ko]) .hist{hyphens:auto;-webkit-hyphens:auto}
html[data-lang=ar] body :not(.wm,.wm *,.ft-brand),html[data-lang=hi] body :not(.wm,.wm *,.ft-brand),html[data-lang=th] body :not(.wm,.wm *,.ft-brand){letter-spacing:0!important} /* the Latin wordmark keeps its own tracking */
html[data-lang=ar] body{line-height:1.75}
html[data-lang]:not([data-lang=ko]) .en-tag{display:none}
.gloss{display:none;color:var(--gr);font-size:13px;font-weight:700;letter-spacing:.04em;margin-top:2px}
html[data-lang]:not([data-lang=ko]) .gloss{display:block}
.ko-note{display:none;text-align:center;color:var(--gr);font-size:13px;margin-top:10px;opacity:.9}
.ko-note::before{content:'ⓘ';margin-inline-end:6px;color:var(--cy)}
html[data-lang]:not([data-lang=ko]) .ko-note{display:block}
.ads-cta .ko-note{margin-top:12px}
.ltr{direction:ltr;unicode-bidi:isolate}
[dir=rtl] .item .v small.ltr{text-align:right}
.nav-r{display:flex;align-items:center;gap:20px;min-width:0}
.lang-sel{position:relative;display:flex;align-items:center;gap:6px;color:var(--gr);flex:none}
.lang-sel svg{flex:none}
.lang-sel select{appearance:none;-webkit-appearance:none;background:var(--bg2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2396A5B9'/%3E%3C/svg%3E") no-repeat;background-position:right 10px center;color:var(--wh);border:1px solid var(--line);border-radius:999px;font:inherit;font-size:14px;font-weight:700;padding:6px 28px 6px 12px;max-width:170px;cursor:pointer}
[dir=rtl] .lang-sel select{background-position:left 10px center;padding:6px 12px 6px 30px}
.lang-sel select:hover,.lang-sel select:focus-visible{border-color:rgba(0,200,255,.6);outline:none}
.lang-sel select option{background:var(--bg2);color:var(--wh)}
.brand{flex:none}
.ceo{max-width:640px;margin:0 auto;background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:28px 30px}
.ceo-name{font-size:19px;font-weight:800;text-align:center}
.ceo-name .ceo-t{color:var(--cy);margin-inline-end:6px}.ceo-name .ceo-n{white-space:nowrap}
.ceo-name [lang=en]{color:var(--gr);font-weight:700}
.ceo-list{list-style:none;margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.ceo-list li{position:relative;padding-block:5px;padding-inline:18px 0;font-size:15.5px;line-height:1.55}
.ceo-list li::before{content:'';position:absolute;inset-inline-start:2px;top:14px;width:6px;height:6px;border-radius:50%;background:var(--cy)}
@media(max-width:860px){.nav nav a{margin-inline-start:14px;font-size:14px}}
@media(max-width:760px){.nav nav{display:none}}
@media(max-width:600px){.ceo{padding:22px 20px}.ceo-name{font-size:17px}.ceo-list li{font-size:15px}.lang-sel select{font-size:13px;max-width:150px}footer p span{white-space:normal}footer p>span{display:inline-block;max-width:100%}}

header.nav .wrap{gap:14px}
.lang-sel select{padding-inline-end:30px}
@media(max-width:600px){.lang-sel svg{display:none}.brand{gap:8px;font-size:19px}.brand .en{font-size:12px}}
footer bdi{white-space:nowrap}

/* CEO bio line 3: always one line (no wrap, never truncated); on mobile the size is trimmed per language to fit 390px and scales down with the viewport below that. English keeps its original text and wrapping. */
html:not([data-lang=en]) .ceo-list li.ceo-l3{white-space:nowrap}
@media(max-width:600px){
html[data-lang=ko] .ceo-list li.ceo-l3{font-size:min(15px,4.029vw)}
html[data-lang=zh] .ceo-list li.ceo-l3{font-size:min(15px,4.872vw)}
html[data-lang=hi] .ceo-list li.ceo-l3{font-size:min(15px,4.044vw)}
html[data-lang=ja] .ceo-list li.ceo-l3{font-size:min(12.3px,3.167vw)}
html[data-lang=de] .ceo-list li.ceo-l3{font-size:min(11.8px,3.044vw)}
html[data-lang=fr] .ceo-list li.ceo-l3{font-size:min(12.0px,3.081vw)}
html[data-lang=es] .ceo-list li.ceo-l3{font-size:min(12.5px,3.219vw)}
html[data-lang=ar] .ceo-list li.ceo-l3{font-size:min(12.7px,3.279vw)}
html[data-lang=ru] .ceo-list li.ceo-l3{font-size:min(12.0px,3.077vw)}
html[data-lang=ms] .ceo-list li.ceo-l3{font-size:min(11.4px,2.932vw)}
html[data-lang=id] .ceo-list li.ceo-l3{font-size:min(12.5px,3.219vw)}
html[data-lang=th] .ceo-list li.ceo-l3{font-size:min(13.7px,3.518vw)}
html[data-lang=tr] .ceo-list li.ceo-l3{font-size:min(11.4px,2.939vw)}
}
