
.crumbs{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;color:var(--muted);margin:0 0 4px!important;padding:0!important;list-style:none!important}
.crumbs li{display:flex;align-items:center;gap:8px}
.crumbs li+li::before{content:"/";color:var(--dim)}
.crumbs a{color:var(--muted);border-bottom:1px solid transparent}
.crumbs a:hover{color:var(--text);border-bottom-color:var(--line2)}
.crumbs [aria-current]{color:var(--text)}
.sec-head h1{font-size:clamp(30px,3.6vw,50px);line-height:1.16;letter-spacing:-.03em;font-weight:800;word-break:keep-all;margin:0}
.sec-head h1 em{font-style:normal;color:var(--accent)}
#sections .sub-h{font-size:22px;letter-spacing:-.02em;margin:44px 0 16px;display:flex;align-items:center;gap:14px}
#sections .sub-h::after{content:"";flex:1;height:1px;background:var(--line2)}
.ph .crumbs{margin-bottom:14px!important}
.stage h1.eyebrow{font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.22em;margin:0 0 14px}
.step-box .step-title{margin:0;font-size:16px;font-weight:700;color:var(--text);min-height:0}
.proj-more{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:9px 14px;border:1px solid var(--line2);background:rgba(12,18,25,.7);font-size:13.5px;font-weight:700;color:var(--text);max-width:100%}
.proj-more:hover{border-color:var(--accent);color:var(--accent)}
.proj-more-name{font-weight:400;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:20em}
.stage-play{position:absolute;left:58%;top:42%;transform:translate(-50%,-50%);z-index:2;display:inline-flex;align-items:center;padding:14px 22px;background:var(--accent);color:#0a0e13;font-weight:800;font-size:15px;box-shadow:0 6px 30px rgba(0,0,0,.45)}
.stage-play[hidden]{display:none}
.stage-play:hover{background:#ff7d45}
.stage.is-still .live{color:var(--dim)} .stage.is-still .live i{animation:none;background:var(--dim)}
.stage-detail{height:78vh;min-height:640px;max-height:900px;border-top:1px solid var(--line)}
.stage-detail .stage-copy{top:28px}
.stage-detail .panel-data{top:20px;max-height:calc(100% - 20px - var(--deck-h,300px) - 28px)}
.stage-detail .proj-title{font-size:clamp(22px,2vw,28px)}
@media (min-width:900px) and (max-width:1199px){ .stage-detail{min-height:740px} }   
@media (max-width:899px){
  .stage-play{left:50%;top:auto;bottom:14px;transform:translateX(-50%)}   
  .stage-detail{height:auto;min-height:0;max-height:none;padding-top:0}
  .stage-detail .stage-copy{display:none}
  .proj-more{margin-top:12px}
  .stage h1.eyebrow{font-size:12px;letter-spacing:.04em}
}
.gate{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.gate-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px 28px 24px;border:1px solid var(--line2);background:var(--card);box-shadow:inset 0 3px 0 var(--accent);transition:border-color .15s,background .15s}
.gate-card.cy{box-shadow:inset 0 3px 0 var(--cyan)}
.gate-card:hover{border-color:var(--accent);background:var(--card2)}
.gate-card.cy:hover{border-color:var(--cyan)}
.gate-card .mono{letter-spacing:.16em;font-size:11px;color:var(--accent)}
.gate-card.cy .mono{color:var(--cyan)}
#sections .gate-card h3{font-size:28px;letter-spacing:-.02em}
#sections .gate-card p{color:var(--ink);font-size:15px;word-break:keep-all}
#sections .gate-list{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}
.gate-list li{font-size:12.5px;color:var(--ink);border:1px solid var(--line2);padding:2px 9px;background:#0a0f15}
.gate-list li b{font-family:var(--mono);font-weight:500;color:var(--dim);margin-left:6px;font-size:11px}
.gate-go{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px;color:var(--text)}
.gate-card:hover .gate-go{color:var(--accent)} .gate-card.cy:hover .gate-go{color:var(--cyan)}
#sections .gate-sub{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:20px;background:var(--line);border:1px solid var(--line2)}
.gate-sub a{display:grid;grid-template-columns:1fr auto;grid-template-areas:"b i" "s i";column-gap:10px;padding:14px 16px;background:var(--card);height:100%}
.gate-sub a:hover{background:var(--card2)}
.gate-sub b{grid-area:b;font-size:15px}
.gate-sub span{grid-area:s;font-size:12.5px;color:var(--muted);word-break:keep-all}
.gate-sub .arr{grid-area:i;align-self:center;color:var(--muted)}
.hp-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line2)}
.hp{display:flex;flex-direction:column;gap:6px;padding:18px 18px 16px;background:var(--card);min-height:170px}
.hp:hover{background:var(--card2)}
.hp .mono{font-size:10.5px;color:var(--accent);letter-spacing:.14em}
#sections .hp h3{font-size:17px;letter-spacing:-.01em}
#sections .hp p{font-size:13px;color:var(--muted);word-break:keep-all}
.hp-price{margin-top:auto;font-family:var(--mono);font-size:13px;color:var(--text)}
.hp-price small{color:var(--dim);margin-left:4px;font-size:10.5px}
.hp.bd{background:linear-gradient(135deg,rgba(255,176,0,.07),transparent 60%),var(--card)}
.hp.bd .mono{color:var(--amber)}
.ht-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ht{border:1px solid var(--line2);background:var(--card);padding:18px 16px 16px;display:flex;flex-direction:column;gap:8px}
.ht .mono{color:var(--cyan);font-size:10.5px;letter-spacing:.14em}
#sections .ht h3{font-size:18px;letter-spacing:-.01em}
#sections .ht ul{display:grid;gap:2px}
.ht li a,.ht li span{display:flex;align-items:baseline;gap:6px;font-size:13px;color:var(--ink);padding:3px 0;word-break:keep-all;line-height:1.45}
.ht li a:hover{color:var(--accent)}
.ht li .is3d{flex:none;font-family:var(--mono);font-size:9.5px;color:#0a0e13;background:var(--accent);padding:0 4px;font-weight:700}
.ht li span{color:var(--muted)}
.ht li span::before{content:"";flex:none;width:18px}
.ht-more{margin-top:auto;padding-top:6px;font-size:13px;font-weight:700;color:var(--cyan)}
.home-cta{margin-top:24px}
@media (max-width:1180px){ .hp-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .ht-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:899px){
  .gate{grid-template-columns:1fr}
  #sections .gate-sub{grid-template-columns:1fr 1fr}
  .hp-grid{grid-template-columns:1fr 1fr}
  .ht-grid{grid-template-columns:1fr 1fr}
  #sections .gate-card h3{font-size:24px}
  .gate-card{padding:22px 18px 18px}
}
@media (max-width:640px){
  #sections .gate-sub{grid-template-columns:1fr}
  .hp-grid{grid-template-columns:1fr}
  .hp{min-height:0}
  .ht-grid{grid-template-columns:1fr}
}
.choose{display:grid;border:1px solid var(--line2);background:var(--card)}
.ch-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr);gap:4px 24px;padding:14px 20px;border-top:1px solid var(--line);align-items:center}
.ch-row:first-child{border-top:0}
.ch-head{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--dim);padding-top:10px;padding-bottom:10px;background:#0a0f15}
.ch-need{font-size:15px;font-weight:700;word-break:keep-all}
.ch-env{font-size:13px;color:var(--muted)}
.ch-pick{display:flex;flex-wrap:wrap;gap:6px}
.ch-pick a{font-size:13px;font-weight:700;border:1px solid var(--accent);color:var(--accent);padding:3px 10px}
.ch-pick a.bd{border-color:var(--amber);color:var(--amber)}
.ch-pick a:hover{background:rgba(255,106,43,.12)}
.choose-note{margin-top:14px!important}
.choose-note a,.p-note a{color:var(--cyan);border-bottom:1px solid var(--line2)}
@media (max-width:899px){ .ch-row{grid-template-columns:1fr;padding:14px 16px} .ch-head{display:none} }
.pj-jump{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}
.pj-jump a{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--line2);font-size:13.5px;font-weight:700;color:var(--muted);background:#0a0f15}
.pj-jump a i{font-style:normal;font-family:var(--mono);font-size:11px;font-weight:400;color:var(--dim)}
.pj-jump a:hover{color:var(--text);border-color:var(--accent)}
.pj-group{margin-top:44px}
.pj-group[hidden]{display:none}
.pj-group:first-of-type{margin-top:0}
.pj-group-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;margin-bottom:16px!important;padding-bottom:12px;border-bottom:1px solid var(--line2)}
#sections .pj-group-head h2{font-size:24px;letter-spacing:-.02em}
#sections .pj-group-head p{color:var(--muted);font-size:14px;word-break:keep-all;flex:1;min-width:260px}
.pj h3 a:hover{color:var(--accent)}
#sections .pj-cta .pj-cta-h{font-size:24px;letter-spacing:-.02em;flex:none}
.pj-none3d{margin-top:auto;font-size:12.5px;color:var(--dim)}
.tech-top{padding:calc(var(--nav-h) + 40px) 0 32px;background:linear-gradient(180deg,#0d141b,var(--bg))}
.tech-top .wrap{max-width:1320px;margin:0 auto;padding:0 24px}
.tech-top .crumbs{margin-bottom:16px!important}
.tech-top h1{font-size:clamp(28px,3.2vw,44px);margin:6px 0 12px;line-height:1.2}
.tech-top .lead{max-width:46em;margin:0 0 14px}
.tech-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.tech-meta li{font-family:var(--mono);font-size:11px;border:1px solid var(--line2);padding:2px 8px;color:#c8d5e0}
.tech-meta li.grp{background:var(--cyan);border-color:var(--cyan);color:#0a0e13;font-weight:700;font-family:var(--sans)}
.tech-note{margin:14px 0 0;font-size:12.5px;color:var(--dim)}
.tech{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;align-items:start}
.tech-main{display:grid;gap:28px}
.tech-card{display:grid;gap:10px}
#sections .tech-card h3{font-size:22px;letter-spacing:-.02em}
#sections .tech-card>p{color:var(--ink);font-size:15.5px;word-break:keep-all}
#sections .tsteps{counter-reset:ts;display:grid;border:1px solid var(--line2);background:var(--card)}
.tsteps li{display:grid;grid-template-columns:44px minmax(0,190px) 1fr;gap:4px 14px;padding:12px 16px;border-top:1px solid var(--line);align-items:baseline}
.tsteps li:first-child{border-top:0}
.tsteps .no{font-family:var(--mono);font-size:12px;color:var(--accent);font-weight:700}
.tsteps b{font-size:15px}
.tsteps span{font-size:14px;color:var(--muted);word-break:keep-all}
.tech-side{display:grid;gap:18px;position:sticky;top:calc(var(--nav-h) + 20px)}
.tech-side .pj-fig{border:1px solid var(--line2)}
.tech-box{border:1px solid var(--line2);background:var(--card);padding:16px 18px;display:grid;gap:10px}
.tech-box .mono{font-size:10.5px;letter-spacing:.14em;color:var(--cyan)}
#sections .tech-box ul{display:flex;flex-wrap:wrap;gap:6px}
.tech-box li a,.tech-box li span{display:inline-block;font-size:13px;border:1px solid var(--line2);padding:3px 10px;color:var(--ink)}
.tech-box li a{border-color:var(--accent);color:var(--accent);font-weight:700}
.tech-box li a:hover{background:rgba(255,106,43,.12)}
#sections .tech-box p{font-size:13.5px;color:var(--muted);word-break:keep-all}
.tech-rel{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.tech-rel>*{border:1px solid var(--line2)}
.tech-rel a,.tech-rel span{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--card);font-size:14.5px;font-weight:700;word-break:keep-all}
.tech-rel a:hover{background:var(--card2);color:var(--accent)}
.tech-rel small{font-weight:400;font-size:12px;color:var(--muted)}
.tech-rel span{color:var(--muted);font-weight:500}
@media (max-width:899px){
  .tech-top{padding:calc(var(--nav-h) + 24px) 0 20px}
  .tech-top .wrap{padding:0 16px}
  .tech{grid-template-columns:1fr;gap:28px}
  .tech-side{position:static}
  .tsteps li{grid-template-columns:34px 1fr}
  .tsteps span{grid-column:2}
}
.prod-more{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:48px}
.prod-more>div{border:1px solid var(--line2);background:var(--card);padding:18px 20px;display:grid;gap:10px;align-content:start}
.prod-more .mono{font-size:10.5px;letter-spacing:.14em;color:var(--cyan)}
#sections .prod-more ul{display:flex;flex-wrap:wrap;gap:6px}
.prod-more li a{display:inline-flex;align-items:center;gap:6px;font-size:13px;border:1px solid var(--line2);padding:4px 10px;color:var(--ink)}
.prod-more li a:hover{border-color:var(--accent);color:var(--accent)}
.prod-more li a.on{border-color:var(--accent);color:var(--accent);font-weight:700}
@media (max-width:899px){ .prod-more{grid-template-columns:1fr} }
.pay-wrap{display:grid;gap:14px;margin-bottom:28px}
.pay-notice{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;border:1px solid var(--amber);border-left-width:4px;background:rgba(255,176,0,.07);padding:14px 18px;font-size:14.5px;color:var(--ink);word-break:keep-all}
.pay-notice b{color:var(--amber);font-size:14px}
#pay-options:empty{min-height:120px;border:1px dashed var(--line2);background:rgba(13,20,27,.6);display:grid;place-items:center}
#pay-options:empty::before{content:"결제 영역 (준비 중)";font-size:13px;color:var(--dim)}
.buy-steps .btn{margin-top:14px}
.wh{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;border:1px solid var(--line2);background:var(--card);padding:24px;margin-bottom:28px;box-shadow:inset 0 3px 0 var(--accent)}
.wh .mono{font-size:10.5px;letter-spacing:.14em;color:var(--accent)}
#sections .wh h2{font-size:24px;letter-spacing:-.02em;margin:4px 0 8px}
#sections .wh-main>p{color:var(--ink);font-size:15px;word-break:keep-all}
#sections .wh-main>p b{color:var(--text)}
#sections .wh-steps{counter-reset:wh;display:grid;gap:6px;margin-top:14px}
.wh-steps li{counter-increment:wh;position:relative;padding-left:32px;font-size:14px;color:var(--ink);word-break:keep-all}
.wh-steps li::before{content:counter(wh);position:absolute;left:0;top:1px;width:22px;height:22px;display:grid;place-items:center;font-family:var(--mono);font-size:11px;border:1px solid var(--line2);color:var(--accent)}
.wh-side{display:grid;gap:10px;align-content:start}
.wh-side .btn{justify-content:center}
.faq{margin-top:28px;border:1px solid var(--line2);background:var(--card)}
.faq header{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;padding:14px 18px;border-bottom:1px solid var(--line)}
.faq header b{font-size:17px}
.faq header span{font-size:12.5px;color:var(--muted)}
.faq details{border-top:1px solid var(--line)}
.faq details:first-of-type{border-top:0}
.faq summary{cursor:pointer;padding:13px 18px;font-weight:700;font-size:15px;list-style:none;display:flex;gap:10px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";font-family:var(--mono);color:var(--accent)}
.faq details[open] summary{color:var(--accent)}
#sections .faq details p{padding:0 18px 14px 40px;font-size:14px;color:var(--ink);word-break:keep-all}
@media (max-width:899px){ .wh{grid-template-columns:1fr;padding:18px} }
.loc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.loc-info{display:grid;border:1px solid var(--line2);background:var(--card)}
.loc-info div{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:12px 18px;border-top:1px solid var(--line)}
.loc-info div:first-child{border-top:0}
.loc-info dt{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted);padding-top:3px}
.loc-info dd{font-size:15px;word-break:keep-all}
.loc-info dd small{display:block;font-size:12.5px;color:var(--dim)}
.loc-info a{color:var(--cyan)}
.loc-map{display:grid;gap:12px}
.loc-plan{border:1px solid var(--line2);background:
  linear-gradient(rgba(34,48,61,.5) 1px,transparent 1px) 0 0/100% 20px,
  linear-gradient(90deg,rgba(34,48,61,.5) 1px,transparent 1px) 0 0/20px 100%,#090d12;aspect-ratio:16/9}
.loc-plan svg{width:100%;height:100%;display:block}
.loc-plan .r{stroke:#7f9bb3;stroke-width:10;fill:none;opacity:.35}
.loc-plan .r2{stroke:#7f9bb3;stroke-width:4;fill:none;opacity:.25;stroke-dasharray:6 6}
.loc-plan .b{fill:rgba(127,155,179,.12);stroke:#7f9bb3;stroke-width:1.2}
.loc-plan .b.hot{fill:rgba(255,106,43,.25);stroke:var(--accent);stroke-width:1.6}
.loc-plan .st{fill:#0a0e13;stroke:var(--cyan);stroke-width:2.4}
.loc-plan text{font-size:10px;fill:var(--muted);font-family:var(--sans)}
@media (max-width:899px){ .loc{grid-template-columns:1fr} }
.chat-slot{border:1px solid var(--line2);background:var(--card);margin-bottom:8px}
.chat-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:14px 18px;border-bottom:1px solid var(--line)}
.chat-head .mono{color:var(--cyan);letter-spacing:.16em;font-size:10.5px}
.chat-head b{font-size:17px}
.chat-head span:last-child{flex-basis:100%;font-size:13px;color:var(--muted);word-break:keep-all}
#sidd-chat{min-height:120px}
#sidd-chat:empty{display:grid;place-items:center}
#sidd-chat:empty::before{content:"상담 창 (준비 중)";font-size:13px;color:var(--dim)}
.legal-body{max-width:860px;display:grid;gap:18px}
.legal-status{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;border:1px dashed var(--line2);padding:14px 18px;font-size:14.5px;color:var(--ink)}
.legal-status b{color:var(--accent)}
#sections .legal-toc{counter-reset:lt;display:grid;border:1px solid var(--line2);background:var(--card)}
.legal-toc li{counter-increment:lt;display:grid;grid-template-columns:40px 1fr;padding:11px 16px;border-top:1px solid var(--line);font-size:15px}
.legal-toc li:first-child{border-top:0}
.legal-toc li::before{content:counter(lt,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--accent);padding-top:3px}
@media (max-width:899px){
  .ph{padding:calc(var(--nav-h) + 32px) 0 48px}
  html{scroll-padding-top:var(--nav-h)}
}
.prod-top{padding-bottom:40px}
.prod-main{padding-top:64px}
.prod-demo{border-top:1px solid var(--line);background:var(--bg)}
.demo-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 28px;padding-top:26px;padding-bottom:16px}
.demo-head .mono{font-size:11px;letter-spacing:.14em;color:var(--accent)}
.demo-head h2{margin:4px 0 4px;font-size:clamp(20px,2vw,26px);letter-spacing:-.02em;word-break:keep-all}
.demo-head h2 em{font-style:normal;color:var(--cyan)}
.demo-head p{margin:0;font-size:13.5px;color:var(--muted);word-break:keep-all}
.demo-head .demo-pend{margin-top:8px;color:#cfd8e1}
.demo-pend b{display:inline-block;margin-right:8px;padding:1px 7px;border:1px solid var(--amber);color:var(--amber);font-size:11.5px}
.demo-big{flex:none;display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid var(--line2);font-size:13.5px;font-weight:700;white-space:nowrap}
.demo-big:hover{border-color:var(--accent);color:var(--accent)}
.stage-detail.stage-prod{height:640px;min-height:0;max-height:none}
@media (min-width:900px) and (max-width:1199px){ .stage-detail.stage-prod{height:680px;min-height:0} }
.demo-wait{margin:34px 0;padding:30px 28px;border:1px dashed var(--line2);background:repeating-linear-gradient(135deg,rgba(255,255,255,.012) 0 12px,transparent 12px 24px),#0b1016;display:grid;gap:8px;justify-items:start}
.demo-wait .mono{font-size:11px;letter-spacing:.14em;color:var(--amber)}
.demo-wait b{font-size:clamp(18px,1.8vw,22px);letter-spacing:-.01em;word-break:keep-all}
.demo-wait p{margin:0;max-width:62ch;color:var(--muted);font-size:14px;word-break:keep-all}
@media (max-width:899px){
  .demo-head{flex-direction:column;align-items:flex-start}
  .prod-main{padding-top:48px}
}
@media (max-width:640px){ .demo-wait{padding:22px 18px} }
