/* ===== 공통 컴포넌트/레이아웃 CSS (styles.css) — index(랜딩) 및 향후 solution/contact 공유 =====
   색 토큰은 theme.css 참조. */
*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; background:linear-gradient(180deg,var(--bg-base),var(--bg-section));
    color:var(--text); font-family:"Pretendard","Malgun Gothic",system-ui,-apple-system,sans-serif;
    line-height:1.55; min-height:100vh;
  }
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:820px; margin:0 auto; padding:0 18px;}

  /* ===== 상단 내비 ===== */
  nav.bar{position:sticky; top:0; z-index:40; backdrop-filter:blur(10px);
    background:rgba(255,255,255,.82); border-bottom:1px solid var(--line);}
  .bar-in{max-width:820px; margin:0 auto; padding:12px 18px; display:flex; align-items:center; gap:12px;}
  .brand-logo{display:flex; align-items:center; gap:9px; font-weight:800; font-size:15px; color:var(--text-primary);}
  .brand-logo .mark{width:30px; height:30px; border-radius:8px; display:grid; place-items:center;
    background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:var(--on-accent); font-size:12px; font-weight:800;}
  .brand-logo small{display:block; font-size:10.5px; font-weight:500; color:var(--muted); letter-spacing:.02em;}
  .bar-links{margin-left:auto; display:flex; gap:20px; align-items:center;}
  .bar-links a{font-size:13.5px; color:var(--muted); font-weight:500;}
  .bar-links a:hover{color:var(--text);}
  .bar-cta{background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:var(--on-accent) !important;
    font-weight:700; padding:8px 14px; border-radius:9px; font-size:13px;}
  @media(max-width:640px){ .bar-links a:not(.bar-cta){display:none;} }

  /* ===== 히어로 (상단 소개) ===== */
  .hero{padding:64px 0 48px;}
  .kicker{display:inline-block; font-size:12px; letter-spacing:.08em; color:var(--brand);
    background:rgba(56,189,248,.12); border:1px solid rgba(56,189,248,.3);
    padding:4px 10px; border-radius:999px; margin-bottom:16px;}
  .hero h1{font-size:clamp(26px,5.5vw,40px); line-height:1.18; letter-spacing:-.02em; margin:0 0 16px;}
  .hero h1 .lo{color:var(--brand);}
  .hero .value{font-size:clamp(15px,2.4vw,18px); color:var(--text-primary); margin:0 0 22px; max-width:640px;}
  .hero .value b{color:var(--text-primary); font-weight:600;}
  .identity{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:26px;}
  .tagpill{font-size:12px; padding:5px 11px; border-radius:999px; border:1px solid var(--line);
    background:var(--panel); color:var(--text-primary);}
  .tagpill.core{border-color:rgba(167,139,250,.4); background:rgba(167,139,250,.12); color:var(--violet); font-weight:600;}
  .tagpill.demo{border-color:rgba(52,211,153,.4); background:rgba(52,211,153,.1); color:var(--accent-2); font-weight:600;}
  .hero-actions{display:flex; flex-wrap:wrap; gap:12px;}
  .btn-hero{display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer;
    font-weight:700; font-size:15px; border-radius:11px; padding:14px 24px; border:1px solid transparent;
    transition:transform .05s,filter .15s;}
  .btn-hero:active{transform:translateY(1px);}
  .btn-hero.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:var(--on-accent);}
  .btn-hero.primary:hover{filter:brightness(1.06);}
  .btn-hero.ghost{background:transparent; color:var(--text-primary); border-color:var(--line);}
  .btn-hero.ghost:hover{border-color:var(--brand); color:var(--brand);}

  /* ===== 섹션 공통 ===== */
  section.block-sec{padding:52px 0;}
  .sec-head{margin-bottom:22px;}
  .sec-eyebrow{font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
    color:var(--brand); display:block; margin-bottom:8px;}
  .sec-head h2{font-size:clamp(20px,3.6vw,26px); margin:0 0 8px; letter-spacing:-.01em;}
  .sec-head p{color:var(--muted); font-size:14px; margin:0; max-width:620px;}

  /* 중단 정보 카드 */
  .info-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .info-card{background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
    padding:22px; border-left:3px solid var(--brand); box-shadow:var(--shadow-card);}
  .info-card.violet{border-left-color:var(--violet);}
  .info-card.ok{border-left-color:var(--ok);}
  .info-card .ic{font-size:22px; margin-bottom:10px;}
  .info-card h3{font-size:15px; margin:0 0 6px; color:var(--text-primary);}
  .info-card p{font-size:13.5px; color:var(--text-primary); margin:0;}
  .info-card p b{color:var(--brand); font-weight:600;}
  .grow-line{margin-top:16px; font-size:13.5px; color:var(--text-primary); background:var(--panel);
    border:1px solid var(--line); border-radius:12px; padding:14px 16px; display:flex; gap:10px; align-items:flex-start;}
  .grow-line .g{color:var(--ok); font-weight:700; flex:none;}
  @media(max-width:560px){ .info-grid{grid-template-columns:1fr;} }

  /* ===== 하단 상담 (consult · Day4 localStorage 그대로) ===== */
  .card{background:var(--panel); border:1px solid var(--line);
    border-radius:var(--radius); padding:24px; margin-bottom:24px; box-shadow:var(--shadow-card);}
  .card h2{font-size:16px; margin:0 0 16px; display:flex; align-items:center; gap:8px;}
  .card h2 .num{width:22px; height:22px; font-size:12px; display:grid; place-items:center;
    background:var(--brand); color:var(--on-accent); border-radius:6px; font-weight:700;}

  label{display:block; font-size:13px; color:var(--text-primary); margin:0 0 6px; font-weight:600;}
  .req{color:var(--danger); margin-left:2px;}
  .field{margin-bottom:14px;}
  input,textarea,select{
    width:100%; background:var(--panel-2); border:1px solid var(--line);
    color:var(--text); border-radius:10px; padding:11px 12px; font-size:14px;
    font-family:inherit; resize:vertical; transition:border-color .15s,box-shadow .15s;
  }
  input:focus,textarea:focus,select:focus{outline:none; border-color:var(--brand);
    box-shadow:0 0 0 3px rgba(56,189,248,.18);}
  input.invalid,textarea.invalid,select.invalid{border-color:var(--danger);
    box-shadow:0 0 0 3px rgba(248,113,113,.15);}
  .err{color:var(--danger); font-size:12px; margin-top:5px; min-height:1px; display:none;}
  .err.show{display:block;}
  .row{display:flex; gap:12px;}
  .row .field{flex:1;}

  .btn{appearance:none; border:none; cursor:pointer; font-family:inherit; font-weight:700;
    border-radius:10px; padding:12px 18px; font-size:14px; transition:transform .05s,filter .15s;}
  .btn:active{transform:translateY(1px);}
  .btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:var(--on-accent); width:100%;}
  .btn-primary:hover{filter:brightness(1.06);}
  .btn-primary:disabled{opacity:.6; cursor:not-allowed; filter:none;}

  .list-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;}
  .list-head h2{margin:0;}
  .count{font-size:12px; color:var(--muted);}
  .btn-clear{background:transparent; border:1px solid var(--line); color:var(--muted);
    padding:6px 12px; font-size:12px; border-radius:8px; font-weight:600;}
  .btn-clear:hover:not(:disabled){border-color:var(--danger); color:var(--danger);}
  .btn-clear:disabled{opacity:.4; cursor:not-allowed;}

  .empty{text-align:center; padding:38px 16px; color:var(--muted);
    border:1.5px dashed var(--line); border-radius:12px;}
  .empty .ico{font-size:34px; margin-bottom:8px;}
  .empty p{margin:2px 0; font-size:13.5px;}
  .empty .hint{font-size:12px; opacity:.8;}

  ul.items{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
  li.item{background:var(--panel-2); border:1px solid var(--line); border-radius:12px;
    padding:14px 14px 14px 16px; animation:pop .18s ease;}
  @keyframes pop{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;}}
  .item-top{display:flex; align-items:flex-start; justify-content:space-between; gap:10px;}
  .item-title{font-size:15px; font-weight:700; color:var(--text-primary);}
  .item-time{font-size:11px; color:var(--muted); margin-top:2px;}
  .tag{display:inline-block; font-size:11px; font-weight:600; color:var(--on-accent); background:var(--brand);
    padding:2px 8px; border-radius:999px; margin-left:6px; vertical-align:middle;}
  .item-body{margin-top:9px; display:flex; flex-direction:column; gap:6px;}
  .kv{font-size:13px; color:var(--text-primary);}
  .kv .k{display:inline-block; min-width:60px; color:var(--brand); font-weight:600;}
  .item-del{background:transparent; border:1px solid var(--line); color:var(--muted);
    cursor:pointer; border-radius:8px; padding:5px 9px; font-size:12px; white-space:nowrap;}
  .item-del:hover{border-color:var(--danger); color:var(--danger);}

  /* 상태 관리 (Update) */
  .status-row{display:flex; align-items:center; gap:8px; margin-top:4px;}
  .status-row .k{min-width:60px; color:var(--brand); font-weight:600; font-size:13px;}
  select.status-sel{width:auto; display:inline-block; padding:6px 10px; font-size:12px;}
  .st-badge{display:inline-block; font-size:11px; font-weight:700; padding:2px 9px; border-radius:999px;
    border:1px solid transparent; vertical-align:middle; margin-left:6px;}
  .st-new{background:rgba(56,189,248,.16); color:var(--accent); border-color:rgba(56,189,248,.4);}
  .st-review{background:rgba(251,191,36,.15); color:var(--warning); border-color:rgba(251,191,36,.4);}
  .st-done{background:rgba(52,211,153,.15); color:var(--success); border-color:rgba(52,211,153,.4);}
  .st-hold{background:rgba(148,163,184,.15); color:var(--text-primary); border-color:rgba(148,163,184,.35);}

  #toast{position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(20px);
    background:var(--panel-2); border:1px solid var(--line); color:var(--text);
    padding:12px 18px; border-radius:12px; font-size:13.5px; box-shadow:0 8px 30px rgba(0,0,0,.4);
    opacity:0; pointer-events:none; transition:opacity .2s,transform .2s; z-index:50; max-width:88vw;}
  #toast.show{opacity:1; transform:translateX(-50%) translateY(0);}
  #toast.ok{border-color:rgba(52,211,153,.5);}
  #toast.warn{border-color:rgba(251,191,36,.5);}

  .note{font-size:11.5px; color:var(--muted); margin-top:18px; text-align:center; line-height:1.7;}
  .note b{color:var(--warn);}

  /* ===== 푸터 (연락/문의) ===== */
  footer{border-top:1px solid var(--line); margin-top:30px; padding:34px 0 60px; color:var(--muted);}
  .foot{display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; align-items:flex-start;}
  .foot .brand-logo{color:var(--text-primary);}
  .foot-contact{font-size:13px; color:var(--text-primary); line-height:1.9;}
  .foot-contact a{color:var(--brand);}
  .foot-copy{width:100%; border-top:1px solid var(--line); margin-top:22px; padding-top:18px;
    font-size:11.5px; color:var(--muted);}

  /* 3층 구조 레이어 뱃지 */
  .layer-badge{display:inline-block; font-size:11px; font-weight:700; letter-spacing:.03em;
    padding:3px 9px; border-radius:999px; margin-bottom:10px;
    background:rgba(56,189,248,.14); color:var(--accent); border:1px solid rgba(56,189,248,.35);}
  .info-card.violet .layer-badge{background:rgba(167,139,250,.14); color:var(--violet); border-color:rgba(167,139,250,.4);}
  .info-card.ok .layer-badge{background:rgba(52,211,153,.14); color:var(--accent-2); border-color:rgba(52,211,153,.4);}

  /* 핵심 흐름 (5단계) */
  .flow{display:flex; flex-direction:column; gap:0;}
  .flow-step{display:flex; gap:13px; align-items:flex-start; background:var(--panel);
    border:1px solid var(--line); border-radius:12px; padding:14px 16px;}
  .flow-step .n{flex:none; width:26px; height:26px; border-radius:50%; display:grid; place-items:center;
    background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:var(--on-accent); font-weight:800; font-size:13px;}
  .flow-step h4{margin:0 0 3px; font-size:14.5px; color:var(--text-primary);}
  .flow-step h4 .en{font-size:11.5px; color:var(--muted); font-weight:500; margin-left:6px;}
  .flow-step p{margin:0; font-size:12.5px; color:var(--text-primary);}
  .flow-conn{width:2px; height:14px; background:var(--line); margin-left:29px;}
  .flow-star{margin-top:14px; font-size:13px; color:var(--text-primary); background:rgba(56,189,248,.08);
    border:1px solid rgba(56,189,248,.3); border-radius:12px; padding:13px 16px;}
  .flow-star b{color:var(--brand);}
  .learn-line{margin-top:14px; background:var(--panel); border:1px solid var(--line);
    border-radius:12px; padding:14px 16px; font-size:13px; color:var(--text-primary);}
  .learn-line .lh{color:var(--text-primary); font-weight:700; display:block; margin-bottom:6px;}
  .learn-line .chips{display:flex; flex-wrap:wrap; gap:6px; margin:8px 0;}
  .learn-line .chips span{font-size:11.5px; padding:3px 9px; border-radius:999px;
    background:rgba(167,139,250,.12); color:var(--violet); border:1px solid rgba(167,139,250,.3);}
  .learn-line .warn{color:var(--warn); font-size:11.5px;}

  /* AS-IS / TO-BE 흐름도 */
  .fc-wrap{display:flex; flex-direction:column; gap:20px;}
  .fc-block{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:18px 16px;}
  .fc-block.as{border-left:3px solid var(--text-secondary);}
  .fc-block.to{border-left:3px solid var(--brand);}
  .fc-head{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:14px;}
  .fc-head .t{font-size:15px; font-weight:800; letter-spacing:-.01em;}
  .fc-block.as .t{color:var(--text-primary);} .fc-block.as .t b{color:var(--text-secondary); font-weight:800;}
  .fc-block.to .t{color:var(--text-primary);} .fc-block.to .t b{color:var(--brand); font-weight:800;}
  .fc-time{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700;
    border-radius:999px; padding:6px 13px; white-space:nowrap;}
  .fc-time.as{background:rgba(100,116,139,.14); color:var(--text-primary); border:1px solid rgba(100,116,139,.4);}
  .fc-time.to{background:rgba(52,211,153,.14); color:var(--accent-2); border:1px solid rgba(52,211,153,.45);}
  .fc-track{display:flex; align-items:flex-start; gap:4px; overflow-x:auto; padding:2px 0 8px;}
  .fc-node{flex:0 0 auto; width:88px; text-align:center;}
  .fc-node .ic{width:46px; height:46px; margin:0 auto 7px; border-radius:12px; display:grid; place-items:center;
    font-size:22px; background:var(--panel-2); border:1px solid var(--line);}
  .fc-node .lb{font-size:11.5px; color:var(--text-primary); line-height:1.35;}
  .fc-node.ai .ic{background:rgba(56,189,248,.14); border-color:var(--brand); box-shadow:0 0 0 3px rgba(56,189,248,.15);}
  .fc-node.ai .lb{color:var(--brand); font-weight:700;}
  .fc-arrow{flex:0 0 auto; align-self:flex-start; color:var(--muted); font-size:15px; padding-top:15px;}
  .fc-aiband{display:flex; align-items:center; justify-content:center; gap:8px; width:100%;
    margin-top:14px; font-size:13.5px; font-weight:800; color:var(--on-accent);
    background:linear-gradient(135deg,var(--brand),var(--brand-2));
    border-radius:11px; padding:11px 14px; box-shadow:0 6px 18px -8px rgba(56,189,248,.6);}
  .fc-aiband .z{background:rgba(4,18,31,.18); border-radius:6px; padding:2px 8px; font-size:12px;}
  /* AI 노드 강조 */
  .fc-track{padding-top:14px;}
  .fc-node.ai{position:relative;}
  .fc-node.ai .ic{background:rgba(56,189,248,.20); border-color:var(--brand); border-width:2px;
    box-shadow:0 0 0 4px rgba(56,189,248,.18); animation:aiPulse 1.8s ease-in-out infinite;}
  .fc-node.ai .auto-tag{position:absolute; top:-9px; left:50%; transform:translateX(-50%);
    font-size:9px; font-weight:800; letter-spacing:.02em; color:var(--on-accent); background:var(--brand);
    padding:2px 7px; border-radius:999px; white-space:nowrap; box-shadow:0 2px 6px rgba(0,0,0,.3);}
  @keyframes aiPulse{0%,100%{box-shadow:0 0 0 4px rgba(56,189,248,.18);}
    50%{box-shadow:0 0 0 7px rgba(56,189,248,.30);}}
  .fc-save{margin-top:14px; text-align:center; background:rgba(52,211,153,.08);
    border:1px solid rgba(52,211,153,.3); border-radius:12px; padding:14px 16px;}
  .fc-save .big{font-size:22px; font-weight:800; color:var(--accent-2);}
  .fc-save .cap{font-size:12.5px; color:var(--text-primary); margin-top:3px;}
  .fc-foot{margin-top:12px; font-size:11px; color:var(--muted); line-height:1.65;}
  .fc-foot b{color:var(--warn);}

  /* GEO 소개 단락 (AI 검색 인용용) */
  .geo-intro{background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--brand);
    border-radius:12px; padding:16px 18px; margin-bottom:20px; font-size:13.5px; color:var(--text-primary); line-height:1.75;}
  .geo-intro b{color:var(--text-primary); font-weight:600;}
  .geo-intro strong{color:var(--brand); font-weight:600;}

  @media (max-width:420px){
    .row{flex-direction:column; gap:0;}
    .hero h1{font-size:24px;}
  }


/* =========================================================
   STEP3 추가: limik 워드마크 · 홈 재구성 · solution 차별점
   ========================================================= */
.brand-logo .wm{display:block; font-size:19px; font-weight:800; letter-spacing:-.01em; line-height:1.15; color:var(--text-primary);}

/* 홈 히어로 */
.home-hero{padding:104px 0 48px; text-align:center;}
.home-hero .kicker{margin-bottom:20px;}
.home-hero h1{font-size:clamp(32px,6.2vw,58px); line-height:1.1; letter-spacing:-.03em; margin:0 0 22px; color:var(--text-primary);}
.home-hero h1 .lo{color:var(--accent);}
.home-hero .lead{font-size:clamp(16px,2.3vw,20px); color:var(--text-secondary); line-height:1.6; max-width:660px; margin:0 auto 34px;}
.home-cta{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.home-cta .btn-hero{font-size:15.5px; padding:15px 28px;}


/* 핵심 3축 카드 */
.axis-section{padding:64px 0;}
.axis-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:34px;}
.axis-card{background:var(--bg-card); border:1px solid var(--border); border-radius:18px;
  padding:34px 28px; box-shadow:var(--shadow-card); text-align:left; text-decoration:none;
  transition:transform .13s ease, box-shadow .13s ease; display:flex; flex-direction:column;}
.axis-card:hover{transform:translateY(-4px); box-shadow:0 14px 40px -14px rgba(16,24,40,.25);}
.axis-card .ic{font-size:32px; margin-bottom:16px;}
.axis-card h3{font-size:18.5px; margin:0 0 9px; color:var(--text-primary); letter-spacing:-.01em;}
.axis-card p{font-size:14px; color:var(--text-secondary); margin:0; line-height:1.6; flex:1;}
.axis-card p b{color:var(--text-primary); font-weight:600;}
.axis-card .go{margin-top:18px; font-size:13px; font-weight:700; color:var(--accent);}

/* 최종 CTA 밴드 */
.cta-band{margin:60px 0 130px; text-align:center; border-radius:26px;
  background:linear-gradient(135deg,var(--accent),var(--accent-strong));
  padding:70px 26px; color:var(--on-accent); box-shadow:0 20px 50px -20px rgba(37,99,235,.5);}
.cta-band h2{font-size:clamp(24px,4vw,36px); margin:0 0 12px; color:var(--on-accent); letter-spacing:-.02em;}
.cta-band p{margin:0 0 26px; font-size:16px; opacity:.92;}
.cta-band .btn-band{display:inline-flex; align-items:center; gap:8px; cursor:pointer; text-decoration:none;
  font-weight:800; font-size:16px; border-radius:12px; padding:16px 32px;
  background:#fff; color:var(--accent); border:none; transition:transform .05s, filter .15s;}
.cta-band .btn-band:hover{filter:brightness(.97); transform:translateY(-1px);}

/* solution 차별점 (DEFER/D-lite) */
.diff-section{padding:60px 0;}
.diff-lead{font-size:clamp(18px,2.6vw,24px); font-weight:700; color:var(--text-primary); letter-spacing:-.01em; margin:0 0 18px;}
.diff-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.diff-card{background:var(--bg-card); border:1px solid var(--border); border-left:3px solid var(--accent);
  border-radius:14px; padding:22px; box-shadow:var(--shadow-card);}
.diff-card.warn{border-left-color:var(--warning);}
.diff-card.ok{border-left-color:var(--accent-2);}
.diff-card h3{font-size:15.5px; margin:0 0 8px; color:var(--text-primary);}
.diff-card p{font-size:13.5px; color:var(--text-secondary); margin:0; line-height:1.6;}
.diff-card p b{color:var(--text-primary); font-weight:600;}

@media(max-width:760px){
  .home-hero{padding:80px 0 36px;}
  .axis-section{padding:64px 0 30px;}
  .axis-grid{grid-template-columns:1fr;}
  .cta-band{margin:44px 0 80px; padding:52px 20px;}
  .diff-grid{grid-template-columns:1fr;}
}


/* =========================================================
   개선: sec-head 중앙정렬 · 수상성과 타임라인 · 히어로 목업(B)
   ========================================================= */
.sec-head.center{text-align:center;}
.sec-head.center p{margin-left:auto; margin-right:auto;}

/* 수상 및 성과 (타임라인: 연도 고정폭 + 내용 좌측정렬) */
.awards-section{padding:64px 0;}
.timeline{list-style:none; margin:26px 0 0; padding:0; max-width:520px;}
.timeline li{display:flex; gap:18px; align-items:baseline; padding:15px 2px; border-bottom:1px solid var(--border);}
.timeline li:last-child{border-bottom:none;}
.tl-year{flex:0 0 88px; font-weight:800; font-size:13.5px; color:var(--accent); font-variant-numeric:tabular-nums; white-space:nowrap;}
.tl-body{flex:1 1 auto; font-size:14.5px; color:var(--text-primary); line-height:1.5;}

/* 히어로 예시 목업 (B안: CSS/HTML, /app 링크) */
.hero-shot{display:block; max-width:680px; margin:40px auto 0; text-align:left; text-decoration:none;
  background:var(--bg-card); border:1px solid var(--border); border-radius:16px; overflow:hidden;
  box-shadow:0 18px 50px -20px rgba(16,24,40,.28); transition:transform .14s ease, box-shadow .14s ease;}
.hero-shot:hover{transform:translateY(-4px); box-shadow:0 26px 62px -22px rgba(16,24,40,.34);}
.shot-top{display:flex; align-items:center; gap:10px; padding:11px 16px; border-bottom:1px solid var(--border); background:var(--bg-section);}
.shot-dots{display:inline-flex; gap:5px;}
.shot-dots i{width:9px; height:9px; border-radius:50%; background:var(--border);}
.shot-title{font-size:12.5px; font-weight:700; color:var(--text-secondary);}
.shot-go{margin-left:auto; font-size:12px; font-weight:800; color:var(--accent);}
.shot-body{padding:18px;}
.shot-h{font-size:11.5px; font-weight:800; color:var(--text-secondary); text-transform:uppercase; letter-spacing:.04em; margin-bottom:10px;}
.shot-h em{font-style:normal; font-weight:600; color:var(--text-muted); text-transform:none; letter-spacing:0;}
.shot-row{display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px dashed var(--border);}
.shot-row .rk{flex:0 0 84px; font-size:13px; color:var(--text-secondary);}
.shot-row b{flex:1 1 auto; font-size:14px; font-weight:700; color:var(--text-primary);}
.shot-row .mtag{font-style:normal; font-size:10.5px; font-weight:700; padding:2px 8px; border-radius:6px; white-space:nowrap;}
.mtag.user{color:var(--accent); background:rgba(37,99,235,.10);}
.mtag.rec{color:var(--violet); background:rgba(124,58,237,.10);}
.mtag.der{color:var(--accent-2); background:rgba(14,159,110,.12);}
.mtag.asm{color:var(--warning); background:rgba(217,119,6,.12);}
.shot-note{margin-top:12px; font-size:12px; color:var(--warning); line-height:1.5;
  background:rgba(217,119,6,.08); border:1px solid rgba(217,119,6,.25); border-radius:9px; padding:9px 12px;}

@media(max-width:520px){
  .timeline li{gap:12px;}
  .tl-year{flex-basis:74px; font-size:12.5px;}
  .hero-shot{margin-top:32px;}
  .shot-row .rk{flex-basis:70px;}
}

/* 히어로 목업 — 2섹션(입력/판단) 구분 헤더 + 마스킹 값 */
.shot-seg{margin:0 0 8px; font-size:11px; font-weight:800; letter-spacing:.04em; color:var(--text-secondary);
  padding-bottom:7px; border-bottom:1px solid var(--border);}
/* 2컬럼: 입력 조건(좌) · AI 판단 결과(우) — 한눈에 대비 */
.shot-cols{display:grid; grid-template-columns:1fr 1fr; gap:14px 22px; margin-top:4px;}
.shot-col{min-width:0;}
.shot-col .shot-row:last-child{border-bottom:none;}
@media(max-width:560px){ .shot-cols{grid-template-columns:1fr; gap:2px;} .shot-col+.shot-col{margin-top:10px;} }
.shot-row b.mk{color:var(--text-muted); letter-spacing:.1em;}
.shot-row b.mk i{font-style:normal; font-size:11px; font-weight:600; letter-spacing:0; color:var(--text-muted); margin-left:2px;}

/* 히어로 서브카피 강조 */
.home-hero .lead b{color:var(--text-primary); font-weight:700;}
.home-hero .lead .n3{color:var(--accent); font-weight:800;}

/* 만든 사람 (수상·성과와 톤 통일) */
.maker-section{padding:56px 0 64px;}
.maker-card{max-width:560px; margin:26px auto 0; background:var(--bg-card); border:1px solid var(--border);
  border-radius:16px; padding:26px 28px; box-shadow:var(--shadow-card);}
.maker-intro{margin:0 0 16px; font-size:15px; color:var(--text-primary); line-height:1.65;}
.maker-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px;}
.maker-list li{position:relative; padding-left:20px; font-size:14px; color:var(--text-secondary); line-height:1.55;}
.maker-list li::before{content:""; position:absolute; left:3px; top:8px; width:6px; height:6px; border-radius:50%; background:var(--accent);}

/* 히어로 목업 — 설계 규칙 검증 상태(배지 아님, 초록 체크) */
.shot-verify{display:flex; align-items:center; gap:8px; padding:10px 0 2px; margin-top:2px;
  border-top:1px solid var(--border); font-size:13px; color:var(--text-secondary);}
.shot-verify b{margin-left:auto; color:var(--accent-2); font-weight:800;}
