.lsh-root {
  --lsh-green: #00ff9c;
  --lsh-cyan: #00c2ff;
  --lsh-text: #ffffff;
  --lsh-muted: #d1d5db;
  --lsh-bg: #000;
  --lsh-vh: 1vh;
  font-family: 'Pretendard','Inter','Noto Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  position: relative;
  isolation: isolate;
}

.lsh-root * { box-sizing: border-box; }
.lsh-root h1,
.lsh-root h2,
.lsh-root h3,
.lsh-root h4,
.lsh-root p {
  margin: 0;
  padding: 0;
}

.lsh-root .lsh-hero {
  position: relative;
  width: 100%;
  height: calc(var(--lsh-vh, 1vh) * 100);
  min-height: 900px;
  overflow: hidden;
  background: #000;
}

.lsh-bg-gradient { position:absolute; inset:0; background:linear-gradient(to bottom, #000, rgba(24,24,27,.5), #000);} 
.lsh-glow { position:absolute; border-radius:9999px; filter:blur(150px); mix-blend-mode:screen; }
.lsh-glow-1 { top:25%; left:25%; width:600px; height:600px; background:rgba(34,211,238,0.1);} 
.lsh-glow-2 { top:33%; right:25%; width:500px; height:500px; background:rgba(74,222,128,0.1);} 

.lsh-road { position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:100%; max-width:1400px; height:600px; filter:drop-shadow(0 0 20px rgba(0,255,156,0.6)); pointer-events:none; }
.lsh-road svg { width:100%; height:100%; }
.lsh-draw-line { stroke-dasharray:400; stroke-dashoffset:400; opacity:0; animation:lsh-drawLine 2s ease-out forwards; }
.lsh-draw-line:nth-of-type(2){ animation-delay:0.1s; }
.lsh-center-lines line { stroke:var(--lsh-green); stroke-width:2; opacity:0.3; animation:lsh-pulse 2s ease-in-out infinite; }
.lsh-center-lines line:nth-child(1){animation-delay:0s;} .lsh-center-lines line:nth-child(2){animation-delay:0.2s;} .lsh-center-lines line:nth-child(3){animation-delay:0.4s;} .lsh-center-lines line:nth-child(4){animation-delay:0.6s;} .lsh-center-lines line:nth-child(5){animation-delay:0.8s;} .lsh-center-lines line:nth-child(6){animation-delay:1s;}
.lsh-arrow { animation:lsh-arrowMove 3s ease-in-out infinite; }
.lsh-arrow path { filter:drop-shadow(0 0 10px var(--lsh-green)); }

.lsh-container { position:relative; z-index:10; max-width:1600px; margin:0 auto; height:100%; padding:0 3rem; display:grid; grid-template-columns:1fr; gap:3rem; align-items:center; }
@media (min-width:1024px){ .lsh-container{ grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; } }

.lsh-text-area { display:flex; flex-direction:column; gap:2rem; max-width:640px; position:relative; z-index:1; }
.lsh-label { display:inline-block; font-size:.875rem; letter-spacing:.3em; color:#22d3ee; font-weight:300; text-transform:uppercase; }
.lsh-headline h1 { font-size:clamp(3.5rem,3vw + 2rem,4.75rem); line-height:1.1; font-weight:700; color:#fff; }
.lsh-headline span { display:block; margin-bottom:0.5rem; }
.lsh-headline span:not(.lsh-brand) { color:#fff; }
.lsh-brand { background:linear-gradient(90deg,var(--lsh-green),var(--lsh-cyan)); -webkit-background-clip:text; color:transparent; text-shadow:0 0 40px rgba(0,255,156,0.3); filter:drop-shadow(0 0 20px rgba(0,194,255,0.4)); }
.lsh-subtitle { font-size:clamp(1.1rem,1vw + 1rem,1.25rem); color:var(--lsh-muted); line-height:1.8; max-width:34rem; }

.lsh-cta { display:flex; flex-wrap:wrap; gap:1rem; padding-top:0.5rem; }
.lsh-btn { all: unset; position:relative; display:inline-flex; align-items:center; gap:0.5rem; padding:1rem 2rem; border-radius:0; font-size:1.05rem; font-weight:600; border:none; cursor:pointer; transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease; transform:translateZ(0); }
.lsh-btn-primary { background:linear-gradient(90deg,var(--lsh-green),var(--lsh-cyan)); color:#000; box-shadow:0 0 0 transparent; }
.lsh-btn-primary:hover { transform:scale(1.05); box-shadow:0 0 30px rgba(0,255,156,0.6),0 0 60px rgba(0,194,255,0.4); }
.lsh-btn-primary:active { transform:scale(0.97); }
.lsh-btn-secondary { border:2px solid rgba(34,211,238,0.5); color:#fff; background:rgba(255,255,255,0.02); backdrop-filter:blur(6px); }
.lsh-btn-secondary:hover { transform:scale(1.05); border-color:rgba(34,211,238,0.8); box-shadow:0 0 20px rgba(0,194,255,0.4); }
.lsh-btn-secondary:active { transform:scale(0.97); }

.lsh-tags { display:flex; flex-wrap:wrap; gap:0.75rem; padding-top:0.5rem; }
.lsh-tag { display:inline-flex; align-items:center; gap:0.5rem; padding:0.5rem 0.75rem; border-radius:9999px; border:1px solid rgba(34,211,238,0.3); background:rgba(34,211,238,0.05); color:#e5e7eb; font-size:0.95rem; transition:border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease; animation:lsh-tagPop 0.5s ease forwards; animation-delay:var(--lsh-d,0s); opacity:0; transform:scale(0.95); }
.lsh-tag:hover { border-color:rgba(0,194,255,0.6); background:rgba(0,194,255,0.1); transform:scale(1.05); }

.lsh-visual { display:flex; justify-content:center; align-items:center; position:relative; z-index:1; }
.lsh-figure-wrapper { position:relative; width:100%; max-width:720px; height:840px; }
.lsh-figure-glow { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); border-radius:9999px; mix-blend-mode:screen; filter:blur(90px); animation:lsh-glowPulse 4s ease-in-out infinite; }
.lsh-figure-glow-1 { width:400px; height:400px; background:rgba(34,211,238,0.2);} 
.lsh-figure-glow-2 { width:300px; height:300px; background:rgba(74,222,128,0.2); animation-duration:3s; }

.lsh-glow-wrapper { position:relative; width:min(55vw,720px,80vh); max-width:100%; height:100%; display:flex; align-items:center; justify-content:center; z-index:2; pointer-events:none; }
.lsh-glow-object, .lsh-glow-inline svg { width:100%; height:auto; max-height:960px; display:block; pointer-events:none; transform:scaleX(-1); transform-origin:center; }
.lsh-glow-inline svg { overflow:visible; shape-rendering:optimizeSpeed; }
.lsh-fallback-text { position:absolute; inset:0; display:grid; place-items:center; color:#9cb7ff; font-size:14px; letter-spacing:0.04em; opacity:0.9; pointer-events:none; }
.lsh-fallback-text[hidden]{ display:none !important; }

.lsh-bottom-fade { position:absolute; left:0; right:0; bottom:0; height:8rem; background:linear-gradient(to top, #000, transparent); pointer-events:none; }

.lsh-fade-in { opacity:0; transform:translateY(20px); animation:lsh-fadeUp 0.8s ease-out forwards; animation-delay:var(--lsh-delay,0s); }

@keyframes lsh-drawLine { to { stroke-dashoffset:0; opacity:1; } }
@keyframes lsh-pulse { 0%{opacity:0.3;} 50%{opacity:0.8;} 100%{opacity:0.3;} }
@keyframes lsh-arrowMove { 0%{transform:translateY(50px);opacity:0;} 25%{opacity:1;} 50%{transform:translateY(-50px);opacity:1;} 100%{transform:translateY(50px);opacity:0;} }
@keyframes lsh-fadeUp { to { opacity:1; transform:translateY(0);} }
@keyframes lsh-tagPop { to { opacity:1; transform:scale(1);} }
@keyframes lsh-glowPulse { 0%{transform:translate(-50%,-50%) scale(1); opacity:0.2;} 50%{transform:translate(-50%,-50%) scale(1.2); opacity:0.4;} 100%{transform:translate(-50%,-50%) scale(1); opacity:0.2;} }

@media (max-width:768px){
  .lsh-hero{ min-height:900px; height:auto; padding:4rem 0 8rem; }
  .lsh-container{ position:relative; padding:0 1.5rem; }
  .lsh-headline h1{ font-size:clamp(2.7rem,8vw,3.3rem); }
  .lsh-visual{ position:absolute; inset:0; align-items:flex-start; justify-content:center; opacity:0.6; pointer-events:none; z-index:0; margin-top:3rem; }
  .lsh-text-area{ position:relative; z-index:1; }
  .lsh-figure-wrapper{ max-width:360px; height:420px; }
  .lsh-glow-wrapper{ width:min(80vw,480px,70vh); max-height:520px; }
  .lsh-glow-1,.lsh-glow-2{ width:320px; height:320px; }
  .lsh-road{ height:420px; }
}

@media (prefers-reduced-motion: reduce) {
  .lsh-glow-inline svg { animation:none !important; transition:none !important; }
  .lsh-draw-line, .lsh-center-lines line, .lsh-arrow, .lsh-fade-in { animation:none !important; }
}
