/* TOBE Studio 공개 안내 화면(허브·실제 사례·컨설팅) 공용 스타일. 다크 전용(기존 허브와 같은 방식), 외부 자원 없음.
   글자 14px 이상 · 대비 4.5:1 이상(--dim #9AA0B8 은 바탕에서 7:1 이상) · 터치 44px 이상. 강조색: 시안=행동·현재 위치, 골드=주의, 마젠타=브랜드 장식(제목 글자 1곳). */
:root{--void:#030306;--white:#F4F6FF;--dim:#9AA0B8;--soft:#C9CEE2;--cyan:#3CF0FF;--gold:#FFC857;--mag:#FF4FD8;--line:rgba(244,246,255,.16);--panel:rgba(244,246,255,.045);--panel2:rgba(244,246,255,.08);
--kr:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box;min-width:0}
html,body{margin:0;background:var(--void);color:var(--white);font-family:var(--kr);word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
body{font-size:15px;line-height:1.7;background:radial-gradient(ellipse at 90% 0%,rgba(60,240,255,.08),transparent 50%),var(--void);overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:8px;top:-80px;background:var(--cyan);color:var(--void);padding:12px 16px;border-radius:8px;z-index:95;font-weight:700;text-decoration:none}
.skip:focus{top:70px}
.wrap{max-width:1240px;margin:0 auto;padding:12px clamp(16px,4vw,40px) 56px}
section{padding:44px 0 0}
.eyebrow{margin:0 0 10px;font:600 14px var(--kr);letter-spacing:.08em;color:var(--cyan)}
h1{margin:0 0 14px;font:800 clamp(30px,5.4vw,50px)/1.18 var(--kr);letter-spacing:-.03em}
h1 em{font-style:normal;background:linear-gradient(90deg,var(--cyan),var(--mag));-webkit-background-clip:text;background-clip:text;color:transparent}
h2{margin:0 0 6px;font:700 clamp(22px,4vw,28px)/1.3 var(--kr);letter-spacing:-.02em}
h3{margin:0 0 6px;font:700 17px/1.4 var(--kr)}
p{margin:0 0 12px}
.lead{max-width:46ch;font-size:clamp(16px,2.4vw,19px);line-height:1.65;color:var(--soft)}
.dim{color:var(--dim)}
.sec-sub{color:var(--dim);margin:0 0 18px;max-width:64ch}
.caveat{margin:14px 0 0;padding:12px 16px;border-left:3px solid var(--gold);background:rgba(255,200,87,.06);border-radius:0 10px 10px 0;color:var(--soft);font-size:14px;max-width:66ch}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 0}
.cta,.ghost{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:999px;font:700 15px var(--kr);text-decoration:none;border:1px solid transparent;cursor:pointer}
.cta{color:var(--void);background:var(--cyan)}
.cta::after{content:"→";margin-left:8px}
.cta.plain::after{content:none}
.cta[disabled]{opacity:.55;cursor:not-allowed}
.ghost{border-color:var(--line);color:var(--white);background:transparent}
.ghost:hover{border-color:var(--cyan);color:var(--cyan)}
.grid{display:grid;gap:14px}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.g3,.g2{grid-template-columns:minmax(0,1fr)}}
.card{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--panel);text-decoration:none;color:inherit}
a.card{transition:border-color .2s,transform .2s}
a.card:hover{border-color:var(--cyan);transform:translateY(-2px)}
.card .tag{font:600 14px var(--kr);color:var(--cyan)}
.card p{margin:0;color:var(--soft);font-size:14px;line-height:1.65}
.card .go{margin-top:auto;padding-top:8px;font:700 14px var(--kr);color:var(--white)}
.card .go::after{content:" →";color:var(--cyan)}
.card .meta{font-size:14px;color:var(--dim)}
.more{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;font:700 15px var(--kr);color:var(--cyan);text-decoration:none}
.more:hover{text-decoration:underline}
.info{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.info ul{margin:0;padding-left:20px;color:var(--soft);font-size:15px}
.info li{margin:4px 0}
.info a{color:var(--cyan);display:inline-flex;align-items:center;min-height:44px}
.foot{margin-top:52px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:8px 20px;flex-wrap:wrap;color:var(--dim);font-size:14px}
.foot a{color:var(--soft);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.foot a:hover{color:var(--cyan)}
.foot .copy{flex-basis:100%;font-size:14px;color:var(--dim)}
.foot .copy b{color:var(--soft)}
@media (prefers-reduced-motion:reduce){a.card{transition:none}a.card:hover{transform:none}}

/* 층위 배지: 바탕을 칠하지 않고 테두리 + 작은 점 + 글자(색만으로 구분하지 않는다) */
.badge{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:3px 11px;border:1px solid var(--line);border-radius:999px;font:500 14px/1.5 var(--kr);color:var(--soft)}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}
.d-c{background:var(--cyan)}.d-g{background:var(--gold)}.d-n{background:#8A90A8}
.wbdg{display:inline-flex;gap:6px;flex-wrap:wrap}
.wbdg span{padding:1px 8px;border:1px solid var(--line);border-radius:6px;font-size:14px;color:var(--soft)}
.rows{display:grid;gap:4px;font-size:14px;color:var(--soft);margin:0}
.rows div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px}
.rows dt{color:var(--dim)}
.rows dd{margin:0}
.num{font-variant-numeric:tabular-nums;color:var(--white);font-weight:700}
.card .acts{margin-top:auto;display:flex;flex-wrap:wrap;gap:4px 16px;padding-top:6px}
.card .acts a{min-height:44px;display:inline-flex;align-items:center;font:700 14px var(--kr);color:var(--cyan);text-decoration:none}
.card .acts a.alt{color:var(--soft)}
.card .acts a:hover{text-decoration:underline}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 16px;font-size:14px;color:var(--soft)}
.legend span{display:inline-flex;align-items:center;gap:6px}

/* 첫 화면: 왼쪽 가치 제안, 오른쪽 미리보기 카드 */
.hero2{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:32px;align-items:center}
@media (max-width:900px){.hero2{grid-template-columns:minmax(0,1fr);gap:22px}}
.facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:16px 0 0;padding:0;list-style:none;font-size:14px;color:var(--dim)}
.facts b{color:var(--white);font-weight:700}
.live{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:16px}
.live-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;color:var(--dim)}
.step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.step.first{border-top:0}
.step .n{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:14px;font-weight:700;color:var(--cyan)}
.step h4{margin:0 0 4px;font-size:15px}
.step p{margin:0;font-size:14px;color:var(--soft)}
.quote{margin:0;padding:10px 12px;border-left:2px solid var(--cyan);background:rgba(60,240,255,.05);border-radius:0 8px 8px 0;font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.chip{padding:3px 10px;border-radius:8px;background:var(--panel2);font-size:14px;color:var(--soft)}
.wire{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:6px}
.wire span{height:34px;border-radius:6px;background:var(--panel2);border:1px solid var(--line)}
.wire span.hi{border-color:var(--cyan)}
.wire span.wide{grid-column:1/-1;height:44px}
.live-f{margin:10px 0 0;font-size:14px;color:var(--dim)}

/* 3단계 흐름·컨설팅 띠 */
.flow3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
@media (max-width:760px){.flow3{grid-template-columns:minmax(0,1fr)}}
.fl{padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.fl small{display:block;font-size:14px;color:var(--cyan);font-weight:700}
.fl h3{margin:2px 0 4px;font-size:17px}
.fl p{margin:0;font-size:14px;color:var(--soft)}
.band{padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:var(--panel);display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between}
.band h3{margin:0 0 4px}
.band p{margin:0;font-size:14px;color:var(--soft);max-width:60ch}
.ladder{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}
.ladder li{display:inline-flex;align-items:center;padding:3px 11px;border:1px solid var(--line);border-radius:999px;font-size:14px;color:var(--soft)}
.ladder li.on{border-color:var(--cyan);color:var(--white)}

/* 상담 신청 */
.form{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.field{margin:0 0 18px;padding:0;border:0}
.field legend,.field>label{display:block;padding:0;margin:0 0 6px;font:700 15px var(--kr);color:var(--white)}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:12px;font-size:15px;color:var(--soft);cursor:pointer}
.opts input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.opts label:has(input:checked){border-color:var(--cyan);color:var(--white);background:rgba(60,240,255,.08)}
.opts label:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.attach{padding:12px 14px;border:1px dashed var(--line);border-radius:12px;font-size:14px;color:var(--soft)}
.attach ul{margin:6px 0 0;padding-left:20px}
.attach b{color:var(--white)}
textarea.in,input.in{width:100%;font:400 15px/1.6 var(--kr);color:var(--white);background:rgba(3,3,6,.6);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:44px}
textarea.in{min-height:110px;resize:vertical}
.hint{font-size:14px;color:var(--dim);margin:6px 0 0}
.err{margin:10px 0 0;font-size:14px;color:#FF9AA2;min-height:1.2em}
.ok{margin:10px 0 0;font-size:14px;color:var(--cyan)}
.steps-ol{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.steps-ol li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;color:var(--soft)}
.steps-ol b{color:var(--cyan);font-variant-numeric:tabular-nums}
[hidden]{display:none!important}
.info a.cta{color:var(--void)}
.info a.cta:hover{color:var(--void)}
.flow3.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.flow3.two{grid-template-columns:minmax(0,1fr)}}
