:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090b10;--panel:#11141b;--text:#edf2ff;--muted:#a6b0c3;--line:#202736;--accent:#6ea8ff}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:Inter,Pretendard,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit;text-decoration:none}main{min-height:100vh}.container{width:min(1100px,100% - 2rem);margin:0 auto}.section{border-top:1px solid var(--line);padding:5rem 0}.section h2{margin-top:0;margin-bottom:1rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem}.muted{color:var(--muted)}.badge-list{flex-wrap:wrap;gap:.5rem;display:flex}.badge{border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;padding:.25rem .65rem;font-size:.85rem;display:inline-flex}.btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:flex-start;align-items:center;gap:.5rem;padding:0;font-weight:600;line-height:1.2;text-decoration:none;transition:color .18s,text-shadow .18s,transform .18s;display:inline-flex}.btn:hover{color:#b4dcff;text-shadow:0 0 10px #6ea8ff5c,0 0 24px #6ea8ff2e;transform:translateY(-1px)}.hero-shell{isolation:isolate;background:#05070c;min-height:100svh;position:relative;overflow:hidden}.hero-shell__shade{pointer-events:none;z-index:3;background:radial-gradient(#0000 18%,#00000059 55%,#000000d1 85%,#000000f5 100%),radial-gradient(circle at 78% 22%,#6ea8ff1f,#0000 30%),linear-gradient(#04070ce6 0%,#04070c33 22%,#04070c1a 55%,#04070ceb 100%);position:absolute;inset:0}.hero-canvas{z-index:1;overflow:hidden}.hero-glyphs{z-index:2;pointer-events:none;mix-blend-mode:screen;transform-origin:50%;transition:transform .52s cubic-bezier(.76,0,.24,1),opacity .36s,filter .36s;position:absolute;inset:0;overflow:hidden}.hero-glyphs__item{pointer-events:auto;color:#9ec0ff99;letter-spacing:.08em;text-shadow:0 0 10px #6ea8ff2e;animation-name:heroGlyphRise;animation-duration:var(--glyph-duration,12s);animation-delay:var(--glyph-delay,0s);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;transition:color .14s,text-shadow .14s,filter .14s;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:-12%}.hero-glyphs__item:hover{color:#d0e6fff5;text-shadow:0 0 10px #6ea8ff57,0 0 22px #ff5ac81f}.hero-glyphs__item.is-rippled{animation-name:heroGlyphRise,heroGlyphRipple;animation-duration:var(--glyph-duration,12s), calc(.28s + var(--pulse-strength,.5) * .32s);animation-delay:var(--glyph-delay,0s), var(--pulse-delay,0s);animation-timing-function:linear,cubic-bezier(.16,1,.3,1);animation-iteration-count:infinite,1}.hero-glyphs__item.is-rippled:before,.hero-glyphs__item.is-rippled:after{content:attr(data-glyph);pointer-events:none;mix-blend-mode:screen;opacity:0;position:absolute;inset:0}.hero-glyphs__item.is-rippled:before{color:#5af0ffd9;animation:heroGlyphPulseGhost calc(.22s + var(--pulse-strength,.5) * .22s) steps(2) var(--pulse-delay,0s) 1}.hero-glyphs__item.is-rippled:after{color:#ff5ac8c7;animation:heroGlyphPulseGhost calc(.26s + var(--pulse-strength,.5) * .24s) steps(2) calc(var(--pulse-delay,0s) + 28ms) 1 reverse}.hero-glyphs.is-collapsing{opacity:0;filter:blur(4px)hue-rotate(30deg)saturate(1.6);transform:scale(.02)}.hero-nav{z-index:50;pointer-events:none;padding:1.1rem 1.5rem;position:fixed;top:0;left:0;right:0}.hero-nav>*{pointer-events:auto}.hero-nav__inner{width:min(1240px,100% - 1rem);box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border-radius:999px;justify-content:space-between;align-items:center;gap:1.5rem;margin:0 auto;padding:.8rem 1rem;display:flex}.hero-nav__brand{letter-spacing:.18em;font-size:.8rem;font-weight:700}.hero-nav__menu{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.9rem,2vw,2rem);display:flex}.hero-nav__link{letter-spacing:.12em;color:#edf2ffeb;font-size:.78rem;font-weight:700}.hero-nav__interactive{transition:color .18s,text-shadow .18s,opacity .18s;position:relative}.hero-nav__interactive:hover{color:var(--accent);text-shadow:0 0 10px #6ea8ff5c,0 0 24px #6ea8ff33}.hero-glass-panel{box-shadow:none;-webkit-backdrop-filter:blur(12px)saturate(150%)brightness(1.04);background:linear-gradient(#ffffff08,#ffffff03);border:none}.hero-overlay{z-index:10;pointer-events:none;align-items:flex-end;padding:0 1.5rem max(9vh,3.5rem);display:flex;position:absolute;inset:0}.hero-overlay__content{pointer-events:auto;width:min(1240px,100%);max-width:1180px;margin:0 auto}.hero-overlay__eyebrow{letter-spacing:.28em;text-transform:uppercase;color:#edf2ffb8;margin:0 0 .9rem;font-size:.9rem}.hero-overlay__title{letter-spacing:-.06em;text-transform:uppercase;mix-blend-mode:normal;flex-direction:column;gap:clamp(.1rem,.4vw,.4rem);margin:0;font-family:Inter,Pretendard,system-ui,sans-serif;font-size:clamp(4.4rem,15vw,13rem);font-weight:800;line-height:.86;display:flex}.hero-overlay__tagline{color:#edf2ffc7;max-width:560px;margin:1.4rem 0 0;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.55}.hero-overlay__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.6rem;display:flex}.hero-glass-button{min-width:0;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;padding-inline:0;transition:transform .18s,box-shadow .18s,background .18s}.hero-glass-button:hover{box-shadow:none;background:0 0;transform:translateY(-1px)}.hero-assemble{cursor:default;isolation:isolate;text-shadow:0 0 14px #ffffff14,0 0 28px #6ea8ff1a;transition:text-shadow .24s;position:relative}.hero-assemble__line{display:block;position:relative}.hero-assemble__line:before,.hero-assemble__line:after{content:attr(data-text);pointer-events:none;mix-blend-mode:screen;background:0 0;transition:opacity .18s,transform .18s,color .18s;position:absolute;inset:0}.hero-assemble__line.is-settled:before{color:#5af0ffe6;opacity:.9;animation:.72s steps(6,end) infinite heroGlitchSliceTop}.hero-assemble__line.is-settled:after{color:#ff5ac8e6;opacity:.9;animation:.82s steps(6,end) infinite heroGlitchSliceBottom}.hero-assemble.is-hovered{text-shadow:0 0 18px #a0dcff8c,0 0 42px #6ea8ff59,0 0 96px #6ea8ff33;animation:.18s steps(2,end) infinite heroGlitch}.hero-assemble__line.is-settled{animation:.42s cubic-bezier(.2,.8,.2,1) heroLineSettle}.hero-assemble__line.is-breaking{animation:.16s steps(2,end) infinite heroBreakShake}.hero-assemble__chunk{display:inline-block}.hero-fade-up{opacity:0;animation:.72s cubic-bezier(.2,.8,.2,1) forwards heroFadeUp;transform:translateY(24px)}@keyframes heroGlyphRise{0%{opacity:0;transform:translate(0,0)}10%{opacity:1}to{opacity:0;transform:translateY(-118vh)}}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes heroLineSettle{0%{letter-spacing:.05em;filter:blur(6px)brightness(1.6)}60%{letter-spacing:-.05em;filter:blur(.6px)brightness(1.2)}to{letter-spacing:-.06em;filter:blur()brightness()}}@keyframes heroGlitch{0%,to{transform:translate(0,0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px)}}@keyframes heroGlyphRipple{0%{filter:brightness()saturate();text-shadow:0 0 10px #6ea8ff2e;transform:translate(0,0)scale(1)}18%{transform:translate3d(calc(var(--pulse-shift-x,0px) * -.35), calc(var(--pulse-shift-y,0px) * -.35), 0) scale(calc(1 + var(--pulse-strength,.5) * .12));filter:brightness(calc(1.15 + var(--pulse-strength,.5) * .25)) saturate(calc(1.2 + var(--pulse-strength,.5) * .5));text-shadow:0 0 10px #6ea8ff7a,0 0 24px #ff5ac82e}52%{transform:translate3d(var(--pulse-shift-x,0px), var(--pulse-shift-y,0px), 0) scale(calc(1 + var(--pulse-strength,.5) * .22));filter:brightness(calc(1.2 + var(--pulse-strength,.5) * .35)) saturate(calc(1.3 + var(--pulse-strength,.5) * .55));text-shadow:0 0 12px #6ea8ff9e,0 0 28px #ff5ac842}to{filter:brightness()saturate();text-shadow:0 0 10px #6ea8ff2e;transform:translate(0,0)scale(1)}}@keyframes heroGlyphPulseGhost{0%,to{opacity:0;transform:translate(0,0)}30%{opacity:.88;transform:translate3d(calc(var(--pulse-shift-x,0px) * -.45), calc(var(--pulse-shift-y,0px) * -.45), 0)}60%{opacity:.75;transform:translate3d(calc(var(--pulse-shift-x,0px) * .45), calc(var(--pulse-shift-y,0px) * .45), 0)}}@keyframes heroBreakShake{0%,to{transform:translate(0,0)}20%{transform:translate(-3px,1px)}40%{transform:translate(2px,-2px)}60%{transform:translate(-1px,2px)}80%{transform:translate(3px,-1px)}}@keyframes heroGlitchSliceTop{0%{clip-path:inset(0 0 75%);transform:translate(-4px,-2px)}20%{clip-path:inset(20% 0 55%);transform:translate(6px,1px)}40%{clip-path:inset(45% 0 30%);transform:translate(-5px,-1px)}60%{clip-path:inset(10% 0 70%);transform:translate(4px,2px)}80%{clip-path:inset(55% 0 20%);transform:translate(-3px,-2px)}to{clip-path:inset(30% 0 50%);transform:translate(5px,1px)}}@keyframes heroGlitchSliceBottom{0%{clip-path:inset(70% 0 5%);transform:translate(5px,2px)}25%{clip-path:inset(40% 0 25%);transform:translate(-6px,-1px)}50%{clip-path:inset(15% 0 65%);transform:translate(4px,2px)}75%{clip-path:inset(60% 0 10%);transform:translate(-4px,-2px)}to{clip-path:inset(35% 0 45%);transform:translate(3px,1px)}}.hero-glitch-hover{isolation:isolate;text-shadow:0 0 6px #6ea8ff1f,0 0 14px #6ea8ff0f;transition:color .18s,text-shadow .18s,opacity .18s,transform .18s;position:relative}.hero-glitch-hover__label{z-index:1;display:inline-block;position:relative}.hero-glitch-hover:before,.hero-glitch-hover:after{content:attr(data-text);pointer-events:none;opacity:.18;mix-blend-mode:screen;white-space:nowrap;justify-content:flex-start;align-items:center;transition:opacity .14s,transform .14s,color .14s;display:flex;position:absolute;inset:0}.hero-glitch-hover:before{color:#5af0ff61;animation:3.2s steps(6,end) infinite heroGlitchSliceTop}.hero-glitch-hover:after{color:#ff5ac852;animation:3.6s steps(6,end) infinite reverse heroGlitchSliceBottom}.hero-glitch-hover .hero-glitch-hover__label{animation:2.6s steps(2,end) infinite heroIdleFlicker}.hero-glitch-hover:hover,.hero-glitch-hover:focus-visible{color:#b4dcff;text-shadow:0 0 10px #6ea8ff66,0 0 24px #6ea8ff38}.hero-glitch-hover:hover:before,.hero-glitch-hover:hover:after,.hero-glitch-hover:focus-visible:before,.hero-glitch-hover:focus-visible:after{opacity:.85}.hero-glitch-hover:hover:before,.hero-glitch-hover:focus-visible:before{color:#5af0ffe6;animation:.6s steps(6,end) infinite heroGlitchSliceTop}.hero-glitch-hover:hover:after,.hero-glitch-hover:focus-visible:after{color:#ff5ac8e6;animation:.7s steps(6,end) infinite heroGlitchSliceBottom}.hero-glitch-hover:hover .hero-glitch-hover__label,.hero-glitch-hover:focus-visible .hero-glitch-hover__label{animation:.16s steps(2,end) infinite heroBreakShake}:is(.hero-nav__inner:has(.hero-glitch-hover:hover) .hero-glitch-hover:not(:hover):not(:focus-visible),.glitch-cluster:has(.hero-glitch-hover:hover) .hero-glitch-hover:not(:hover):not(:focus-visible)){color:#e1ebffeb;text-shadow:0 0 8px #6ea8ff2e,0 0 18px #ff5ac814}.hero-nav__inner:has(.hero-glitch-hover:hover) .hero-glitch-hover:not(:hover):not(:focus-visible):before{opacity:.28;animation-duration:1.5s}.glitch-cluster:has(.hero-glitch-hover:hover) .hero-glitch-hover:not(:hover):not(:focus-visible):before{opacity:.28;animation-duration:1.5s}.hero-nav__inner:has(.hero-glitch-hover:hover) .hero-glitch-hover:not(:hover):not(:focus-visible):after{opacity:.24;animation-duration:1.7s}.glitch-cluster:has(.hero-glitch-hover:hover) .hero-glitch-hover:not(:hover):not(:focus-visible):after{opacity:.24;animation-duration:1.7s}:is(.hero-nav__inner:has(.hero-glitch-hover:hover) .hero-glitch-hover:not(:hover):not(:focus-visible) .hero-glitch-hover__label,.glitch-cluster:has(.hero-glitch-hover:hover) .hero-glitch-hover:not(:hover):not(:focus-visible) .hero-glitch-hover__label){animation:.52s steps(2,end) infinite heroBreakShake}@keyframes heroIdleFlicker{0%,82%,to{transform:translate(0,0)}84%{transform:translate(-1px)}88%{transform:translate(1px)}92%{transform:translate(-1px,1px)}}@media (max-width:720px){.hero-nav__inner{border-radius:28px;flex-direction:column;align-items:flex-start}.hero-nav__menu{justify-content:flex-start;gap:.9rem 1.1rem}.hero-overlay{padding-inline:1rem;padding-bottom:3rem}.hero-glass-button{min-width:0}}
