/* LINE Seed KR © LY Corporation — SIL OFL 1.1; see /home/fonts/OFL.txt. */
@font-face{font-family:"LINE Seed KR";src:url('/home/fonts/LINESeedSansKR-Rg.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"LINE Seed KR";src:url('/home/fonts/LINESeedSansKR-Bd.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
/* Homepage-only rules: shared pages keep their existing styles. */
.nl-home{--ink:#191919;--muted:#565656;--line:#e6e6e6;--deep:#191919;background:#fff;color:var(--ink);font-family:"LINE Seed KR","Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif;font-weight:400;font-synthesis:none}
.nl-home .shell{width:min(1280px,calc(100% - 80px))}
.nl-home .site-header{background:#fff;border-bottom:1px solid var(--line)}
.nl-home .header-inner{min-height:90px}.nl-home .site-brand,.nl-home .footer-brand{font-family:Arial,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:26px;letter-spacing:-1.3px;font-synthesis:weight}.nl-home .site-brand span,.nl-home .footer-brand span{color:#191919}
.nl-home .site-nav{display:flex;font-size:16px;color:#252525;font-weight:700;gap:32px}
.nl-home .site-nav a{display:inline-flex;align-items:center;min-height:44px}
.nl-home .nl-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;min-height:615px;padding-block:90px 100px}
.nl-home .nl-eyebrow,.nl-home .nl-section-label{font-size:14px;letter-spacing:.09em;font-weight:700;color:#505050;margin:0 0 28px}
.nl-home h1{font-size:clamp(32px,4.4vw,58px);letter-spacing:-.045em;line-height:1.3;font-weight:700;margin:0 0 28px;word-break:keep-all}
.nl-home .nl-lead{font-size:19px;line-height:1.85;color:#414141;margin:0}
.nl-home .nl-manifesto{font-size:13px;line-height:1.7;letter-spacing:.1em;margin:35px 0 0;color:#6b6b6b}
.nl-home .nl-layers{height:360px;position:relative;perspective:850px}
.nl-home .nl-layer{width:70%;height:62%;position:absolute;left:14%;top:12%;border:1px solid rgba(65,72,82,.4);transform:rotateX(54deg) rotateZ(-31deg);border-radius:12px;background:linear-gradient(145deg,rgba(250,251,252,.65),rgba(170,185,198,.25));box-shadow:15px 25px 40px rgba(37,49,59,.11)}
.nl-home .nl-layer-back{top:37%;left:18%;background:linear-gradient(145deg,#555c65,#272c34)}.nl-home .nl-layer-mid{top:23%;left:16%;background:linear-gradient(145deg,rgba(165,174,184,.85),rgba(111,122,136,.7))}.nl-home .nl-layer-front{background:linear-gradient(145deg,rgba(249,250,252,.93),rgba(208,216,225,.7))}
.nl-home .nl-layer-caption{position:absolute;bottom:0;left:17%;font-size:12px;letter-spacing:.1em;color:#575757}
.nl-home #projects{scroll-margin-top:24px}
.nl-home .nl-project{border-top:1px solid var(--line);padding-block:80px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center}
.nl-home .nl-section-label{margin-bottom:25px;font-size:13px}.nl-home .nl-section-label span{color:#242424;margin-right:10px}
.nl-home h2{font-size:clamp(38px,4.1vw,52px);line-height:1.2;letter-spacing:-.035em;margin:0 0 24px;font-weight:700}
.nl-home .nl-project-copy>p:not(.nl-section-label){font-size:18px;line-height:1.9;color:#414141;word-break:keep-all;max-width:470px;margin:0 0 18px}
.nl-home .nl-project-copy>.nl-question{color:#252525!important;font-weight:400}
.nl-home .nl-link{font-size:16px;font-weight:700;display:inline-flex;gap:36px;align-items:center;min-height:48px;border-bottom:1px solid #292929;margin-top:12px}
.nl-home .nl-link:hover{color:#595959}.nl-home .nl-product-visual{margin:0;background:#f3f4f5;border:1px solid #e4e6e8;border-radius:10px;box-shadow:0 10px 32px #00000006;overflow:hidden}
.nl-home .nl-browser-bar{height:42px;padding:0 16px;display:flex;gap:25px;align-items:center;background:#fff;color:#555;font-size:13px;border-bottom:1px solid #e7e7e7}.nl-home .nl-browser-bar>span:first-child{font-size:8px;color:#aaa;letter-spacing:2px}
.nl-home .nl-searchlens-image{display:flex;justify-content:center;padding:22px 22px 0;height:335px;overflow:hidden;background:#e7ecef}.nl-home .nl-searchlens-image img{display:block;width:230px;height:auto;align-self:flex-start;border-radius:5px 5px 0 0;box-shadow:0 8px 22px #0002}
.nl-home figcaption{font-size:14px;padding:12px 18px;color:#505050;background:white}
.nl-home .nl-terminal{border-radius:10px;background:#171b21;color:#d9dee5;overflow:hidden;box-shadow:0 10px 32px #00000009}.nl-home .nl-terminal-bar{display:flex;align-items:center;gap:23px;padding:13px 20px;border-bottom:1px solid #343943;font-size:13px;color:#c4cbd5}.nl-home .nl-terminal-bar>span:first-child{letter-spacing:2px;font-size:8px;color:#68717e}
.nl-home .nl-terminal-body{padding:36px}.nl-home .nl-terminal-muted{font-size:13px;letter-spacing:.08em;color:#bdc6d3;margin:0 0 20px}.nl-home .nl-terminal-title{font-size:30px;font-weight:700;line-height:1.5;letter-spacing:-.04em;margin:0 0 22px;color:#f2f4f7}
.nl-home .nl-terminal ol{list-style:none;padding:0;margin:0;display:grid;gap:15px;font-size:16px}.nl-home .nl-terminal li span{color:#9da8b7;margin-right:20px;font-family:monospace}.nl-home .nl-terminal-note{font-size:14px;line-height:1.8;color:#bdc6d3;margin:24px 0 0}
.nl-home h2.nl-log-title{font-size:38px;line-height:1.4}.nl-home .nl-posts{min-width:0}.nl-home .nl-post{padding:28px 0;border-bottom:1px solid var(--line)}.nl-home .nl-post:first-child{border-top:1px solid var(--line)}.nl-home .nl-post time{font-size:14px;color:#555}.nl-home .nl-post h3{font-size:21px;line-height:1.65;letter-spacing:-.025em;font-weight:700;margin:10px 0 0;word-break:keep-all}.nl-home .nl-post a{display:block}.nl-home .nl-post a:hover{text-decoration:underline;text-underline-offset:4px}
.nl-home .nl-footer{border-top:1px solid var(--line);padding-block:35px 45px;display:flex;align-items:center;gap:30px}.nl-home .nl-footer p,.nl-home .nl-footer>span{font-size:12px;color:#707070}.nl-home .nl-footer>span{margin-left:auto}
@media(max-width:900px){.nl-home .nl-hero{gap:25px;min-height:540px}.nl-home .nl-project{gap:40px}.nl-home .nl-layers{height:300px}}
@media(max-width:800px){.nl-home .shell{width:calc(100% - 40px)}.nl-home .header-inner{min-height:74px;gap:20px}.nl-home .site-brand{font-size:23px}.nl-home .site-nav{gap:22px}.nl-home .nl-hero{grid-template-columns:1fr;padding-block:58px 45px;gap:15px}.nl-home h1{font-size:clamp(32px,7.8vw,48px)}.nl-home .nl-lead{font-size:18px}.nl-home .nl-desktop-break{display:none}.nl-home .nl-manifesto{margin-top:25px}.nl-home .nl-layers{height:270px;max-width:400px;width:100%;margin-inline:auto}.nl-home .nl-project{grid-template-columns:1fr;gap:35px;padding-block:48px}.nl-home h2{font-size:42px}.nl-home h2.nl-log-title{font-size:34px}.nl-home .nl-project-copy>p:not(.nl-section-label){font-size:17px}.nl-home .nl-terminal-body{padding:25px}.nl-home .nl-footer{flex-wrap:wrap;gap:8px 20px}.nl-home .nl-footer p{width:100%;order:3;margin:0}.nl-home .nl-searchlens-image{height:320px}.nl-home .nl-post h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.nl-home .nl-searchlens-image{height:auto;padding:6px;background:#eff1f3}.nl-home .nl-searchlens-image img{width:100%;height:auto;border-radius:5px}

/* Keep both product surfaces balanced without cropping the real screenshot. */
.nl-home .nl-project:not(.nl-log)>.nl-product-visual,.nl-home .nl-project:not(.nl-log)>.nl-terminal{align-self:stretch}
.nl-home .nl-terminal{display:flex;flex-direction:column}.nl-home .nl-terminal-body{display:flex;flex-direction:column;justify-content:center;flex:1}
.nl-home .nl-post a{padding:4px 0}.nl-home .nl-post a:focus-visible{outline:2px solid #191919;outline-offset:7px}
@media(max-width:800px){.nl-home .nl-terminal-title{font-size:26px}.nl-home .nl-terminal ol{font-size:15px}.nl-home .nl-terminal-body{padding:28px 22px}.nl-home .nl-terminal-bar{font-size:12px;gap:12px}.nl-home .nl-manifesto{font-size:12px}.nl-home .nl-section-label{font-size:12px}.nl-home .nl-layers{margin-top:15px}}

.nl-home .nl-layer-caption{bottom:-28px}
