/* 서비스 소개(index.html) · 로그인(login.html). 색·글꼴 토큰은 style.css 공유 */
html{scroll-behavior:smooth;scroll-padding-top:72px}
body.lp,body.lg{height:auto;min-height:100%}
a{color:inherit}
.btn{text-decoration:none}
.lp-wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.lp-brand{font-size:17px;font-weight:700;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}
.lp-brand span{font-weight:500;color:var(--fg-3);margin-left:5px}

/* header */
.lp-top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.lp-bar{display:flex;align-items:center;gap:24px;height:60px}
.lp-nav{display:flex;gap:20px;margin-left:auto;font-size:14px}
.lp-nav a{text-decoration:none;color:var(--fg-2)}
.lp-nav a:hover{color:var(--fg)}

/* hero */
.lp-hero{padding:72px 0 64px;background:linear-gradient(180deg,var(--surface) 0%,var(--bg) 100%)}
.lp-hero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center}
.lp-eyebrow{display:inline-block;font-size:13px;font-weight:600;color:var(--accent-fg);background:var(--accent-soft);padding:4px 10px;border-radius:999px}
.lp-hero h1{margin:16px 0 0;font-size:clamp(26px,3.4vw,40px);line-height:1.25;letter-spacing:-.02em;text-wrap:balance}
.lp-hero-txt p{margin:18px 0 0;font-size:16px;line-height:1.7;color:var(--fg-2);max-width:34em}
.lp-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.lp-hero-art{position:relative;aspect-ratio:1/0.86}
.lp-ph{position:absolute;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.14)}
.lp-ph.a{width:64%;left:0;top:4%}
.lp-ph.b{width:50%;right:0;bottom:0}
.lp-card{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 28px rgba(0,0,0,.12);font-size:12px}
.lp-card b{display:block;font-size:13px}
.lp-card span{color:var(--fg-3)}
.lp-card .led{width:9px;height:9px;border-radius:50%;background:var(--ok);flex:none}
.lp-card.c1{right:2%;top:6%}
.lp-card.c2{left:4%;bottom:6%}
.lp-card.warn{border-color:var(--warn)}
.lp-card.warn svg{color:var(--warn);flex:none}

/* sections */
.lp-sec{padding:72px 0}
.lp-sec.alt{background:var(--surface);border-block:1px solid var(--line)}
.lp-sec h2,.lp-band h2{margin:0;font-size:clamp(22px,3vw,30px);letter-spacing:-.015em}
.lp-lead{margin:10px 0 0;color:var(--fg-2);font-size:15px}
.lp-feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}
.lp-feat article{padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.lp-feat svg{width:26px;height:26px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lp-feat h3{margin:12px 0 6px;font-size:16px}
.lp-feat p{margin:0;font-size:14px;line-height:1.65;color:var(--fg-2)}
.lp-flow{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:28px;counter-reset:s}
.lp-flow li{position:relative;padding:14px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);counter-increment:s}
.lp-flow li::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--f-num);font-size:11px;color:var(--fg-3);margin-bottom:4px}
.lp-flow li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-22px;width:16px;border-top:3px dashed var(--line-2)}
.lp-flow li.agv{border-color:var(--accent)}
.lp-flow li.agv::before{color:var(--accent-fg)}
.lp-flow b{display:block;font-size:14px}
.lp-flow span{display:block;margin-top:2px;font-size:12px;line-height:1.45;color:var(--fg-3)}
.lp-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}
.lp-lines article{padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.lp-lines h3{margin:0 0 10px;font-size:18px}
.lp-lines p{margin:0;font-size:14px;line-height:1.75;color:var(--fg-2)}
.lp-lines span{display:block;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--accent-fg)}
.lp-band{padding:56px 0;background:#1f2c28;color:#fff}
.lp-band-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.lp-band p{margin:8px 0 0;color:#b9c6c0}
.lp-foot{padding:24px 0;font-size:12.5px;color:var(--fg-3)}

@media (max-width:960px){
  .lp-hero-in{grid-template-columns:minmax(0,1fr)}
  .lp-hero-art{max-width:460px;width:100%;margin:0 auto}
  .lp-feat,.lp-lines{grid-template-columns:minmax(0,1fr)}
  .lp-flow{grid-template-columns:minmax(0,1fr);gap:18px}
  .lp-flow li:not(:last-child)::after{top:auto;right:auto;left:24px;bottom:-16px;width:0;height:14px;border-top:0;border-left:3px dashed var(--line-2)}
  .lp-flow li{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:10px}
  .lp-flow li::before{margin:0}
  .lp-flow span{margin:0}
}
@media (max-width:640px){
  .lp-wrap{padding:0 16px}
  .lp-nav{display:none}
  .lp-bar{justify-content:space-between}
  .lp-hero{padding:40px 0 48px}
  .lp-sec{padding:52px 0}
  .lp-card{font-size:11px;padding:8px 10px}
  .lp-cta .btn{flex:1}
}

/* login */
body.lg{display:grid;place-items:center;padding:24px 16px;min-height:100vh}
.lg-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(880px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 20px 48px rgba(0,0,0,.08)}
.lg-side{display:flex;align-items:center;justify-content:center;padding:40px 28px;background:#fbf6ef;min-height:440px;text-align:center}
.lg-side b{display:block;font-size:clamp(26px,3.2vw,34px);line-height:1.3;letter-spacing:-.02em;color:#2a1a0c}
.lg-side span{display:block;margin-top:14px;font-size:15px;color:#7a5a3a}
.lg-form{display:flex;flex-direction:column;gap:14px;padding:40px 36px}
.lg-form h1{margin:18px 0 0;font-size:24px}
.lg-sub{margin:-8px 0 6px;font-size:13.5px;color:var(--fg-2)}
.lg-form .fld input{height:42px;font-size:14px}
.lg-form .fld input[aria-invalid="true"]{border-color:var(--bad)}
.lg-form .btn.lg{width:100%;margin-top:4px}
.lg-err{margin:0;padding:8px 12px;border-radius:6px;background:var(--bad-soft);color:var(--bad);font-size:13px}
.lg-back{align-self:center;font-size:13px;color:var(--fg-3);text-decoration:none}
.lg-back:hover{color:var(--fg)}
@media (max-width:720px){
  .lg-box{grid-template-columns:minmax(0,1fr)}
  .lg-side{display:none}
  .lg-form{padding:32px 22px}
}
