/* Njob Culture — page styles (design reference: design_handoff_njob_website) */
/* ---- 인덱스 ---- */
  .jump{margin-top:34px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}
  .jump a{display:flex; flex-direction:column; gap:6px; padding:22px 24px; border-radius:18px;
    background:var(--surface); border:1px solid rgba(30,29,28,.06); transition:transform .18s var(--ease), border-color .18s;}
  .jump a:hover{transform:translateY(-2px); border-color:var(--line-2);}
  .jump .no{font-size:11.5px; font-weight:800; color:var(--amber-deep);}
  .jump .nm{font-size:21px; font-weight:800; letter-spacing:-0.035em;}
  .jump .ds{font-size:13.5px; color:var(--ink-mute); line-height:1.55; word-break:keep-all;}

  /* ---- 일하는 방식 ---- */
  .benefits{background:var(--bg-2);}
  .ben-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
  .ben{background:var(--surface); border-radius:26px; padding:36px 34px 38px;
    border:1px solid rgba(30,29,28,.05); display:flex; flex-direction:column; min-height:330px;}
  .ben .top{display:flex; align-items:flex-start; justify-content:space-between; gap:20px;}
  .ben .num{font-size:12.5px; font-weight:700; color:var(--ink-mute);}
  .ben .ico{width:62px; height:62px; border-radius:18px; display:grid; place-items:center;
    font-size:26px; font-weight:900; flex:0 0 auto;}
  .ben h3{margin-top:26px; font-size:27px; font-weight:800; letter-spacing:-0.035em; line-height:1.2;}
  .ben p{margin-top:12px; font-size:15.5px; line-height:1.72; color:var(--ink-2); word-break:keep-all;}
  .ben .meta{margin-top:auto; padding-top:20px; border-top:1px dashed var(--line);
    font-size:13.5px; color:var(--ink-mute); font-weight:600; display:flex; flex-wrap:wrap; gap:8px 18px;}
  .ben .meta b{color:var(--ink); font-weight:800;}
  .ben:nth-child(1) .ico{background:var(--amber-wash); color:var(--amber-deep);}
  .ben:nth-child(2) .ico{background:var(--teal-wash); color:var(--teal-deep);}
  .ben:nth-child(3) .ico{background:var(--tile); color:var(--ink);}
  .ben:nth-child(4) .ico{background:var(--amber-wash); color:var(--amber-deep);}

  /* ---- 제도 요약 ---- */
  .policy{margin-top:60px;}
  .policy table{width:100%; border-collapse:collapse; margin-top:22px;}
  .policy th{text-align:left; font-size:12.5px; font-weight:700; color:var(--ink-mute);
    padding:0 16px 12px 0; border-bottom:1px solid var(--ink);}
  .policy td{padding:18px 16px; border-bottom:1px solid var(--line); font-size:15px; vertical-align:top;
    word-break:keep-all;}
  .policy td:first-child{padding-left:0; font-weight:700; width:230px;}
  .policy td:nth-child(2){font-weight:700; width:230px;}
  .policy td:last-child{color:var(--ink-2); font-weight:500;}
  .policy th:first-child{padding-left:0;}

  /* ---- 팀 소개 ---- */
  .team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
  .team{background:var(--surface); border-radius:26px; overflow:hidden; border:1px solid rgba(30,29,28,.05);
    display:flex; flex-direction:column;}
  .team .band{padding:26px 28px; display:flex; align-items:center; justify-content:space-between;}
  .team.t1 .band{background:var(--amber-wash);}
  .team.t2 .band{background:var(--teal-wash);}
  .team.t3 .band{background:var(--tile);}
  .team .band .big{font-size:46px; font-weight:900; letter-spacing:-0.06em; line-height:1;}
  .team.t1 .band .big{color:var(--amber-deep);}
  .team.t2 .band .big{color:var(--teal-deep);}
  .team.t3 .band .big{color:var(--ink);}
  .team .band .who{font-size:12.5px; font-weight:700; color:var(--ink-2); text-align:right; line-height:1.5;}
  .team .b{padding:28px; display:flex; flex-direction:column; flex:1;}
  .team .kick{font-size:13px; font-weight:700; color:var(--amber-deep);}
  .team h3{margin-top:10px; font-size:27px; font-weight:800; letter-spacing:-0.04em; line-height:1.2; word-break:keep-all;}
  .team p.desc{margin-top:14px; font-size:14.5px; line-height:1.7; color:var(--ink-2); word-break:keep-all;}
  .team .tags{margin-top:auto; padding-top:22px; display:flex; flex-wrap:wrap; gap:7px;}
  .team .tags span{font-size:12.5px; font-weight:600; color:var(--ink-2); background:var(--bg-2); padding:7px 11px; border-radius:8px;}

  /* ---- 공간 ---- */
  .space{background:var(--bg-2);}
  .space-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:44px; align-items:center;}
  .space-grid img{border-radius:22px; width:100%; background:var(--surface); padding:16px;
    aspect-ratio:3/2; object-fit:cover;}
  .space-grid h2{margin-top:15px; font-size:44px; line-height:1.12; font-weight:800;
    letter-spacing:-0.042em; word-break:keep-all;}
  .space-grid p{margin-top:18px; font-size:16px; line-height:1.75; color:var(--ink-2); word-break:keep-all;}
  .space-grid dl{margin-top:24px;}
  .space-grid .kv{display:grid; grid-template-columns:96px 1fr; gap:16px; padding:13px 0;
    border-top:1px solid var(--line); font-size:14.5px;}
  .space-grid .kv:first-child{border-top:1px solid var(--ink);}
  .space-grid .kv dt{color:var(--ink-mute); font-weight:600;}
  .space-grid .kv dd{font-weight:700; word-break:keep-all;}

  @media (max-width:1180px){
    .ben-grid{grid-template-columns:1fr;}
    .team-grid{grid-template-columns:1fr;}
    .space-grid{grid-template-columns:1fr; gap:30px;}
  }
  @media (max-width:1024px){
    .jump{grid-template-columns:1fr;}
    .ben{min-height:0;}
    .policy td:first-child{width:auto;}
  }
  @media (max-width:760px){
    .ben{padding:26px 22px 28px;}
    .ben h3{font-size:23px;}
    .ben p{font-size:14.5px;}
    .team h3{font-size:23px;}
    .space-grid h2{font-size:30px;}
    .policy table,.policy thead,.policy tbody,.policy th,.policy td,.policy tr{display:block;}
    .policy thead{display:none;}
    .policy td{padding:6px 0; border:none;}
    .policy tr{padding:16px 0; border-bottom:1px solid var(--line);}
    .policy td:last-child{padding-bottom:16px;}
  }
