:root {
  --bg: #f2f2ef;
  --ink: #111;
  --muted: #6b6b66;
  --line: rgba(17,17,17,.16);
  --dark: #0b0d10;
  --ease: cubic-bezier(.16,1,.3,1);
  --header-height: 54px;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Noto Sans KR",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
.site-shell{min-height:100vh}
.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:#fff;background:rgba(9,11,14,.34);-webkit-backdrop-filter:blur(18px) saturate(125%);backdrop-filter:blur(18px) saturate(125%);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 30px rgba(0,0,0,.08);isolation:isolate;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}
.brand{font-weight:700;letter-spacing:.08em}
.desktop-nav{display:flex;gap:2rem;font-size:.88rem}.desktop-nav a,.brand{transition:opacity .25s}.desktop-nav a:hover,.brand:hover{opacity:.6}
.menu-button{display:flex;align-items:center;gap:14px;background:none;border:0;color:inherit;cursor:pointer;letter-spacing:.08em;font-size:.82rem}
.menu-icon{position:relative;width:28px;height:18px;display:block}.menu-icon i{position:absolute;left:0;width:100%;height:1.5px;background:currentColor;transition:transform .45s var(--ease),top .45s var(--ease)}.menu-icon i:first-child{top:5px}.menu-icon i:last-child{top:13px}.menu-button.is-open .menu-icon i:first-child{top:9px;transform:rotate(45deg)}.menu-button.is-open .menu-icon i:last-child{top:9px;transform:rotate(-45deg)}
.menu-overlay{position:fixed;z-index:900;top:var(--header-height);right:0;bottom:0;left:0;background:#808C8D;visibility:hidden;clip-path:inset(0 0 100% 0)}
.menu-inner{height:100%;padding:66px 5vw 4vw;display:flex;flex-direction:column;justify-content:space-between}.menu-meta,.menu-footer{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.menu-nav{display:flex;flex-direction:column;border-top:1px solid rgba(0,0,0,.22)}.menu-nav a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.22);padding:2.3vh 0;font-size:clamp(2.8rem,7vw,7rem);line-height:.95}.menu-nav b{font-size:.85rem;font-weight:500}.menu-mask{display:block;overflow:hidden}.menu-mask>span{display:block}
.page-transition{position:fixed;z-index:950;top:var(--header-height);right:0;bottom:0;left:0;background:#0a0a0a;transform:scaleY(0);transform-origin:bottom;pointer-events:none}
.hero{position:relative;height:100vh;min-height:720px;overflow:hidden;background:#090b0e;color:#fff;display:flex;align-items:flex-end;padding:0 5vw 8vh}.hero-media{position:absolute;inset:0;overflow:hidden}.hero-grid{position:absolute;inset:-10%;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:80px 80px;transform:perspective(700px) rotateX(62deg) translateY(23%);transform-origin:center bottom;opacity:.35}.hero-orb{position:absolute;border-radius:50%;filter:blur(4px);opacity:.9}.orb-a{width:54vw;height:54vw;right:-12vw;top:-10vw;background:radial-gradient(circle at 34% 34%,#a6ff48 0 12%,#3e7cff 36%,rgba(62,124,255,0) 68%)}.orb-b{width:34vw;height:34vw;left:18vw;bottom:-16vw;background:radial-gradient(circle,#ff5d7a,rgba(255,93,122,0) 65%)}
.hero-copy{position:relative;z-index:2;max-width:1100px}.eyebrow,.section-kicker{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.6rem}.hero h1{font-size:clamp(3rem,7.4vw,10.8rem);font-weight:600;letter-spacing:-.035em;line-height:1.16;margin:0.05}.reveal-line{display:block;overflow:hidden}.reveal-line>span{display:block;transform:translateY(110%)}.hero p{max-width:580px;font-size:clamp(1rem,1.2vw,1.25rem);line-height:1.15;margin:1.0rem 0 0;color:rgba(255,255,255,.7)}.scroll-down{position:absolute;right:5vw;bottom:8vh;font-size:.65rem;letter-spacing:.12em;display:flex;gap:10px}
.products{padding:14vw 5vw 8vw}.section-intro{display:grid;grid-template-columns:1fr 3fr;margin-bottom:10vw}.masked-heading{font-size:clamp(3rem,7vw,9.8rem);font-weight:600;letter-spacing:-0.035em;line-height:1.16;margin:0.05}.masked-heading>span,.solution-title>span{display:block;overflow:hidden}.masked-heading em,.solution-title em{display:block;font-style:normal}
.product{display:grid;grid-template-columns:1.55fr 1fr;gap:5vw;align-items:center;margin:0 0 13vw}.product.reverse{grid-template-columns:1fr 1.55fr}.product.reverse .product-media{order:2}.product.reverse .product-info{order:1}.product-media{overflow:hidden;aspect-ratio:1.25/1}.media-art{position:relative;width:100%;height:116%;top:-8%;overflow:hidden;background:#111}.art-ai{background:linear-gradient(135deg,#10151c,#25355a 55%,#8c49ff)}.chip{position:absolute;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.06);backdrop-filter:blur(10px)}.chip-1{width:34%;height:28%;left:13%;top:22%;transform:rotate(-8deg)}.chip-2{width:26%;height:34%;right:14%;top:34%;transform:rotate(12deg)}.chip-3{width:38%;height:18%;left:34%;bottom:13%;transform:rotate(-3deg)}.ring{position:absolute;border:1px solid rgba(181,255,94,.65);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.ring-1{width:55%;height:55%}.ring-2{width:82%;height:82%;opacity:.35}.art-cloud{background:linear-gradient(160deg,#152019,#2f7b62 55%,#c8ff6e)}.cloud-stack{position:absolute;left:14%;right:14%;height:14%;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.12);backdrop-filter:blur(10px)}.stack-1{top:20%}.stack-2{top:42%;left:22%;right:8%}.stack-3{top:64%;left:8%;right:26%}.beam{position:absolute;width:1px;height:80%;background:linear-gradient(transparent,#d9ff93,transparent);top:10%}.beam-1{left:42%}.beam-2{left:67%}.product-number{font-size:.8rem;letter-spacing:.1em}.product-info h3{font-size:clamp(2.7rem,4.6vw,5.5rem);font-weight:500;letter-spacing:-.05em;line-height:.95;margin:2.1rem 0 1.6rem}.product-info p{max-width:520px;color:var(--muted);font-size:1.05rem;line-height:1.7}.motion-link{position:relative;display:inline-flex;align-items:center;gap:20px;margin-top:2rem;padding-bottom:.5rem}.motion-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.motion-link:hover:after{transform:scaleX(1);transform-origin:left}
.solution{position:relative;background:var(--dark);color:#fff;padding:12vw 5vw;overflow:hidden}.light{color:rgba(255,255,255,.5)}.solution-title{font-size:clamp(2rem,9.5vw,10rem);font-weight:600;letter-spacing:-.06em;line-height:1.15;margin:0 0 8vw}.solution-visual-wrap{display:flex;justify-content:center}.solution-visual{position:relative;width:78vw;height:62vh;min-height:480px;background:radial-gradient(circle at 50% 50%,rgba(165,255,91,.2),rgba(64,85,255,.15) 30%,#111720 66%,#090b0f);overflow:hidden;clip-path:inset(18% 14% 18% 14%)}.solution-radar{position:absolute;inset:8%;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.02)}.solution-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:110px;height:110px;border-radius:50%;display:grid;place-items:center;border:1px solid #caff7f;background:rgba(202,255,127,.08);font-size:1.6rem}.solution-path{position:absolute;left:50%;top:50%;width:44%;height:1px;background:linear-gradient(90deg,transparent,#caff7f,transparent);transform-origin:left}.path-a{transform:rotate(25deg)}.path-b{transform:rotate(155deg)}.solution-links{display:flex;gap:4rem;justify-content:flex-end;margin-top:3vw}.light-link{color:#fff}
.news{padding:12vw 5vw}.news-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4vw}.news-header h2{margin:0;font-size:clamp(3rem,6vw,6.5rem);font-weight:500;letter-spacing:-.05em}.news-layout{display:grid;grid-template-columns:1.6fr .8fr;gap:4vw}.news-list{border-top:2px solid var(--line)}.news-item{display:grid;grid-template-columns:.7fr 2fr .7fr auto;gap:1.2rem;align-items:center;padding:2rem 0;border-bottom:1px solid var(--line);transition:opacity .25s}.news-item span,.news-item time{font-size:.8rem;color:var(--muted)}.news-item strong{font-size:clamp(1.25rem,2vw,2rem);font-weight:500}.news-item i{font-style:normal}.news-preview{position:sticky;top:120px;height:420px;overflow:hidden;background:#111}.preview-art{position:absolute;inset:0;opacity:0;transform:scale(1.05);transition:opacity .35s}.preview-art.active{opacity:1}.preview-ai{background:radial-gradient(circle at 30% 30%,#afff6f,transparent 20%),linear-gradient(135deg,#10131a,#6246dd)}.preview-cloud{background:radial-gradient(circle at 65% 35%,#d2ff89,transparent 22%),linear-gradient(135deg,#0e1713,#276852)}.preview-security{background:radial-gradient(circle at 50% 55%,#ff7f93,transparent 14%),repeating-radial-gradient(circle at 50% 55%,rgba(255,255,255,.12) 0 1px,transparent 1px 44px),#11131a}.footer{min-height:68vh;background:#dfff55;padding:8vw 5vw;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.footer-kicker{font-size:.78rem;letter-spacing:.13em}.footer h2{font-size:clamp(4rem,9vw,9rem);letter-spacing:-.06em;line-height:.88;margin:1.5rem 0 0;font-weight:500}.footer-cta{font-size:1.05rem;border-bottom:1px solid;padding-bottom:.4rem;white-space:nowrap}
@media (max-width:900px){
  .site-header{padding:0 4vw}
  .brand{font-size:.92rem;white-space:nowrap}
  .desktop-nav{display:none}
  .menu-button{gap:10px;font-size:.76rem}
  .menu-icon{width:24px}

  .hero{height:100svh;min-height:620px;padding:0 5vw max(7vh,44px)}
  .hero-grid{background-size:56px 56px}
  .orb-a{width:82vw;height:82vw;right:-28vw;top:-8vw}
  .orb-b{width:58vw;height:58vw;left:-10vw;bottom:-22vw}
  .hero-copy{max-width:92vw}
  .hero h1{font-size:clamp(3.2rem,12.5vw,7rem);line-height:1.02}
  .hero p{max-width:36rem;font-size:1rem;line-height:1.55;margin-top:1.2rem}
  .eyebrow,.section-kicker{margin-bottom:1.1rem}
  .scroll-down{right:5vw;bottom:3.2vh}

  .products{padding:18vw 5vw 12vw}
  .section-intro{grid-template-columns:1fr;gap:1rem;margin-bottom:15vw}
  .masked-heading{font-size:clamp(3rem,10vw,5.4rem);line-height:.94}
  .product,.product.reverse{grid-template-columns:1fr;gap:2rem;margin-bottom:18vw}
  .product.reverse .product-media,.product.reverse .product-info{order:initial}
  .product-media{aspect-ratio:1.22/1}
  .product-info h3{font-size:clamp(2.6rem,9vw,4.5rem);margin:1.3rem 0 1rem}
  .product-info p{font-size:1rem;line-height:1.65}

  .solution{padding:18vw 5vw 14vw}
  .solution-title{font-size:clamp(3.5rem,12vw,6.7rem);line-height:.9;margin-bottom:12vw}
  .solution-visual{width:100%;height:50svh;min-height:390px}
  .solution-links{justify-content:flex-start;flex-wrap:wrap;gap:1rem 2.2rem;margin-top:7vw}

  .news{padding:18vw 5vw}
  .news-header{display:block;margin-bottom:9vw}
  .news-header h2{font-size:clamp(3rem,10vw,5rem);margin-top:.5rem}
  .news-layout{grid-template-columns:1fr}
  .news-preview{display:none}
  .news-item{grid-template-columns:1fr auto;gap:.65rem 1rem;padding:1.55rem 0}
  .news-item strong{grid-column:1/-1;font-size:clamp(1.25rem,4vw,1.7rem);line-height:1.25}
  .news-item span,.news-item time{grid-row:auto;font-size:.74rem}
  .news-item time{text-align:right}
  .news-item i{grid-column:2;grid-row:1;align-self:start}

  .footer{min-height:56svh;padding:14vw 5vw 8vw;flex-direction:column;align-items:flex-start;justify-content:flex-end}
  .footer h2{font-size:clamp(3.4rem,12vw,6.6rem)}
  .footer-cta{margin-top:2rem}

  .menu-inner{padding:36px 5vw 5vw}
  .menu-nav a{font-size:clamp(2.6rem,11vw,5rem);padding:2.1vh 0}
}

@media (max-width:640px){
  :root{--header-height:54px}
  .site-header{padding:0 18px}
  .brand{font-size:.86rem;letter-spacing:.06em}
  .menu-label{display:none}
  .menu-button{gap:0;padding:10px 0 10px 12px}
  .menu-icon{width:26px;height:18px}

  .menu-inner{padding:28px 20px 24px}
  .menu-meta,.menu-footer{font-size:.7rem;line-height:1.45}
  .menu-nav a{font-size:clamp(2.5rem,13vw,4.5rem);padding:2.25vh 0}
  .menu-nav b{font-size:.72rem}

  .hero{min-height:560px;padding-left:20px;padding-right:20px;padding-bottom:62px}
  .hero-copy{max-width:100%}
  .hero h1{font-size:clamp(3rem,15vw,5.4rem);letter-spacing:-.06em}
  .hero p{font-size:.94rem;max-width:29rem}
  .eyebrow,.section-kicker{font-size:.7rem;letter-spacing:.12em}
  .scroll-down{left:20px;right:auto;bottom:22px}

  .products,.news{padding-left:20px;padding-right:20px}
  .products{padding-top:88px;padding-bottom:72px}
  .section-intro{margin-bottom:72px}
  .masked-heading{font-size:clamp(2.8rem,13vw,4.7rem)}
  .product,.product.reverse{margin-bottom:88px;gap:24px}
  .product-media{aspect-ratio:1/1}
  .product-info h3{font-size:clamp(2.45rem,12vw,4rem)}
  .product-info p{font-size:.95rem}
  .motion-link{margin-top:1.35rem}

  .solution{padding:88px 20px 72px}
  .solution-title{font-size:clamp(3rem,14vw,5rem);margin-bottom:58px}
  .solution-visual{height:58vw;min-height:300px;max-height:420px}
  .solution-radar{inset:10%}
  .solution-center{width:82px;height:82px;font-size:1.2rem}
  .solution-links{margin-top:32px;gap:10px 24px}

  .news{padding-top:88px;padding-bottom:80px}
  .news-header{margin-bottom:44px}
  .news-header h2{font-size:clamp(2.8rem,13vw,4.5rem)}
  .news-item{padding:1.35rem 0}
  .news-item strong{font-size:1.28rem}

  .footer{min-height:480px;padding:72px 20px 32px}
  .footer h2{font-size:clamp(3rem,14vw,5.2rem)}
}

@media (max-width:420px){
  .hero{min-height:520px}
  .hero h1{font-size:clamp(2.75rem,14.5vw,4.2rem)}
  .hero p{font-size:.9rem}
  .orb-a{width:105vw;height:105vw;right:-43vw}
  .orb-b{width:78vw;height:78vw;left:-22vw}

  .masked-heading{font-size:clamp(2.5rem,12.5vw,3.8rem)}
  .product-info h3{font-size:clamp(2.25rem,11.5vw,3.5rem)}
  .solution-title{font-size:clamp(2.8rem,13.5vw,4.2rem)}
  .solution-visual{min-height:270px}
  .news-item{grid-template-columns:1fr auto}
  .news-item time{white-space:nowrap}
  .footer h2{font-size:clamp(2.8rem,13vw,4.3rem)}
}

@media (hover:none),(pointer:coarse){
  .desktop-nav a:hover,.brand:hover{opacity:1}
  .motion-link:after{transform:scaleX(1);opacity:.28}
}

@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal-line>span{transform:none}.menu-overlay{clip-path:none}}
