:root{--bg:#101114;--panel:#18191d;--line:#2a2b30;--text:#f2f1ee;--muted:#9a9aa0;--soft:#c9c8c4;--brass:#f2b544;--max:1120px;color-scheme:dark}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(72px + env(safe-area-inset-top,0px))}
body{background:var(--bg);color:var(--text);font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

header{position:sticky;top:0;z-index:10;background:rgba(16,17,20,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:19px;letter-spacing:-.02em}
.logo svg{width:24px;height:24px}
nav ul{display:flex;gap:28px;list-style:none;padding:0}
nav a{color:var(--muted);font-size:15px;transition:color .2s}
nav a:hover{color:var(--text)}
.menu{display:none;background:none;border:0;color:var(--text);padding:8px;cursor:pointer}

h1{font-size:clamp(40px,7vw,76px);line-height:1.08;letter-spacing:-.045em;font-weight:800}
h2{font-size:clamp(26px,3.6vw,36px);letter-spacing:-.03em;line-height:1.25;font-weight:700}
.sub{color:var(--muted);margin-top:8px}
section{padding:72px 0}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:48px;padding:0 22px;border-radius:24px;font-size:15px;font-weight:600;border:1px solid var(--line);background:none;color:inherit;font-family:inherit;cursor:pointer;transition:background .2s,border-color .2s}
.btn:hover{border-color:#4a4b52}
.btn.main{background:var(--text);color:var(--bg);border-color:var(--text)}
.btn.main:hover{background:#fff}
.btn.off{color:var(--muted);cursor:default}
.btn.off:hover{border-color:var(--line)}

.ico{width:60px;height:60px;border-radius:16px;display:grid;place-items:center;flex-shrink:0}
.ico svg{width:50%;height:50%}

.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:36px}
.row{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap}
.row .app{flex:1 1 300px}
.app{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:18px;transition:border-color .2s}
.app:hover{border-color:#3a3b42}
.app-top{display:flex;gap:16px;align-items:center}
.app h3{font-size:21px;letter-spacing:-.02em}
.app h3 a::after{content:"";position:absolute;inset:0;border-radius:24px}
.tag{color:var(--muted);font-size:14px}
.desc{color:var(--soft);font-size:15px;flex:1}
.meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.meta .btn{position:relative;z-index:1;height:40px;padding:0 18px;font-size:14px}
.state{font-size:13px;color:var(--muted)}
.soon .app{background:transparent;border-style:dashed}

footer{border-top:1px solid var(--line);padding:32px 0 calc(32px + env(safe-area-inset-bottom,0px));color:#6d6d73;font-size:13px}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

@media (max-width:860px){
 .grid{grid-template-columns:1fr}
 .menu{display:block}
 nav{position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);display:none}
 nav.open{display:block}
 nav ul{flex-direction:column;gap:0;padding:8px 20px 16px}
 nav a{display:block;padding:12px 0;font-size:17px;color:var(--text)}
 section{padding:56px 0}
 .app{padding:22px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
