:root{--bg:#0b0b0f;--bg2:#15151c;--fg:#f2f1ee;--mut:#a9a8b3;--acc:#c8ff3d;--line:#2a2a34;--r:14px;
--font:-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",Roboto,Helvetica,Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--font);word-break:keep-all;overflow-wrap:break-word}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
img{max-width:100%;height:auto;display:block}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}
.narrow{max-width:760px}
.skip{position:absolute;left:-999px;top:8px;background:var(--acc);color:#000;padding:8px 12px;border-radius:8px;z-index:9}
.skip:focus{left:8px}
.top{position:sticky;top:0;z-index:5;background:rgba(11,11,15,.88);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;min-height:56px;gap:12px}
.logo{font-weight:900;letter-spacing:.12em;text-decoration:none;font-size:20px}
.logo span{background:linear-gradient(90deg,var(--fg),var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent}
nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
nav a{display:inline-block;padding:10px 10px;text-decoration:none;color:var(--mut);font-size:15px;min-height:44px}
nav a:hover,nav a[aria-current]{color:var(--fg)}
nav a.lang{border:1px solid var(--line);border-radius:999px;padding:9px 12px;line-height:1.2;min-height:auto;margin-top:2px}
.hero{padding:72px 0 40px}
.kicker{color:var(--acc);font-size:13px;letter-spacing:.16em;margin:0 0 12px;font-weight:700}
h1{font-size:clamp(34px,8vw,84px);line-height:1.05;margin:0 0 16px;letter-spacing:-.02em}
.work h1,.sec>h1{font-size:clamp(30px,6vw,56px)}
h2{font-size:clamp(22px,4vw,30px);margin:40px 0 16px;letter-spacing:-.01em}
.lead{font-size:clamp(17px,2.4vw,21px);color:var(--mut);max-width:640px;margin:0 0 24px}
.btns{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--acc);color:#0b0b0f;font-weight:700;text-decoration:none;padding:13px 20px;border-radius:999px;min-height:48px}
.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}
.btn.big{font-size:clamp(16px,4vw,22px);word-break:break-all}
.sec{padding:24px 16px 40px}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.sec-h a{color:var(--mut);text-decoration:none;padding:10px 0}
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:600px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.grid{grid-template-columns:repeat(3,1fr);gap:22px}}
.card a{display:block;text-decoration:none;background:var(--bg2);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);transition:transform .2s,border-color .2s}
.card a:hover{transform:translateY(-3px);border-color:#4a4a58}
.card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#1d1d25}
.card-t{display:block;padding:12px 14px 2px;font-weight:700;font-size:16px;line-height:1.35}
.card-c{display:block;padding:0 14px 14px;color:var(--mut);font-size:14px}
.clients{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.clients li,.tags li{border:1px solid var(--line);border-radius:999px;padding:6px 14px;color:var(--mut);font-size:14px}
.tags{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tags a{color:var(--fg);text-decoration:none;display:inline-block;padding:4px 0}
.cta{border-top:1px solid var(--line);margin-top:24px}
.meta{display:flex;flex-wrap:wrap;gap:8px 32px;margin:0 0 24px}
.meta dt,.facts dd{color:var(--mut);font-size:13px;margin:0}
.meta dd{margin:0}
.facts{display:flex;gap:32px;margin:32px 0}
.facts dt{font-size:44px;font-weight:900;color:var(--acc);line-height:1}
.facts dd{margin-top:6px}
.hist{list-style:none;padding:0;margin:0}
.hist li{padding:10px 0;border-bottom:1px solid var(--line)}
.hist span{color:var(--acc);font-weight:700;margin-right:10px}
.video{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--r);overflow:hidden;margin:0 0 8px}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{all:unset;cursor:pointer;position:absolute;inset:0;display:block}
.play img{width:100%;height:100%;object-fit:cover;opacity:.85}
.play:hover img{opacity:1}
.pbtn{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--acc);box-shadow:0 6px 30px rgba(0,0,0,.5)}
.pbtn::after{content:"";position:absolute;left:31px;top:24px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent #0b0b0f}
.play:focus-visible{outline:3px solid var(--acc);outline-offset:-3px}
.vlabel{font-weight:700;margin:24px 0 8px}
.still img{border-radius:var(--r);max-width:560px;width:100%}
figure{margin:0 0 16px}
.small{font-size:14px;color:var(--mut)}
.small a{color:var(--mut)}
.pn{display:flex;justify-content:space-between;gap:16px;margin-top:40px;border-top:1px solid var(--line);padding-top:16px}
.pn a{text-decoration:none;color:var(--mut);padding:10px 0;max-width:48%}
.pn a:hover{color:var(--fg)}
.foot{border-top:1px solid var(--line);margin-top:40px;padding:24px 0 40px;color:var(--mut);font-size:14px}
.foot a{color:var(--fg)}
.foot p{margin:6px 0}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
