/* ---------- 변호사 2인 ---------- */
.tf{margin-top:var(--tgap);display:grid;grid-template-columns:1fr 1fr;gap:28px;text-align:left}
.tf__card{border-radius:24px;background:var(--card);overflow:hidden;display:flex;flex-direction:column}
.tf__fig{position:relative;height:380px;overflow:hidden;background:radial-gradient(60% 75% at 50% 80%,rgba(43,69,120,.6),transparent 72%),#121212}
.tf__fig img{position:absolute;left:50%;top:6%;height:106%;width:auto;max-width:none;transform:translateX(-50%)}
.tf__fig--b img{top:6%;height:124%}
.tf__body{padding:34px 40px 40px;flex:1;display:flex;flex-direction:column}
/* 리본 휘장 (카드 오른쪽 위에 매달림 · 형사 = 버건디 / 교통 = 네이비, 베이지 테두리) */
.tf__badge{position:absolute;z-index:2;top:-2px;right:36px;width:82px;padding:20px 6px 30px;text-align:center;color:#fff;isolation:isolate;
  background:#e3cfa6;clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),50% 100%,0 calc(100% - 18px));filter:drop-shadow(0 6px 14px rgba(0,0,0,.5))}
.tf__badge::before{content:"";position:absolute;z-index:-1;inset:0 3px 3px;background:linear-gradient(180deg,var(--rb2),var(--rb));clip-path:polygon(0 0,100% 0,100% calc(100% - 17px),50% 100%,0 calc(100% - 17px))}
.tf__badge--crim{--rb:#5e0f12;--rb2:#7a1a1d}
.tf__badge--traf{--rb:#0f2140;--rb2:#1a3058}
.tf__badge small{display:block;font-family:var(--sans);font-size:9px;font-weight:600;line-height:1.4;letter-spacing:-.03em}
.tf__badge i{display:block;width:52px;height:1px;margin:8px auto 9px;background:rgba(227,207,166,.75)}
.tf__badge b{display:block;font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.25;letter-spacing:-.02em;color:#f6ecd8}
.tf__badge b span{display:block;margin-top:2px;font-size:17px}
.tf__name{margin-top:0;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;font-family:var(--serif);font-weight:200;font-size:36px;letter-spacing:-.03em;line-height:1.3}
.tf__role{margin-top:6px;line-height:1.5;font-size:16px;color:var(--tx-2)}
/* 간격 기준: 이름–직함 6 / 구분선 위아래 24 / 단계 사이 14 */
.tf__track{margin-top:24px;padding-block:24px;border-block:1px solid var(--line);display:grid;gap:14px;counter-reset:t}
.tf__track li{counter-increment:t;display:flex;align-items:center;gap:16px;font-size:16px;font-weight:600;line-height:1.5}
.tf__track li::before{content:counter(t,decimal-leading-zero);flex:0 0 26px;font-family:var(--en);font-weight:300;font-size:15px;color:var(--pt)}
.tf__goal{margin-top:24px;font-size:15.5px;line-height:1.7;color:var(--tx-2)}
.tf__close{margin-top:64px;font-family:var(--serif);font-weight:200;font-size:28px;line-height:1.55;letter-spacing:-.02em}
.mats{margin-top:80px}
.mats h3{font-family:var(--serif);font-weight:200;font-size:30px;letter-spacing:-.02em;line-height:1.55;text-wrap:balance}
.mats h3 b{font-weight:200;color:var(--pt)}
.flow{margin-top:44px}
.flow__tabs{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.flow__tabs::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(143,178,238,.5)}
.flow__tab{position:relative;height:56px;display:flex;align-items:center;justify-content:center;font-family:var(--en);font-weight:400;font-size:22px;letter-spacing:.02em;color:rgba(255,255,255,.4);transition:color .4s}
.flow__tab.on{color:var(--pt)}
.flow__tab::after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:0;height:2px;background:var(--pt);transform:scaleX(0);transform-origin:left center;transition:transform .3s}
.flow__tab.on::after{transform:scaleX(1);transition:transform var(--step,2.4s) linear}
.flow__cards{margin-top:28px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fcard{min-height:170px;border-radius:20px;background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 18px;text-align:center;opacity:.45;transition:opacity .5s,background-color .5s}
.fcard.on{opacity:1;background:var(--card-2)}
.fcard b{font-size:20px;font-weight:600;line-height:1.35;letter-spacing:-.02em;margin-bottom:10px}
.fcard span{font-size:15.5px;line-height:1.5;color:var(--tx-2)}
.mats__note{margin-top:28px;font-size:14.5px;color:var(--mute)}
.team{margin-top:96px}
.team__list{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.team__more{display:none}
.team__list.is-clip{max-height:var(--clip,9999px);overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 108px),rgba(0,0,0,.6) calc(100% - 70px),rgba(0,0,0,.22) calc(100% - 32px),transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 108px),rgba(0,0,0,.6) calc(100% - 70px),rgba(0,0,0,.22) calc(100% - 32px),transparent 100%)}
.team__list.is-opening{overflow:hidden;transition:max-height .7s cubic-bezier(.2,.8,.2,1)}
.team__morebtn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;font-size:15px;font-weight:600;color:var(--tx)}
.team__morebtn svg{width:18px;height:18px}
.lcard{position:relative;flex:0 0 calc((100% - 64px)/5);border-radius:20px;overflow:hidden;background:radial-gradient(90% 70% at 50% 25%,#333,#1a1a1a 80%)}
.lcard__ph{aspect-ratio:4/5;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.lcard__ph img{width:96%;height:auto;transform:translateY(4%)}
.lcard__cap{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 16px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.9));display:flex;align-items:baseline;gap:6px;text-align:left}
.lcard__cap b{font-size:19px}
.lcard__cap span{font-size:13.5px;color:var(--pt)}
